Integrations / Jira
Jira
Issue tracking and project management for software teams.
10 actions
OAuth 2
5 read3 write2 destructive
Calls api.atlassian.com
Connect
const conn = await setu.connections.initiate({ userId: "user_1", toolkit: "jira" });
console.log(conn.connectUrl); // show this to your user
await conn.waitUntilActive();Permissions requested
| Scope | Why it is requested |
|---|---|
read:jira-work | Read your Jira projects and issues |
write:jira-work | Create and update Jira issues and comments |
read:jira-user | See Jira user profiles |
offline_access | Stay connected without asking you to sign in again |
Actions
Add commentwritejira.add_commentAdd a comment to an issue.
Needs scope: write:jira-work
| Input | Type | Description | |
|---|---|---|---|
cloud_id | string | Required | Site ID from list_sites (call that first) |
issue_key | string | Required | Issue key |
text | string | Required | Comment text |
await setu.execute({
userId: "user_1",
action: "jira.add_comment",
input: {
"cloud_id": "<cloud_id>",
"issue_key": "<issue_key>",
"text": "<text>"
},
});Create issuewritejira.create_issueCreate an issue in a project. Needs the project key, an issue type such as Task or Bug, a title and a description.
Needs scope: write:jira-work
| Input | Type | Description | |
|---|---|---|---|
cloud_id | string | Required | Site ID from list_sites (call that first) |
project_key | string | Required | Project key, for example ABC |
issue_type | string | Required | Task, Bug, Story... |
summary | string | Required | Title |
description | string | Required | Plain text description |
await setu.execute({
userId: "user_1",
action: "jira.create_issue",
input: {
"cloud_id": "<cloud_id>",
"project_key": "<project_key>",
"issue_type": "<issue_type>",
"summary": "<summary>",
"description": "<description>"
},
});Delete commentdestructivejira.delete_commentDelete a comment from an issue.
Needs scope: write:jira-work
| Input | Type | Description | |
|---|---|---|---|
cloud_id | string | Required | Site ID from list_sites (call that first) |
issue_key | string | Required | Issue key |
comment_id | string | Required | Comment ID |
await setu.execute({
userId: "user_1",
action: "jira.delete_comment",
input: {
"cloud_id": "<cloud_id>",
"issue_key": "<issue_key>",
"comment_id": "<comment_id>"
},
confirm: true,
});Delete issuedestructivejira.delete_issuePermanently delete an issue.
Needs scope: write:jira-work
| Input | Type | Description | |
|---|---|---|---|
cloud_id | string | Required | Site ID from list_sites (call that first) |
issue_key | string | Required | Issue key |
await setu.execute({
userId: "user_1",
action: "jira.delete_issue",
input: {
"cloud_id": "<cloud_id>",
"issue_key": "<issue_key>"
},
confirm: true,
});Get issuereadjira.get_issueRead one issue: its summary, status, assignee and description.
Needs scope: read:jira-work
| Input | Type | Description | |
|---|---|---|---|
cloud_id | string | Required | Site ID from list_sites (call that first) |
issue_key | string | Required | Issue key, for example ABC-12 |
await setu.execute({
userId: "user_1",
action: "jira.get_issue",
input: {
"cloud_id": "<cloud_id>",
"issue_key": "<issue_key>"
},
});List projectsreadjira.list_projectsList Jira projects on a site.
Needs scope: read:jira-work
| Input | Type | Description | |
|---|---|---|---|
cloud_id | string | Required | Site ID from list_sites (call that first) |
await setu.execute({
userId: "user_1",
action: "jira.list_projects",
input: {
"cloud_id": "<cloud_id>"
},
});List sitesreadjira.list_sitesList the Atlassian sites (Jira and Confluence) this connection can use. Call this first to get a cloud_id for the other tools.
Needs scope: read:jira-work
No input.
await setu.execute({
userId: "user_1",
action: "jira.list_sites",
input: {},
});List transitionsreadjira.list_transitionsList the status changes an issue can make right now.
Needs scope: read:jira-work
| Input | Type | Description | |
|---|---|---|---|
cloud_id | string | Required | Site ID from list_sites (call that first) |
issue_key | string | Required | Issue key |
await setu.execute({
userId: "user_1",
action: "jira.list_transitions",
input: {
"cloud_id": "<cloud_id>",
"issue_key": "<issue_key>"
},
});Search issuesreadjira.search_issuesFind issues with a JQL query, for example project = ABC AND status = Open.
Needs scope: read:jira-work
| Input | Type | Description | |
|---|---|---|---|
cloud_id | string | Required | Site ID from list_sites (call that first) |
jql | string | Required | JQL query |
max_results | integer | Optional |
await setu.execute({
userId: "user_1",
action: "jira.search_issues",
input: {
"cloud_id": "<cloud_id>",
"jql": "<jql>"
},
});Move issuewritejira.transition_issueChange an issue's status using a transition ID from list_transitions.
Needs scope: write:jira-work
| Input | Type | Description | |
|---|---|---|---|
cloud_id | string | Required | Site ID from list_sites (call that first) |
issue_key | string | Required | Issue key |
transition_id | string | Required | Transition ID |
await setu.execute({
userId: "user_1",
action: "jira.transition_issue",
input: {
"cloud_id": "<cloud_id>",
"issue_key": "<issue_key>",
"transition_id": "<transition_id>"
},
});