Jira
Jira is a proprietary issue tracking product developed by Atlassian that allows bug tracking and agile project management.
Categories: Project Management
Type: jira/v1
Connections
Version: 1
OAuth2 Authorization Code
Properties
| Name | Label | Type | Description | Required |
|---|---|---|---|---|
| clientId | Client Id | STRING | true | |
| clientSecret | Client Secret | STRING | true |
Connection Setup
Follow these steps to connect Jira Cloud to ByteChef using OAuth 2.0.
-
Open the Atlassian Developer Console: https://developer.atlassian.com/console/
-
Sign in with your Atlassian account (create one if needed).
-
Click Create and choose OAuth 2.0 integration.
-
Enter the app details (e.g., App name: "ByteChef Jira Integration") and accept Atlassian's developer terms, then click Create.
-
Click on Permissions.
-
Find Jira API and click Add and then click Configure.
-
Configure permissions (scopes):
- In the Permissions tab, add the following scopes required by ByteChef Jira component:
- manage:jira-webhook
- read:jira-work
- write:jira-work
- read:jira-user
- You can adjust scopes later if your workflows need more/less access.
- In the Permissions tab, add the following scopes required by ByteChef Jira component:
-
Configure a redirect (callback) URL:
- Go to the Authorization tab and add the Callback URL:
https://app.bytechef.io/callback(Cloud)http://127.0.0.1:5173/callback(Local dev)
- Go to the Authorization tab and add the Callback URL:
-
Retrieve credentials:
- Open the Settings page of your app and copy the Client ID and Client Secret.
Notes:
- Jira Cloud only: This connection uses Atlassian Cloud APIs. After consent, ByteChef automatically discovers the correct Jira site base URL.
Actions
Assign Issue
Name: assignIssue
Assigns an existing issue to a specific user.
Properties
| Name | Label | Type | Description | Required |
|---|---|---|---|---|
| project | Project ID | STRING | ID of the project where the issue is located. | false |
| issueId | Issue ID | STRING Depends Onproject | ID of the issue that will be assigned. | true |
| accountId | Account ID | STRING | ID of the account user who will be assigned the issue. | true |
Example JSON Structure
{
"label" : "Assign Issue",
"name" : "assignIssue",
"parameters" : {
"project" : "",
"issueId" : "",
"accountId" : ""
},
"type" : "jira/v1/assignIssue"
}Output
This action does not produce any output.
Find Project ID, Issue ID and Account ID
To find the Project ID, click here.
To find the Issue ID, click here.
To find the Account ID, click here.
Create Issue
Name: createIssue
Creates a new issue.
Properties
| Name | Label | Type | Description | Required |
|---|---|---|---|---|
| project | Project ID | STRING | ID of the project to create the issue in. | true |
| summary | Summary | STRING | A brief summary of the issue. | true |
| issuetype | Issue Type ID | STRING Depends Onproject | ID of the issue type. | true |
| parent | Parent Issue ID | STRING Depends Onproject | ID of the parent issue. | true |
| assignee | Assignee ID | STRING | ID of the user who will be assigned to the issue. | false |
| priority | Priority ID | STRING | ID of the priority of the issue. | false |
| description | Description | STRING | Description of the issue. | false |
Example JSON Structure
{
"label" : "Create Issue",
"name" : "createIssue",
"parameters" : {
"project" : "",
"summary" : "",
"issuetype" : "",
"parent" : "",
"assignee" : "",
"priority" : "",
"description" : ""
},
"type" : "jira/v1/createIssue"
}Output
Type: OBJECT
Properties
| Name | Type | Description |
|---|---|---|
| id | STRING | The ID of the created issue or subtask. |
| key | STRING | The key of the created issue or subtask. |
| self | STRING | The URL of the created issue or subtask. |
Output Example
{
"id" : "",
"key" : "",
"self" : ""
}Find Project ID, Issue Type ID, Parent Issue ID, Assignee ID and Priority ID
To find the Project ID, click here.
To find the Issue Type ID, click here.
To find the Parent Issue ID, click here.
To find the Assignee ID, click here.
To find the Priority ID, click here.
Create Issue Comment
Name: createIssueComment
Adds a comment to an issue.
Properties
| Name | Label | Type | Description | Required |
|---|---|---|---|---|
| project | Project ID | STRING | ID of the project where the issue is located. | false |
| issueId | Issue ID | STRING Depends Onproject | ID of the issue where the comment will be added. | true |
| comment | Comment | STRING | The text of the comment. | true |
Example JSON Structure
{
"label" : "Create Issue Comment",
"name" : "createIssueComment",
"parameters" : {
"project" : "",
"issueId" : "",
"comment" : ""
},
"type" : "jira/v1/createIssueComment"
}Output
Type: OBJECT
Properties
| Name | Type | Description |
|---|---|---|
| id | STRING | The ID of the comment. |
| self | STRING | The URL of the comment. |
| author | OBJECT Properties{STRING(accountId), STRING(accountType), BOOLEAN(active), {STRING(16x16), STRING(24x24), STRING(32x32), STRING(48x48)}(avatarUrls)} | |
| displayName | STRING | The display name of the user. |
| emailAddress | STRING | The email address of the user. |
| self | STRING | The URL of the user. |
| timeZone | STRING | The time zone specified in the user's profile. |
| body | OBJECT Properties{} | The comment text in Atlassian Document Format. |
| created | STRING | The date and time at which the comment was created. |
| jsdAuthorCanSeeRequest | BOOLEAN Optionstrue, false | Whether the comment was added from an email sent by a person who is not part of the issue. |
| jsdPublic | BOOLEAN Optionstrue, false | Whether the comment is visible in Jira Service Desk. |
| properties | ARRAY Items[{STRING(key), {}(value)}] | |
| renderedBody | STRING | The rendered version of the comment. |
| updateAuthor | OBJECT Properties{STRING(accountId), STRING(accountType), BOOLEAN(active), {STRING(16x16), STRING(24x24), STRING(32x32), STRING(48x48), STRING(displayName), STRING(emailAddress), STRING(self), STRING(timeZone)}(avatarUrls)} | |
| updated | STRING | The date and time at which the comment was updated last. |
| visibility | OBJECT Properties{STRING(identifier), STRING(type), STRING(value)} |
Output Example
{
"id" : "",
"self" : "",
"author" : {
"accountId" : "",
"accountType" : "",
"active" : false,
"avatarUrls" : {
"16x16" : "",
"24x24" : "",
"32x32" : "",
"48x48" : ""
}
},
"displayName" : "",
"emailAddress" : "",
"timeZone" : "",
"body" : { },
"created" : "",
"jsdAuthorCanSeeRequest" : false,
"jsdPublic" : false,
"properties" : [ {
"key" : "",
"value" : { }
} ],
"renderedBody" : "",
"updateAuthor" : {
"accountId" : "",
"accountType" : "",
"active" : false,
"avatarUrls" : {
"16x16" : "",
"24x24" : "",
"32x32" : "",
"48x48" : "",
"displayName" : "",
"emailAddress" : "",
"self" : "",
"timeZone" : ""
}
},
"updated" : "",
"visibility" : {
"identifier" : "",
"type" : "",
"value" : ""
}
}Find Project ID and Issue ID
To find the Project ID, click here.
To find the Issue ID, click here.
Edit Issue
Name: editIssue
Edits an issue.
Properties
| Name | Label | Type | Description | Required |
|---|---|---|---|---|
| project | Project ID | STRING | ID of the project where the issue is located. | false |
| issueId | Issue ID | STRING Depends Onproject | ID of the issue. | true |
| summary | Summary | STRING | The summary that will be edited. | false |
| description | Description | STRING | The description that will be edited. | false |
| addLabels | Add Labels | ARRAY Items[STRING] | List of labels that will be added to the issue. | false |
| removeLabels | Remove Labels | ARRAY Items[STRING] | List of labels that will be removed from the issue. | false |
Example JSON Structure
{
"label" : "Edit Issue",
"name" : "editIssue",
"parameters" : {
"project" : "",
"issueId" : "",
"summary" : "",
"description" : "",
"addLabels" : [ "" ],
"removeLabels" : [ "" ]
},
"type" : "jira/v1/editIssue"
}Output
This action does not produce any output.
Find Project ID and Issue ID
To find the Project ID, click here.
To find the Issue ID, click here.
Get Issue
Name: getIssue
Get issue details in selected project.
Properties
| Name | Label | Type | Description | Required |
|---|---|---|---|---|
| project | Project ID | STRING | ID of the project where the issue is located. | false |
| issueId | Issue ID | STRING Depends Onproject | true |
Example JSON Structure
{
"label" : "Get Issue",
"name" : "getIssue",
"parameters" : {
"project" : "",
"issueId" : ""
},
"type" : "jira/v1/getIssue"
}Output
Type: OBJECT
Properties
| Name | Type | Description |
|---|---|---|
| id | STRING | The ID of the issue. |
| key | STRING | The key of the issue. |
| self | STRING | The URL of the issue details. |
| fields | OBJECT Properties{{STRING(id), STRING(name)}(issuetype), {STRING(id), STRING(name)}(project), {STRING(id), STRING(name)}(priority), {STRING(accountId), STRING(displayName)}(assignee), STRING(summary)} |
Output Example
{
"id" : "",
"key" : "",
"self" : "",
"fields" : {
"issuetype" : {
"id" : "",
"name" : ""
},
"project" : {
"id" : "",
"name" : ""
},
"priority" : {
"id" : "",
"name" : ""
},
"assignee" : {
"accountId" : "",
"displayName" : ""
},
"summary" : ""
}
}Find Project ID and Issue ID
To find the Project ID, click here.
To find the Issue ID, click here.
List Issue Comments
Name: listIssueComments
Return all comments for an issue.
Properties
| Name | Label | Type | Description | Required |
|---|---|---|---|---|
| project | Project ID | STRING | ID of the project where the issue is located. | false |
| issueId | Issue ID | STRING Depends Onproject | ID of the issue. | true |
| orderBy | Order By | STRING Options+created, -created | Order the results by a field. | false |
| maxResults | Max Results | INTEGER | The maximum number of items to return per page. | false |
Example JSON Structure
{
"label" : "List Issue Comments",
"name" : "listIssueComments",
"parameters" : {
"project" : "",
"issueId" : "",
"orderBy" : "",
"maxResults" : 1
},
"type" : "jira/v1/listIssueComments"
}Output
Type: OBJECT
Properties
| Name | Type | Description |
|---|---|---|
| maxResults | INTEGER | The maximum number of items that could be returned. |
| startAt | INTEGER | The index of the first item returned. |
| total | INTEGER | The number of items returned. |
| comments | ARRAY Items[{STRING(id), STRING(self), {STRING(type), INTEGER(version), [{STRING(text)}](content)}(body), {STRING(accountId), STRING(accountType), BOOLEAN(active), STRING(emailAddress), STRING(displayName), STRING(self), STRING(timezone)}(author), STRING(created), STRING(updated)}] | List of comments on the issue |
Output Example
{
"maxResults" : 1,
"startAt" : 1,
"total" : 1,
"comments" : [ {
"id" : "",
"self" : "",
"body" : {
"type" : "",
"version" : 1,
"content" : [ {
"text" : ""
} ]
},
"author" : {
"accountId" : "",
"accountType" : "",
"active" : false,
"emailAddress" : "",
"displayName" : "",
"self" : "",
"timezone" : ""
},
"created" : "",
"updated" : ""
} ]
}Find Project ID and Issue ID
To find the Project ID, click here.
To find the Issue ID, click here.
Search Issues
Name: searchForIssuesUsingJql
Search for issues using JQL.
Properties
| Name | Label | Type | Description | Required |
|---|---|---|---|---|
| jql | JQL | STRING | The JQL that defines the search. If no JQL expression is provided, all issues are returned. | true |
Example JSON Structure
{
"label" : "Search Issues",
"name" : "searchForIssuesUsingJql",
"parameters" : {
"jql" : ""
},
"type" : "jira/v1/searchForIssuesUsingJql"
}Output
Type: ARRAY
Items Type: OBJECT
Properties
| Name | Type | Description |
|---|---|---|
| id | STRING | The ID of the issue. |
Output Example
[ {
"id" : ""
} ]Transition Issue
Name: transitionIssue
Move an issue to another status.
Properties
| Name | Label | Type | Description | Required |
|---|---|---|---|---|
| project | Project ID | STRING | ID of the project where the issue is located. | false |
| issueId | Issue ID | STRING Depends Onproject | ID of the issue to be assigned. | true |
| statusId | Status ID | STRING Depends OnissueId | ID of the status you want to put the issue in. | true |
Example JSON Structure
{
"label" : "Transition Issue",
"name" : "transitionIssue",
"parameters" : {
"project" : "",
"issueId" : "",
"statusId" : ""
},
"type" : "jira/v1/transitionIssue"
}Output
This action does not produce any output.
Find Project ID, Issue ID and Status ID
To find the Project ID, click here.
To find the Issue ID, click here.
To find the Status ID, click here.
Triggers
New Issue
Name: newIssue
Triggers when a new issue is created.
Type: DYNAMIC_WEBHOOK
Properties
| Name | Label | Type | Description | Required |
|---|---|---|---|---|
| project | Project ID | STRING | ID of the project where new issue is created. | true |
| issuetype | Issue Type ID | STRING Depends Onproject | ID of the issue type. | false |
Output
Type: OBJECT
Properties
| Name | Type | Description |
|---|---|---|
| id | STRING | The ID of the issue. |
| key | STRING | The key of the issue. |
| self | STRING | The URL of the issue details. |
| fields | OBJECT Properties{{STRING(id), STRING(name)}(issuetype), {STRING(id), STRING(name)}(project), {STRING(id), STRING(name)}(priority), {STRING(accountId), STRING(displayName)}(assignee), STRING(summary)} |
JSON Example
{
"label" : "New Issue",
"name" : "newIssue",
"parameters" : {
"project" : "",
"issuetype" : ""
},
"type" : "jira/v1/newIssue"
}Find Project ID and Issue Type ID
To find the Project ID, click here.
To find the Issue Type ID, click here.
Updated Issue
Name: updatedIssue
Triggers when an issue is updated.
Type: DYNAMIC_WEBHOOK
Properties
| Name | Label | Type | Description | Required |
|---|---|---|---|---|
| project | Project ID | STRING | ID of the project where issues is updated. | true |
| issuetype | Issue Type ID | STRING Depends Onproject | ID of the issue type. | false |
Output
Type: OBJECT
Properties
| Name | Type | Description |
|---|---|---|
| id | STRING | The ID of the issue. |
| key | STRING | The key of the issue. |
| self | STRING | The URL of the issue details. |
| fields | OBJECT Properties{{STRING(id), STRING(name)}(issuetype), {STRING(id), STRING(name)}(project), {STRING(id), STRING(name)}(priority), {STRING(accountId), STRING(displayName)}(assignee), STRING(summary)} |
JSON Example
{
"label" : "Updated Issue",
"name" : "updatedIssue",
"parameters" : {
"project" : "",
"issuetype" : ""
},
"type" : "jira/v1/updatedIssue"
}Find Project ID and Issue Type ID
To find the Project ID, click here.
To find the Issue Type ID, click here.
What to do if your action is not listed here?
If this component doesn't have the action you need, you can use Custom Action to create your own. Custom Actions empower you to define HTTP requests tailored to your specific requirements, allowing for greater flexibility in integrating with external services or APIs.
To create a Custom Action, simply specify the desired HTTP method, path, and any necessary parameters. This way, you can extend the functionality of your component beyond the predefined actions, ensuring that you can meet all your integration needs effectively.
Additional Instructions
How to find the Project ID
The Project ID is a unique numeric value that can be found via the API.
- Method 1: Via API
Use the GET /projects/search endpoint to retrieve a list of all projects and their numeric IDs.
How to find the Issue ID
The Issue ID is a unique numeric value that can be found via the API.
- Method 1: Via API
Use the GET /search/jql endpoint to retrieve a list of all issues and their numeric IDs.
How to find the Account ID
The Account ID is a unique numeric value that can be found via the API.
- Method 1: Via API
Use the GET /users/search endpoint to retrieve a list of all users and their numeric IDs.
How to find the Parent Issue ID
The Parent Issue ID is a unique numeric value that can be found via the API.
- Method 1: Via API
Use the GET /search/jql endpoint to retrieve a list of all issues and their numeric IDs.
How to find the Assignee ID
The Assignee ID is a unique numeric value that can be found via the API.
- Method 1: Via API
Use the GET /users/search endpoint to retrieve a list of all users and their numeric IDs.
How to find the Priority ID
The Priority ID is a unique numeric value that can be found via the API.
- Method 1: Via API
Use the GET /priority endpoint to retrieve a list of all priorities and their numeric IDs.
How to find the Issue Type ID
The Issue Type ID is a unique numeric value that can be found via the API.
- Method 1: Via API
Use the GET /issuetype/project endpoint to retrieve a list of all issue types and their numeric IDs.
How to find the Status ID
The Status ID is a unique numeric value that can be found via the API.
- Method 1: Via API
Use the GET /issue/ISSUE_ID/transitions endpoint to retrieve a list of all status and their numeric IDs.
How is this guide?
Last updated on