Skip to main content

runspec-jira

A full-featured Jira runnable for runspec, ported from the Atlassian MCP server onto atlassian-python-api — covering Jira Software/Core and Service Desk (JSM), on Cloud and Server/Data Center. One runnable — jira — with ~37 verbs. pip install it into a venv and it's discoverable by runspec local, runspec serve (MCP), and runspec-console.

runspec serve flattens each verb into a leaf MCP tool (jira_get-issue, …). Read verbs are autonomy = "autonomous"; writes are autonomy = "confirm".

The narrower one-runnable-per-project JSM option, runspec-jsm, is unchanged — use this package when you want the full Jira surface.

Install

pip install runspec-jira

Verbs

Area Verbs
Issues get-issue, create-issue, update-issue, assign-issue, delete-issue
Search search (JQL), get-project-issues
Transitions list-transitions, transition-issue
Comments add-comment, edit-comment
Links get-link-types, create-issue-link, link-to-epic, create-remote-issue-link, remove-issue-link
Worklog get-worklog, add-worklog
Projects get-all-projects, search-projects, get-project-components, get-project-issue-types, get-create-fields
Fields / users search-fields, get-user-profile, search-assignable-users
Watchers get-watchers, add-watcher, remove-watcher
Service desk list-request-types, list-request-type-fields, raise-request, get-request
Attachments list-attachments, download-attachments, add-attachment, remove-attachment

Auth — env vars only

export JIRA_URL=https://your-org.atlassian.net
# Cloud (API token):
export JIRA_USERNAME=you@example.com
export JIRA_API_TOKEN=<api-token>
# …or Server/DC (Personal Access Token):
export JIRA_PERSONAL_TOKEN=<pat>

Cloud vs Server/DC is detected from a .atlassian.net host or set with JIRA_CLOUD. Every verb takes --env, selecting JIRA_<ENV>_* prefixed vars. The PAT can instead ride the runspec-console secret channel via the optional --jira-pat (a password-typed arg, refused on the CLI, kept out of logs). JSON-object args (--additional-fields, --fields, --visibility, --worklog-json, --field-values) are passed as strings and parsed in the core.

jira search --jql "project = OPS AND status = 'In Progress'"
jira create-issue --project OPS --summary "Disk full on db-01" --issue-type Incident
jira transition-issue --issue OPS-42 --transition Done

Public Python API

The pure logic is in runspec-jira-core — over atlassian-python-api, no runspec dependency, no entry points. Every op takes a JiraConfig first arg and raises JiraError, so a private wrapper can inject credentials and bake in a default project_key / service_desk_id / env:

from runspec_jira_core import config_from_env, build_client, get_issue

cfg = config_from_env(env="prod")
issue = get_issue(cfg, "OPS-42")

Development

python -m venv .venv && . .venv/bin/activate
pip install -e ".[dev]"
ruff check . && ruff format --check .
pytest

Metadata

Release files for runspec-jira 0.3.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for runspec-jira 0.3.1
File Size Uploaded
runspec_jira-0.3.1.tar.gz 12.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for runspec-jira 0.3.1
File Interpreter ABI Platform
runspec_jira-0.3.1-py3-none-any.whl Python 3 none any Details

Total release size: 22.0 kB

Release files / runspec_jira-0.3.1.tar.gz

Download URL runspec_jira-0.3.1.tar.gz
Size 12.1 kB
Tags Source
SHA-256 checksum
How to use checksums
3fff6b40624d431658499d807e8084a2e68f4fe99e9f9bbd0a73e257479b32ec
BLAKE2b-256 checksum
How to use checksums
529bdcfed3af56318b3055a8d834b7d59c79dc1fa90cfbc188e92f1e534bd651
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 20, 2026.

Transparency log

Release files / runspec_jira-0.3.1-py3-none-any.whl

Download URL runspec_jira-0.3.1-py3-none-any.whl
Size 9.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
a489114355bda074606828a77529e6da0c273f190a64ddec2c6823cac8dcf8fa
BLAKE2b-256 checksum
How to use checksums
76a1f43c9604b6838a7dfb2f8b0b470bbe45e9326d0dc8a753bfc1f8249add57
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 20, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.3.1 This release

2 release files

0.3.0

2 release files

0.2.0

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page