Jira
Read, search, create, and transition issues on a Jira Cloud site using the Jira Cloud REST API v3.
Standard-library Python only (no requests). Authenticates with HTTP Basic
auth using your Atlassian account email and an API token.
Operations
| operation | Jira endpoint | Required inputs |
|---|---|---|
get_issue |
GET /rest/api/3/issue/{issueKey} |
issueKey |
search |
GET /rest/api/3/search/jql?jql=... |
jql |
create_issue |
POST /rest/api/3/issue |
projectKey, summary (+ issueType) |
get_transitions |
GET /rest/api/3/issue/{issueKey}/transitions |
issueKey |
do_transition |
POST /rest/api/3/issue/{issueKey}/transitions |
issueKey, transitionId |
All operations also require site (your Jira Cloud domain) and apiKey.
Outputs
Every call publishes:
result— the raw Jira JSON response body (as a string). Fordo_transition, which returns HTTP 204 with no body on success,resultis a small{"transitioned": true, ...}confirmation object.status— the HTTP status code as a string (e.g.200,201,204).
Non-2xx responses are not treated as failures: the status and Jira's error JSON are returned so the caller can inspect them. Only transport-level failures (DNS, connection refused, timeout) fail the step.
Getting the apiKey
- Go to https://id.atlassian.com/manage-profile/security/api-tokens.
- Click Create API token, name it, and copy the token.
- The
apiKeyinput is your Atlassian account email and the token joined with a colon:[email protected]:your_api_token.
InTouch base64-encodes this and sends it as Authorization: Basic ...,
exactly as the Jira Cloud Basic-auth scheme requires.
Inputs
| input | default | notes |
|---|---|---|
apiKey |
(required) | email:api_token for Basic auth. |
operation |
(required) | One of the operations above. |
site |
(required) | your-domain or your-domain.atlassian.net. |
issueKey |
"" |
Issue key or id, e.g. PROJ-123. |
jql |
"" |
JQL query for search. |
maxResults |
20 |
1–100, for search. |
fields |
summary,status,assignee |
Field list for get_issue / search. |
projectKey |
"" |
Project key for create_issue. |
issueType |
Task |
Issue type name for create_issue. |
summary |
"" |
Title for create_issue. |
description |
"" |
Plain text; wrapped into Atlassian Document Format on create. |
transitionId |
"" |
Transition id (from get_transitions) for do_transition. |
Examples
1. Look up an issue
operation = get_issue
site = acme
apiKey = [email protected]:ATATT3xFf...
issueKey = ENG-42
fields = summary,status,assignee
Returns the issue JSON for ENG-42 (status = 200).
2. Search open bugs with JQL
operation = search
site = acme.atlassian.net
apiKey = [email protected]:ATATT3xFf...
jql = project = ENG AND issuetype = Bug AND statusCategory != Done ORDER BY created DESC
maxResults = 25
Returns matching issues as JSON.
3. Create then transition an issue
Create:
operation = create_issue
site = acme
apiKey = [email protected]:ATATT3xFf...
projectKey = ENG
issueType = Task
summary = Wire up nightly export
description = Add a scheduled job that exports the report each night.
List available transitions (get_transitions with the new issue key), then
move it forward:
operation = do_transition
site = acme
apiKey = [email protected]:ATATT3xFf...
issueKey = ENG-101
transitionId = 31
On success status is 204 and result confirms the transition.
Publishes
The keys a later task may reference as {{taskName.key}}. Referencing anything not listed here resolves to nothing at run time.
errorresultstatus
Input Properties
Every property this tool accepts, from its own tool.iml.
| Property | Type | Required | Default | Description |
|---|---|---|---|---|
apiKey |
string | yes | — | Jira Cloud Basic-auth credential as 'email:api_token' (your Atlassian account email + an API token from https://id.atlassian.com/manage-profile/security/api-tokens). Sent as HTTP Basic auth. |
operation |
string | yes | — | One of: get_issue, search, create_issue, get_transitions, do_transition |
site |
string | no | — | Jira Cloud site/domain, e.g. 'your-domain' or 'your-domain.atlassian.net' (the bit before .atlassian.net). Required. |
issueKey |
string | no | — | Issue key or id, e.g. 'PROJ-123'. Required for get_issue, get_transitions, do_transition. |
jql |
string | no | — | JQL query string for the search operation, e.g. 'project = PROJ AND status = "To Do" ORDER BY created DESC'. |
maxResults |
string | no | 20 |
Max results for search (1-100). |
fields |
string | no | summary,status,assignee |
Comma-separated field list returned by get_issue / search. |
projectKey |
string | no | — | Project key for create_issue, e.g. 'PROJ'. |
issueType |
string | no | Task |
Issue type name for create_issue, e.g. 'Task', 'Bug', 'Story'. |
summary |
string | no | — | Summary/title for create_issue. Required for create_issue. |
description |
string | no | — | Plain-text description body for create_issue (wrapped into Atlassian Document Format). |
transitionId |
string | no | — | Transition id (from get_transitions) for do_transition. Required for do_transition. |