InTouch Hub · Blue Isle Software

Jira

Read, search, create, and transition Jira Cloud issues via the Jira Cloud REST API v3.

Provided free and as is, without warranty of any kind — including merchantability, fitness for a particular purpose, and the accuracy or completeness of any result. See the licence. You are responsible for checking what this produces before relying on it.

atlassiandeveloper-devopsemailissuessearchstatussummarytickets

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:

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

  1. Go to https://id.atlassian.com/manage-profile/security/api-tokens.
  2. Click Create API token, name it, and copy the token.
  3. The apiKey input 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.

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.