productivity
Jira CLI for AI Agents
Use the Jira CLI from KosmoKrator to call Jira tools headlessly, return JSON, inspect schemas, and automate workflows from coding agents, scripts, and CI.Jira CLI Setup
Jira can be configured headlessly with `kosmokrator integrations:configure jira`.
# Install KosmoKrator first if it is not available on PATH.
curl -fsSL https://raw.githubusercontent.com/OpenCompanyApp/kosmokrator/main/install.sh | bash
# Configure and verify this integration.
kosmokrator integrations:configure jira --set api_token="$JIRA_API_TOKEN" --set base_url="$JIRA_BASE_URL" --enable --read allow --write ask --json
kosmokrator integrations:doctor jira --json
kosmokrator integrations:status --json Credentials
Authentication type: API token api_token. Configure credentials once, then reuse the same stored profile from scripts, coding CLIs, Lua, and MCP.
| Key | Env var | Type | Required | Label |
|---|---|---|---|---|
api_token | JIRA_API_TOKEN | Secret secret | yes | Personal Access Token |
base_url | JIRA_BASE_URL | Text text | yes | Jira Domain URL |
Command Patterns
The generic command is stable across every integration. The provider shortcut is shorter for humans.
kosmo integrations:call jira.jira_create_issue '{"project_key":"example_project_key","summary":"example_summary","description":"example_description","issue_type":"example_issue_type","priority":"example_priority","assignee":"example_assignee","labels":"example_labels"}' --json kosmo integrations:jira jira_create_issue '{"project_key":"example_project_key","summary":"example_summary","description":"example_description","issue_type":"example_issue_type","priority":"example_priority","assignee":"example_assignee","labels":"example_labels"}' --json Discovery
These commands return structured output for coding agents that need to inspect capabilities before choosing a function.
kosmo integrations:docs jira --json
kosmo integrations:docs jira.jira_create_issue --json
kosmo integrations:schema jira.jira_create_issue --json
kosmo integrations:search "Jira" --json
kosmo integrations:list --json Automation Contexts
The same configured command surface works in these environments. The command does not change unless the host wrapper, credentials, or permissions change.
CLI Functions
Every function below can be called headlessly. Commands are highlighted, copyable, and scroll horizontally when payloads are long.
jira.jira_create_issue
Create a new issue in a Jira project. Requires project_key, summary, and issue_type. Optionally set description, priority, assignee, and labels.
write - Parameters
- project_key, summary, description, issue_type, priority, assignee, labels
kosmo integrations:call jira.jira_create_issue '{"project_key":"example_project_key","summary":"example_summary","description":"example_description","issue_type":"example_issue_type","priority":"example_priority","assignee":"example_assignee","labels":"example_labels"}' --json kosmo integrations:jira jira_create_issue '{"project_key":"example_project_key","summary":"example_summary","description":"example_description","issue_type":"example_issue_type","priority":"example_priority","assignee":"example_assignee","labels":"example_labels"}' --json jira.jira_get_issue
Get details for a specific Jira issue by its key (e.g. PROJ-123). Returns summary, status, assignee, description, and all fields.
read - Parameters
- key
kosmo integrations:call jira.jira_get_issue '{"key":"example_key"}' --json kosmo integrations:jira jira_get_issue '{"key":"example_key"}' --json jira.jira_update_issue
Update an existing Jira issue. Provide the issue key and any fields to update (summary, description, priority, assignee).
write - Parameters
- key, summary, description, priority, assignee
kosmo integrations:call jira.jira_update_issue '{"key":"example_key","summary":"example_summary","description":"example_description","priority":"example_priority","assignee":"example_assignee"}' --json kosmo integrations:jira jira_update_issue '{"key":"example_key","summary":"example_summary","description":"example_description","priority":"example_priority","assignee":"example_assignee"}' --json jira.jira_search_issues
Search for Jira issues using JQL (Jira Query Language). Examples: "project = PROJ AND status = Open", "assignee = currentUser() ORDER BY created DESC".
read - Parameters
- jql, start_at, max_results, fields
kosmo integrations:call jira.jira_search_issues '{"jql":"example_jql","start_at":1,"max_results":1,"fields":"example_fields"}' --json kosmo integrations:jira jira_search_issues '{"jql":"example_jql","start_at":1,"max_results":1,"fields":"example_fields"}' --json jira.jira_add_comment
Add a comment to a Jira issue. Provide the issue key and the comment body text.
write - Parameters
- issue_key, body
kosmo integrations:call jira.jira_add_comment '{"issue_key":"example_issue_key","body":"example_body"}' --json kosmo integrations:jira jira_add_comment '{"issue_key":"example_issue_key","body":"example_body"}' --json jira.jira_list_comments
List all comments on a Jira issue. Returns comment body, author, and creation date.
read - Parameters
- issue_key
kosmo integrations:call jira.jira_list_comments '{"issue_key":"example_issue_key"}' --json kosmo integrations:jira jira_list_comments '{"issue_key":"example_issue_key"}' --json jira.jira_get_transitions
Get the available status transitions for a Jira issue. Returns transition IDs and target status names needed to change the issue status.
read - Parameters
- issue_key
kosmo integrations:call jira.jira_get_transitions '{"issue_key":"example_issue_key"}' --json kosmo integrations:jira jira_get_transitions '{"issue_key":"example_issue_key"}' --json jira.jira_transition_issue
Transition a Jira issue to a new status. Use jira_get_transitions first to find the available transition IDs for the issue.
write - Parameters
- issue_key, transition_id
kosmo integrations:call jira.jira_transition_issue '{"issue_key":"example_issue_key","transition_id":"example_transition_id"}' --json kosmo integrations:jira jira_transition_issue '{"issue_key":"example_issue_key","transition_id":"example_transition_id"}' --json jira.jira_assign_issue
Assign a Jira issue to a user by their Atlassian account ID. Use jira_search_users to find account IDs.
write - Parameters
- issue_key, account_id
kosmo integrations:call jira.jira_assign_issue '{"issue_key":"example_issue_key","account_id":"example_account_id"}' --json kosmo integrations:jira jira_assign_issue '{"issue_key":"example_issue_key","account_id":"example_account_id"}' --json jira.jira_delete_issue
Delete a Jira issue by its key. This action is irreversible.
write - Parameters
- key
kosmo integrations:call jira.jira_delete_issue '{"key":"example_key"}' --json kosmo integrations:jira jira_delete_issue '{"key":"example_key"}' --json jira.jira_list_projects
List Jira projects accessible to the authenticated user. Supports pagination with start_at and max_results.
read - Parameters
- start_at, max_results
kosmo integrations:call jira.jira_list_projects '{"start_at":1,"max_results":1}' --json kosmo integrations:jira jira_list_projects '{"start_at":1,"max_results":1}' --json jira.jira_get_issue_types
Get all available issue types in Jira. Returns issue type names and IDs needed when creating issues.
read - Parameters
- none
kosmo integrations:call jira.jira_get_issue_types '{}' --json kosmo integrations:jira jira_get_issue_types '{}' --json jira.jira_get_user
Get details for a specific Jira user by their Atlassian account ID.
read - Parameters
- account_id
kosmo integrations:call jira.jira_get_user '{"account_id":"example_account_id"}' --json kosmo integrations:jira jira_get_user '{"account_id":"example_account_id"}' --json jira.jira_search_users
Search for Jira users by name or email. Returns account IDs needed for assigning issues.
read - Parameters
- query, max_results
kosmo integrations:call jira.jira_search_users '{"query":"example_query","max_results":1}' --json kosmo integrations:jira jira_search_users '{"query":"example_query","max_results":1}' --json jira.jira_list_priorities
List all available issue priorities in Jira. Returns priority names and IDs needed when creating or updating issues.
read - Parameters
- none
kosmo integrations:call jira.jira_list_priorities '{}' --json kosmo integrations:jira jira_list_priorities '{}' --json jira.jira_list_boards
List agile boards accessible to the authenticated user. Supports pagination with start_at and max_results.
read - Parameters
- start_at, max_results
kosmo integrations:call jira.jira_list_boards '{"start_at":1,"max_results":1}' --json kosmo integrations:jira jira_list_boards '{"start_at":1,"max_results":1}' --json jira.jira_list_sprints
List sprints for a specific Jira board. Optionally filter by sprint state (active, closed, future).
read - Parameters
- board_id, state
kosmo integrations:call jira.jira_list_sprints '{"board_id":1,"state":"example_state"}' --json kosmo integrations:jira jira_list_sprints '{"board_id":1,"state":"example_state"}' --json jira.jira_list_sprint_issues
List issues in a specific Jira sprint. Supports pagination with start_at and max_results.
read - Parameters
- sprint_id, start_at, max_results
kosmo integrations:call jira.jira_list_sprint_issues '{"sprint_id":1,"start_at":1,"max_results":1}' --json kosmo integrations:jira jira_list_sprint_issues '{"sprint_id":1,"start_at":1,"max_results":1}' --json jira.jira_create_version
Create a new version (release) in a Jira project. Requires project_key and name. Optionally set description, start_date, and release_date.
write - Parameters
- project_key, name, description, start_date, release_date
kosmo integrations:call jira.jira_create_version '{"project_key":"example_project_key","name":"example_name","description":"example_description","start_date":"example_start_date","release_date":"example_release_date"}' --json kosmo integrations:jira jira_create_version '{"project_key":"example_project_key","name":"example_name","description":"example_description","start_date":"example_start_date","release_date":"example_release_date"}' --json jira.jira_add_attachment
Add a file attachment to a Jira issue. Provide the issue key, filename, and file content.
write - Parameters
- issue_key, filename, content
kosmo integrations:call jira.jira_add_attachment '{"issue_key":"example_issue_key","filename":"example_filename","content":"example_content"}' --json kosmo integrations:jira jira_add_attachment '{"issue_key":"example_issue_key","filename":"example_filename","content":"example_content"}' --json Function Schemas
Use these parameter tables when building CLI payloads without calling integrations:schema first.
jira.jira_create_issue 7 parameters
kosmo integrations:schema jira.jira_create_issue --json | Parameter | Type | Required | Description |
|---|---|---|---|
project_key | string | yes | The project key (e.g. PROJ). |
summary | string | yes | The summary (title) of the issue. |
description | string | no | The description of the issue. Supports Jira wiki markup or plain text. |
issue_type | string | no | The issue type name (e.g. Task, Bug, Story, Epic). Default: Task. |
priority | string | no | The priority name (e.g. High, Medium, Low). |
assignee | string | no | The account ID of the user to assign. |
labels | array | no | Array of label strings to apply. Example: ["backend", "urgent"]. |
jira.jira_get_issue 1 parameters
kosmo integrations:schema jira.jira_get_issue --json | Parameter | Type | Required | Description |
|---|---|---|---|
key | string | yes | The issue key (e.g. PROJ-123). |
jira.jira_update_issue 5 parameters
kosmo integrations:schema jira.jira_update_issue --json | Parameter | Type | Required | Description |
|---|---|---|---|
key | string | yes | The issue key (e.g. PROJ-123). |
summary | string | no | The new summary (title) of the issue. |
description | string | no | The new description of the issue. |
priority | string | no | The new priority name (e.g. High, Medium, Low). |
assignee | string | no | The account ID of the new assignee. |
jira.jira_search_issues 4 parameters
kosmo integrations:schema jira.jira_search_issues --json | Parameter | Type | Required | Description |
|---|---|---|---|
jql | string | yes | JQL query string. Example: "project = PROJ AND status = Open". |
start_at | integer | no | Offset for pagination (0-based). Default: 0. |
max_results | integer | no | Maximum number of results per page (1-100). Default: 50. |
fields | string | no | Comma-separated list of field names to return. Example: "summary,status,assignee". |
jira.jira_add_comment 2 parameters
kosmo integrations:schema jira.jira_add_comment --json | Parameter | Type | Required | Description |
|---|---|---|---|
issue_key | string | yes | The issue key (e.g. PROJ-123). |
body | string | yes | The comment text. |
jira.jira_list_comments 1 parameters
kosmo integrations:schema jira.jira_list_comments --json | Parameter | Type | Required | Description |
|---|---|---|---|
issue_key | string | yes | The issue key (e.g. PROJ-123). |
jira.jira_get_transitions 1 parameters
kosmo integrations:schema jira.jira_get_transitions --json | Parameter | Type | Required | Description |
|---|---|---|---|
issue_key | string | yes | The issue key (e.g. PROJ-123). |
jira.jira_transition_issue 2 parameters
kosmo integrations:schema jira.jira_transition_issue --json | Parameter | Type | Required | Description |
|---|---|---|---|
issue_key | string | yes | The issue key (e.g. PROJ-123). |
transition_id | string | yes | The transition ID to execute. Use jira_get_transitions to find valid IDs. |
jira.jira_assign_issue 2 parameters
kosmo integrations:schema jira.jira_assign_issue --json | Parameter | Type | Required | Description |
|---|---|---|---|
issue_key | string | yes | The issue key (e.g. PROJ-123). |
account_id | string | yes | The Atlassian account ID of the user to assign. |
jira.jira_delete_issue 1 parameters
kosmo integrations:schema jira.jira_delete_issue --json | Parameter | Type | Required | Description |
|---|---|---|---|
key | string | yes | The issue key to delete (e.g. PROJ-123). |
jira.jira_list_projects 2 parameters
kosmo integrations:schema jira.jira_list_projects --json | Parameter | Type | Required | Description |
|---|---|---|---|
start_at | integer | no | Offset for pagination (0-based). Default: 0. |
max_results | integer | no | Maximum number of results per page (1-100). Default: 50. |
jira.jira_get_issue_types 0 parameters
kosmo integrations:schema jira.jira_get_issue_types --json | Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
jira.jira_get_user 1 parameters
kosmo integrations:schema jira.jira_get_user --json | Parameter | Type | Required | Description |
|---|---|---|---|
account_id | string | yes | The Atlassian account ID of the user. |
jira.jira_search_users 2 parameters
kosmo integrations:schema jira.jira_search_users --json | Parameter | Type | Required | Description |
|---|---|---|---|
query | string | yes | Search query (name or email substring). |
max_results | integer | no | Maximum number of results to return. Default: 10. |
jira.jira_list_priorities 0 parameters
kosmo integrations:schema jira.jira_list_priorities --json | Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
jira.jira_list_boards 2 parameters
kosmo integrations:schema jira.jira_list_boards --json | Parameter | Type | Required | Description |
|---|---|---|---|
start_at | integer | no | Offset for pagination (0-based). Default: 0. |
max_results | integer | no | Maximum number of results per page (1-100). Default: 50. |
jira.jira_list_sprints 2 parameters
kosmo integrations:schema jira.jira_list_sprints --json | Parameter | Type | Required | Description |
|---|---|---|---|
board_id | integer | yes | The board ID. Use jira_list_boards to find board IDs. |
state | string | no | Filter by sprint state: active, closed, or future. |
jira.jira_list_sprint_issues 3 parameters
kosmo integrations:schema jira.jira_list_sprint_issues --json | Parameter | Type | Required | Description |
|---|---|---|---|
sprint_id | integer | yes | The sprint ID. Use jira_list_sprints to find sprint IDs. |
start_at | integer | no | Offset for pagination (0-based). Default: 0. |
max_results | integer | no | Maximum number of results per page (1-100). Default: 50. |
jira.jira_create_version 5 parameters
kosmo integrations:schema jira.jira_create_version --json | Parameter | Type | Required | Description |
|---|---|---|---|
project_key | string | yes | The project key (e.g. PROJ). |
name | string | yes | The version name (e.g. "v1.0.0"). |
description | string | no | A description of the version. |
start_date | string | no | The start date in ISO 8601 format (e.g. "2024-01-15"). |
release_date | string | no | The release date in ISO 8601 format (e.g. "2024-03-01"). |
jira.jira_add_attachment 3 parameters
kosmo integrations:schema jira.jira_add_attachment --json | Parameter | Type | Required | Description |
|---|---|---|---|
issue_key | string | yes | The issue key (e.g. PROJ-123). |
filename | string | yes | The name of the file to attach (e.g. "report.pdf"). |
content | string | yes | The file content (raw string or base64-encoded). |
Permissions
Headless calls still follow the integration read/write permission policy. Configure read/write defaults with
integrations:configure. Add --force only for trusted automation that should bypass that policy.