updated docs

This commit is contained in:
2026-04-14 10:32:05 -03:00
parent 2e5a304181
commit a80b72a9b1
67 changed files with 3260 additions and 5005 deletions

View File

@@ -0,0 +1,71 @@
# 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:
```env
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](https://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:
1. HTTP headers (`X-Jira-Email`, `X-Jira-Token`)
2. `.env` file 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
```bash
cd soleprint/artery/veins/jira
python run.py
# Runs on port 8001
```
Or through soleprint, where it is mounted under `/artery/jira/`.