ByteChef LogoByteChef

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

NameLabelTypeDescriptionRequired
clientIdClient IdSTRINGtrue
clientSecretClient SecretSTRINGtrue

Connection Setup

Follow these steps to connect Jira Cloud to ByteChef using OAuth 2.0.

  1. Open the Atlassian Developer Console: https://developer.atlassian.com/console/

  2. Sign in with your Atlassian account (create one if needed).

  3. Click Create and choose OAuth 2.0 integration.

  4. Enter the app details (e.g., App name: "ByteChef Jira Integration") and accept Atlassian's developer terms, then click Create.

  5. Click on Permissions.

  6. Find Jira API and click Add and then click Configure.

  7. 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.
  8. 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)
  9. 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

NameLabelTypeDescriptionRequired
projectProject IDSTRINGID of the project where the issue is located.false
issueIdIssue IDSTRING
Depends On project
ID of the issue that will be assigned.true
accountIdAccount IDSTRINGID 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

NameLabelTypeDescriptionRequired
projectProject IDSTRINGID of the project to create the issue in.true
summarySummarySTRINGA brief summary of the issue.true
issuetypeIssue Type IDSTRING
Depends On project
ID of the issue type.true
parentParent Issue IDSTRING
Depends On project
ID of the parent issue.true
assigneeAssignee IDSTRINGID of the user who will be assigned to the issue.false
priorityPriority IDSTRINGID of the priority of the issue.false
descriptionDescriptionSTRINGDescription 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

NameTypeDescription
idSTRINGThe ID of the created issue or subtask.
keySTRINGThe key of the created issue or subtask.
selfSTRINGThe 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

NameLabelTypeDescriptionRequired
projectProject IDSTRINGID of the project where the issue is located.false
issueIdIssue IDSTRING
Depends On project
ID of the issue where the comment will be added.true
commentCommentSTRINGThe 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

NameTypeDescription
idSTRINGThe ID of the comment.
selfSTRINGThe URL of the comment.
authorOBJECT
Properties {STRING(accountId), STRING(accountType), BOOLEAN(active), {STRING(16x16), STRING(24x24), STRING(32x32), STRING(48x48)}(avatarUrls)}
displayNameSTRINGThe display name of the user.
emailAddressSTRINGThe email address of the user.
selfSTRINGThe URL of the user.
timeZoneSTRINGThe time zone specified in the user's profile.
bodyOBJECT
Properties {}
The comment text in Atlassian Document Format.
createdSTRINGThe date and time at which the comment was created.
jsdAuthorCanSeeRequestBOOLEAN
Options true, false
Whether the comment was added from an email sent by a person who is not part of the issue.
jsdPublicBOOLEAN
Options true, false
Whether the comment is visible in Jira Service Desk.
propertiesARRAY
Items [{STRING(key), {}(value)}]
renderedBodySTRINGThe rendered version of the comment.
updateAuthorOBJECT
Properties {STRING(accountId), STRING(accountType), BOOLEAN(active), {STRING(16x16), STRING(24x24), STRING(32x32), STRING(48x48), STRING(displayName), STRING(emailAddress), STRING(self), STRING(timeZone)}(avatarUrls)}
updatedSTRINGThe date and time at which the comment was updated last.
visibilityOBJECT
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

NameLabelTypeDescriptionRequired
projectProject IDSTRINGID of the project where the issue is located.false
issueIdIssue IDSTRING
Depends On project
ID of the issue.true
summarySummarySTRINGThe summary that will be edited.false
descriptionDescriptionSTRINGThe description that will be edited.false
addLabelsAdd LabelsARRAY
Items [STRING]
List of labels that will be added to the issue.false
removeLabelsRemove LabelsARRAY
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

NameLabelTypeDescriptionRequired
projectProject IDSTRINGID of the project where the issue is located.false
issueIdIssue IDSTRING
Depends On project
true

Example JSON Structure

{
  "label" : "Get Issue",
  "name" : "getIssue",
  "parameters" : {
    "project" : "",
    "issueId" : ""
  },
  "type" : "jira/v1/getIssue"
}

Output

Type: OBJECT

Properties

NameTypeDescription
idSTRINGThe ID of the issue.
keySTRINGThe key of the issue.
selfSTRINGThe URL of the issue details.
fieldsOBJECT
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

NameLabelTypeDescriptionRequired
projectProject IDSTRINGID of the project where the issue is located.false
issueIdIssue IDSTRING
Depends On project
ID of the issue.true
orderByOrder BySTRING
Options +created, -created
Order the results by a field.false
maxResultsMax ResultsINTEGERThe 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

NameTypeDescription
maxResultsINTEGERThe maximum number of items that could be returned.
startAtINTEGERThe index of the first item returned.
totalINTEGERThe number of items returned.
commentsARRAY
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

NameLabelTypeDescriptionRequired
jqlJQLSTRINGThe 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

NameTypeDescription
idSTRINGThe ID of the issue.

Output Example

[ {
  "id" : ""
} ]

Transition Issue

Name: transitionIssue

Move an issue to another status.

Properties

NameLabelTypeDescriptionRequired
projectProject IDSTRINGID of the project where the issue is located.false
issueIdIssue IDSTRING
Depends On project
ID of the issue to be assigned.true
statusIdStatus IDSTRING
Depends On issueId
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

NameLabelTypeDescriptionRequired
projectProject IDSTRINGID of the project where new issue is created.true
issuetypeIssue Type IDSTRING
Depends On project
ID of the issue type.false

Output

Type: OBJECT

Properties

NameTypeDescription
idSTRINGThe ID of the issue.
keySTRINGThe key of the issue.
selfSTRINGThe URL of the issue details.
fieldsOBJECT
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

NameLabelTypeDescriptionRequired
projectProject IDSTRINGID of the project where issues is updated.true
issuetypeIssue Type IDSTRING
Depends On project
ID of the issue type.false

Output

Type: OBJECT

Properties

NameTypeDescription
idSTRINGThe ID of the issue.
keySTRINGThe key of the issue.
selfSTRINGThe URL of the issue details.
fieldsOBJECT
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

On this page