---
title: "Actions: J"
description: "How to set up each action of the 4 apps starting with J."
label: "J"
generated: "the tool catalog in services/core/src/tool-catalog"
---


Apps starting with J. Add any of these from **Integrations → n8n → Add tools → Browse apps**; see [Set up an action](/build/set-up-actions) for each way a key is sent, and the [catalog index](/reference/actions) for every app.

## Jenkins

- **n8n node:** [Jenkins](https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.jenkins/) (`n8n-nodes-base.jenkins`, version 1), 11 actions.
- **n8n performs it:** runs on the n8n credential *Jenkins API* ([how to set it up](https://docs.n8n.io/integrations/builtin/credentials/jenkins/)).
- **Veefore performs it:** 11 of 11 actions, with HTTP basic auth: username Username, password API token.
- **You enter:** Username, API token.
- **API address:** `https://{host}`.

**Jenkins in n8n**

| Action | Veefore calls | Fields to fill |
| --- | --- | --- |
| Get many builds | `GET /job/{job}/api/json?tree=builds[*]` | `job`, `host` |
| Cancel Quiet Down an instance | `POST /cancelQuietDown` | `host` |
| Quiet Down an instance | `POST /quietDown` | `host` |
| Restart an instance | `POST /restart` | `host` |
| Safely Restart an instance | `POST /safeRestart` | `host` |
| Safely Shutdown an instance | `POST /safeExit` | `host` |
| Shutdown an instance | `POST /exit` | `host` |
| Copy a job | `POST /createItem` | `job`, `newJob`, `host` |
| Create a job | `POST /createItem` | `newJob`, `xml`, `host` |
| Trigger a job | `POST /job/{job}/build` | `job`, `host` |
| Trigger a job with parameters | `POST /job/{job}/buildWithParameters` | `job`, `host` |

## Jina AI

- **n8n node:** [Jina AI](https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.jinaai/) (`n8n-nodes-base.jinaAi`, version 1), 3 actions.
- **n8n performs it:** runs on the n8n credential *Jina AI API* ([how to set it up](https://docs.n8n.io/integrations/builtin/credentials/jinaai/)).
- **Veefore performs it:** 3 of 3 actions, with a bearer token, sent as `Authorization: Bearer <token>`.
- **You enter:** Token.
- **API address:** `https://embeddings-dashboard-api.jina.ai`.
- **Get the key:** [jina.ai](https://jina.ai/api-dashboard/key-manager)

**Jina AI in n8n**

| Action | Veefore calls | Fields to fill |
| --- | --- | --- |
| Read URL content | `GET https://r.jina.ai/{url}` | `url` |
| Search web | `GET https://s.jina.ai/` | `searchQuery` |
| Perform deep research | `POST https://deepsearch.jina.ai/v1/chat/completions` | `researchQuery` |

## Jira Software

- **n8n node:** [Jira Software](https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.jira/) (`n8n-nodes-base.jira`, version 1), 20 actions.
- **n8n performs it:** runs on the n8n credential *Jira SW Cloud API* ([how to set it up](https://docs.n8n.io/integrations/builtin/credentials/jira/)).
- **Veefore performs it:** 20 of 20 actions, with HTTP basic auth: username Email, password API Token.
- **You enter:** Email, API Token.
- **API address:** `https://{domain}/rest`.
- **Get the key:** [developer.atlassian.com](https://developer.atlassian.com/console/myapps/)

**Jira Software in n8n**

| Action | Veefore calls | Fields to fill |
| --- | --- | --- |
| Get an issue changelog | `GET /api/2/issue/{issueKey}/changelog` | `issueKey`, `domain` |
| Create an issue | `POST /api/2/issue` | `project`, `issueType`, `summary`, `domain` |
| Delete an issue | `DELETE /api/2/issue/{issueKey}` | `issueKey`, `deleteSubtasks`, `domain` |
| Get an issue | `GET /api/2/issue/{issueKey}` | `issueKey`, `domain` |
| Get many issues | `POST /api/2/search` | `domain` |
| Create an email notification for an issue | `POST /api/2/issue/{issueKey}/notify` | `issueKey`, `domain` |
| Get the status of an issue | `GET /api/2/issue/{issueKey}/transitions` | `issueKey`, `domain` |
| Update an issue | `POST /api/2/issue/{issueKey}/transitions` | `issueKey`, `domain` |
| Add an attachment to an issue | `POST /api/{apiVersion}/issue/{issueKey}/attachments` | `issueKey`, `binaryPropertyName`, `domain`, `apiVersion` |
| Get an attachment from an issue | `GET /api/{apiVersion}/attachment/{attachmentId}` | `attachmentId`, `download`, `domain`, `apiVersion` |
| Get many issue attachments | `GET /api/2/issue/{issueKey}` | `issueKey`, `download`, `domain` |
| Remove an attachment from an issue | `DELETE /api/{apiVersion}/attachment/{attachmentId}` | `attachmentId`, `domain`, `apiVersion` |
| Add a comment | `POST /api/{apiVersion}/issue/{issueKey}/comment` | `issueKey`, `domain`, `apiVersion` |
| Get a comment | `GET /api/{apiVersion}/issue/{issueKey}/comment/{commentId}` | `issueKey`, `commentId`, `domain`, `apiVersion` |
| Get many comments | `GET /api/{apiVersion}/issue/{issueKey}/comment` | `issueKey`, `domain`, `apiVersion` |
| Remove a comment | `DELETE /api/{apiVersion}/issue/{issueKey}/comment/{commentId}` | `issueKey`, `commentId`, `domain`, `apiVersion` |
| Update a comment | `PUT /api/{apiVersion}/issue/{issueKey}/comment/{commentId}` | `issueKey`, `commentId`, `domain`, `apiVersion` |
| Create a user | `POST /api/{apiVersion}/user` | `username`, `emailAddress`, `displayName`, `domain`, `apiVersion` |
| Delete a user | `DELETE /api/{apiVersion}/user` | `domain`, `apiVersion` |
| Get a user | `GET /api/{apiVersion}/user` | `domain`, `apiVersion` |

## JWT

- **n8n node:** [JWT](https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.jwt/) (`n8n-nodes-base.jwt`, version 1), 3 actions.
- **n8n performs it:** runs on the n8n credential *JWT Auth* ([how to set it up](https://docs.n8n.io/integrations/builtin/credentials/jwt/)).
- **Veefore performs it:** not available. JWT is not a web API (a database, queue, file transfer or local step), so only n8n can perform it.
- **Get the key:** [auth0.com](https://auth0.com/docs/secure/application-credentials/generate-rsa-key-pair)

**JWT in n8n**

| Action | Veefore calls | Fields to fill |
| --- | --- | --- |
| Decode a JWT | n8n performs it | `token` |
| Sign a JWT | n8n performs it | — |
| Verify a JWT | n8n performs it | `token` |
