@dreki-gg/pi-jira

Jira tools for pi via an authenticated Atlassian CLI (acli) session — pull ticket context and write concise comments

Packages

Package details

extension

Install @dreki-gg/pi-jira from npm and Pi will load the resources declared by the package manifest.

$ pi install npm:@dreki-gg/pi-jira
Package
@dreki-gg/pi-jira
Version
0.3.1
Published
Jul 12, 2026
Downloads
306/mo · 44/wk
Author
jalbarrang
License
MIT
Types
extension
Size
35.6 KB
Dependencies
0 dependencies · 2 peers
Pi manifest JSON
{
  "extensions": [
    "./extensions/jira"
  ]
}

Security note

Pi packages can execute code and influence agent behavior. Review the source before installing third-party packages.

README

@dreki-gg/pi-jira

Jira tools for pi that ride on an authenticated Atlassian CLI (acli) session — pull ticket context into the agent and post concise comments back. No API tokens to manage in pi; auth lives entirely in your acli session.

Tools

Tool Description
jira_view Fetch a work item (description + comments) for context. Returns a compact digest inline and writes the full ticket to a temp file for read.
jira_search Search work items with JQL. Returns a compact list of keys, statuses, and summaries.
jira_comments List the comment thread on a work item.
jira_comment Post a concise comment to a work item.

There is also a /jira command that reports auth + config status.

Setup

1. Install and authenticate the Atlassian CLI

Install acli and log in once in your terminal:

acli jira auth login
acli jira auth status   # confirm you have an active session

pi reuses that session — it never sees your credentials.

2. Install the extension

pi install npm:@dreki-gg/pi-jira

On session start the extension runs acli jira auth status; if there is no active session it warns you to run acli jira auth login.

Project config (optional)

Create .pi/jira.json in your project root:

{
  "acliPath": "acli",
  "defaultProject": "PROJ",
  "viewFields": "summary,issuetype,status,priority,assignee,reporter,labels,components,parent,description,comment,created,updated",
  "searchLimit": 25
}
Field Default Purpose
acliPath "acli" Path/name of the acli binary. Set this if acli is not on PATH.
defaultProject (none) Lets you pass a bare number (e.g. 123PROJ-123).
viewFields curated set Fields requested by jira_view (acli --fields syntax; *all for everything).
searchLimit 25 Default max results for jira_search.

How context flows

Invariant: every read tool returns a compact digest inline and writes the full, untruncated output to a temp file whose path is in the response. Inline content can be truncated by the harness, so the on-disk copy is the source of truth — read the file path instead of re-fetching. Atlassian Document Format is flattened to text in both. Which tools write files, the digest shape, and the filename pattern are owned by extensions/jira/index.ts + format.ts, not restated here.

Notes

  • Comments are visible to your whole team. The agent is instructed to keep them concise and to confirm wording before posting unless you explicitly asked it to post.
  • Runs on Node.js (pi loads extensions via jiti) and shells out to acli with child_process.execFile — comment bodies and JQL are passed as discrete argv entries, so there is no shell-injection surface.