Skip to main content

Typer CLI for Jira Data Center using browser session cookies.

Project description

jiradc-cli

Typer CLI for Jira Data Center that authenticates with a browser session cookie (no PAT required).

Agent-oriented project docs:

  • AGENTS.md
  • docs/PROJECT_OVERVIEW.md
  • docs/COMMAND_REFERENCE.md
  • docs/DEVELOPMENT_NOTES.md
  • docs/PUBLISHING.md

The endpoint set is selected from the OpenAPI/Postman files in resources/ for common end-user workflows:

  • Authentication/session validation (/rest/auth/1/session, /rest/api/2/myself)
  • Project discovery (/rest/api/2/project, /rest/api/2/project/{projectIdOrKey}/components, /rest/api/2/project/{projectIdOrKey}/versions)
  • Issue search/read/create/edit (/rest/api/2/search, /rest/api/2/issue, /rest/api/2/issue/{issueIdOrKey}, /rest/api/2/issue/{issueIdOrKey}/editmeta)
  • Comments (/rest/api/2/issue/{issueIdOrKey}/comment, /rest/api/2/issue/{issueIdOrKey}/comment/{id})
  • Attachments (/rest/api/2/issue/{issueIdOrKey}/attachments)
  • Watchers/votes/worklogs (/rest/api/2/issue/{issueIdOrKey}/watchers, /rest/api/2/issue/{issueIdOrKey}/votes, /rest/api/2/issue/{issueIdOrKey}/worklog)
  • Transitions/assignment (/rest/api/2/issue/{issueIdOrKey}/transitions, /rest/api/2/issue/{issueIdOrKey}/assignee)
  • Issue linking (/rest/api/2/issueLink, /rest/api/2/issueLinkType)
  • Filter and JQL helpers (/rest/api/2/filter, /rest/api/2/filter/favourite, /rest/api/2/jql/autocompletedata/suggestions, /rest/api/2/issue/picker)
  • Agile workflows (/rest/agile/1.0/board, /rest/agile/1.0/sprint, /rest/agile/1.0/issue/rank, /rest/agile/1.0/issue/{issueIdOrKey}/estimation)

Install

pip install -e .

Login with Browser Cookie

Export the cookie from an already logged-in Jira browser session, then run:

jiradc login --base-url https://jira.example.com

The command then pauses and asks you to copy your Jira Cookie header value to clipboard, reads it from clipboard, and validates it. On macOS this uses pbpaste. During login, the CLI automatically reduces large browser cookie sets to Jira-relevant session cookies first (for better compatibility with SSO/WAF setups), and falls back to the full cookie if needed.

You can also pass it directly:

jiradc login --base-url https://jira.example.com --cookie "JSESSIONID=...; atlassian.xsrf.token=..."

Config is saved in:

  • ~/.config/jiradc-cli/config.json

Commands

# Identity and projects
jiradc whoami
jiradc project list
jiradc project components PROJ
jiradc project versions PROJ

# Issues
jiradc issue search --jql "assignee = currentUser() AND statusCategory != Done"
jiradc issue get PROJ-123
jiradc issue create --project PROJ --summary "New task" --issue-type Task
jiradc issue editmeta PROJ-123
jiradc issue edit PROJ-123 --summary "Updated summary" --priority High

# Comments and attachments
jiradc issue comments PROJ-123
jiradc issue comment-add PROJ-123 --body "Working on this now."
jiradc issue comment-update PROJ-123 10100 --body "Latest update"
jiradc issue attachment-add PROJ-123 --file /tmp/screenshot.png

# Workflow and people
jiradc issue transitions PROJ-123
jiradc issue transition PROJ-123 --id 31 --comment "Moving to In Progress"
jiradc issue assign PROJ-123 --username alice
jiradc issue watchers PROJ-123
jiradc issue watcher-add PROJ-123 --username bob
jiradc issue votes PROJ-123
jiradc issue vote-add PROJ-123

# Worklogs
jiradc issue worklogs PROJ-123
jiradc issue worklog-add PROJ-123 --time-spent "1h 30m" --comment "Investigation"

# Linking and metadata
jiradc issue link-types
jiradc issue link-create --type Blocks --inward-issue PROJ-123 --outward-issue PROJ-456
jiradc issue createmeta-types --project PROJ
jiradc issue createmeta-fields --project PROJ --issue-type-id 10001

# Filters and query assistance
jiradc filter favourites
jiradc filter create --name "My Open" --jql "assignee = currentUser() AND resolution = Unresolved"
jiradc jql suggest --field-name status --field-value "In"
jiradc issue picker --query "PROJ-"

# Agile
jiradc agile board list
jiradc agile board backlog 12
jiradc agile board sprints 12 --state active,future
jiradc agile sprint issues 55
jiradc agile issue rank --issue PROJ-123 --issue PROJ-124 --before PROJ-122
jiradc agile issue estimation PROJ-123 --board-id 12
jiradc agile issue estimation-set PROJ-123 --board-id 12 --value 8

jiradc logout

Build and publish

Project metadata includes GitHub links in pyproject.toml:

  • Homepage: https://github.com/marcosgalleterobbva/jiradc-cli
  • Repository: https://github.com/marcosgalleterobbva/jiradc-cli
  • Issues: https://github.com/marcosgalleterobbva/jiradc-cli/issues

Release tooling:

pip install -e ".[release]"
make build
make check
make publish-testpypi
make publish-pypi

See docs/PUBLISHING.md for the full release workflow.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

jiradc_cli-0.2.0.tar.gz (18.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

jiradc_cli-0.2.0-py3-none-any.whl (17.8 kB view details)

Uploaded Python 3

File details

Details for the file jiradc_cli-0.2.0.tar.gz.

File metadata

  • Download URL: jiradc_cli-0.2.0.tar.gz
  • Upload date:
  • Size: 18.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.16

File hashes

Hashes for jiradc_cli-0.2.0.tar.gz
Algorithm Hash digest
SHA256 82bb7067767bcdbbb89062f4d0036e28b92920241407bfce037bf35dbbc77860
MD5 a25a757c2e49586537a60711aa69064d
BLAKE2b-256 a333c78e545f3c1c10eec7802827564a1b8ae5066ef5218955187b1d3d16a633

See more details on using hashes here.

File details

Details for the file jiradc_cli-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: jiradc_cli-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 17.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.16

File hashes

Hashes for jiradc_cli-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 13db00c1834065bef07036c0731b0a55e6538aa79aa2403981f897d5bec791e8
MD5 065938f24a3dff0425acdf5c62e5aab0
BLAKE2b-256 4d451eca4abf17a5ee631f064955f8da2d25dfeb33f320c54a944560de64874d

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page