2.3 KiB
Jira Vein
Status: live
Connects soleprint to Jira Cloud. Fetches tickets, sprints, backlogs, and epics. Supports text and JSON output formats.
What It Does
- Query your assigned tickets, project backlogs, and current sprints
- Fetch full ticket details with comments, attachments, and child work items
- Process entire epics: fetch the epic and all children, save to local storage
- Search with raw JQL
- Stream attachment content directly from Jira
Configuration
Create a .env file in the vein directory or set environment variables:
JIRA_URL=https://your-org.atlassian.net
JIRA_EMAIL=you@example.com
JIRA_API_TOKEN=your-api-token
API_PORT=8001
JIRA_EMAIL and JIRA_API_TOKEN are optional in config. They can be provided per-request via HTTP headers instead, allowing one vein instance to serve multiple users.
Generate an API token at id.atlassian.net/manage-profile/security/api-tokens.
Endpoints
| Method | Path | Description |
|---|---|---|
| GET | /health |
Test connection, returns authenticated user |
| GET | /mine |
Your assigned open tickets |
| GET | /backlog?project=KEY |
Project backlog |
| GET | /sprint?project=KEY |
Current sprint tickets |
| GET | /ticket/{key} |
Full ticket detail with comments and children |
| POST | /search |
Raw JQL query |
| POST | /epic/{key}/process |
Fetch entire epic tree, save to files (streaming) |
| GET | /epic/{key}/status |
Check if epic has been processed |
| GET | /attachment/{id} |
Stream attachment content |
All list endpoints support page, page_size, and text=true for plain-text output.
Authentication
Credentials resolve in order:
- HTTP headers (
X-Jira-Email,X-Jira-Token) .envfile values
Text Mode
Pass ?text=true to any query endpoint. Returns formatted plain text instead of JSON. Useful for piping into other tools or AI prompts.
Epic Processing
The /epic/{key}/process endpoint streams progress as NDJSON. It fetches the epic, then each child ticket with a short delay between requests. All tickets are saved as JSON files to artery/larder/jira_epics/{key}/.
Running Standalone
cd soleprint/artery/veins/jira
python run.py
# Runs on port 8001
Or through soleprint, where it is mounted under /artery/jira/.