Integrations
Plan Jira issue requests from workflow inputs
jira-integration is a selected-action workflow adapter for Jira.
overview
What jira-integration does
Select an issue operation and supply its site and issue fields. Dry-run generates a method, URL and payload plan; it does not create a Jira issue or establish that an account has the required access.
Source-declared actions: issue.create, issue.get, issue.search, issue.comment, issue.transition.
A FILE of JSONL results, with an ok field per processed item. Dry-run rows include dry_run: true and planning fields, not a provider response or proof of execution. The registered contract also exposes a FOLDER output. Payload and text fields may contain supplied content; use synthetic data for shared examples.
Native executable tests cover all 5 declared actions using owned loopback HTTP fixtures, plus credential/error cases. No real provider calls were made. A private three-node platform dry-run planning workflow also passed with a downloaded plan and verifier. Public image and source/notices directions are available. The original tool entry is available in the public Library. Keep private platform planning separate from provider execution.
source hub.docker.com/r/nenadzaric/skills-integrations-jira-integration
use cases
Where jira-integration fits
Preview issue creation
Review project, summary and issue-type fields in an unsent synthetic create plan.
Read issue data
Choose issue.get or issue.search for a normal-mode provider read; fixture acceptance does not prove access to a production project.
Comment or transition an issue
Choose the issue identifier and operation explicitly before normal-mode execution, which can change provider data.
reference
jira-integration inputs and flags
| Name | Type | Flag | Description |
|---|---|---|---|
| site | STRING | --site | Jira site URL ; wire to ${{vars.JIRA_SITE}} (e.g. https://org.atlassian.net) |
| items | FILE | --items | Optional. One JSON object per line (JSONL); each line is one API call. If omitted, uses upstream files in /hive/in or a single call from flags. Example: {"project":"OPS","summary":"New finding"} |
| token | STRING | --token | API token ; wire to ${{vars.JIRA_API_TOKEN}} Supply via workflow secrets; never bake credentials into images, source, or shared inputs. |
| dry-run | BOOLEAN | --dry-run | Optional: true returns a request/message plan without provider calls; omitted/false keeps normal configured execution. This is not a live provider test. |
| resource | STRING | --resource | Jira resource (default: issue) |
| operation | STRING | --operation | Operation: create | get | search | comment | transition |
Showing key inputs. jira-integration exposes 17 inputs in total.
Full flag reference (17 inputs)
| Name | Type | Flag | Description |
|---|---|---|---|
| jql | STRING | --jql | JQL query (issue.search) |
| site | STRING | --site | Jira site URL ; wire to ${{vars.JIRA_SITE}} (e.g. https://org.atlassian.net) |
| STRING | Account email ; wire to ${{vars.JIRA_EMAIL}} | ||
| items | FILE | --items | Optional. One JSON object per line (JSONL); each line is one API call. If omitted, uses upstream files in /hive/in or a single call from flags. Example: {"project":"OPS","summary":"New finding"} |
| limit | STRING | --limit | Max results for search (default: 20) |
| token | STRING | --token | API token ; wire to ${{vars.JIRA_API_TOKEN}} Supply via workflow secrets; never bake credentials into images, source, or shared inputs. |
| comment | STRING | --comment | Comment body (issue.comment) ; plain text, wrapped as ADF |
| dry-run | BOOLEAN | --dry-run | Optional: true returns a request/message plan without provider calls; omitted/false keeps normal configured execution. This is not a live provider test. |
| project | STRING | --project | Project key (issue.create), e.g. OPS |
| summary | STRING | --summary | Issue summary (issue.create) |
| resource | STRING | --resource | Jira resource (default: issue) |
| issue-key | STRING | --issue-key | Issue key for get / comment / transition (e.g. OPS-12) |
| operation | STRING | --operation | Operation: create | get | search | comment | transition |
| issue-type | STRING | --issue-type | Issue type name (default: Task) |
| transition | STRING | --transition | Transition id (issue.transition) |
| description | STRING | --description | Issue description (issue.create) ; plain text, wrapped as ADF |
| continue-on-error | BOOLEAN | --continue-on-error | Keep going (and exit 0) when an individual call fails |
example
Run jira-integration
jira-integration --dry-run --resource issue --operation create --site https://fixture.invalid --project FIX --summary "D074 owned plan fixture" --output ./plan.jsonl{"resource": "issue", "operation": "create", "ok": true, "dry_run": true, "method": "POST", "url": "https://fixture.invalid/rest/api/3/issue", "payload": {"fields": {"project": {"key": "FIX"}, "summary": "D074 owned plan fixture", "issuetype": {"name": "Task"}}}}guidance
Choosing jira-integration
Use this service-specific adapter when the selected provider action and typed fields match the workflow. Dry-run planning, native HTTP-mock acceptance and actual provider execution are separate capabilities. A generic HTTP client may suit API routes this adapter does not expose.
faq
jira-integration questions
related
More Integrations tools
github-integration
Select a GitHub resource and operation, supply its repository fields, and retain a JSONL result. The explicit dry-run input generates a request plan without calling GitHub. Normal execution uses a token and can create or change repository data.
notion-integration
Supply the selected resource, operation and page/database fields. Dry-run returns a planned API request without calling Notion. Normal execution may read, create, update or archive data depending on the operation.
slack-integration
Choose the Slack resource and operation, then supply message or lookup fields. Dry-run reports a message plan without contacting Slack. It does not verify a webhook, workspace membership, delivery or media content.
telegram-integration
Select message.sendMessage, message.sendPhoto or message.sendDocument and provide the intended chat and input fields. Explicit dry-run emits a plan without calling Telegram. Normal-mode media operations upload the supplied FILE using multipart requests.
Run jira-integration yourself
Complete retained JSONL plan from the current notices1 image using synthetic owned fixture data. This was dry-run planning, not a provider request or delivered message. Native HTTP-mock action coverage is recorded separately.
Facts on this page come from the live Trickest tool library.