v0.29.0
This release connects Piwi to your issue tracker: file a Jira ticket straight from a failure or cluster, keep it in two-way sync in the language your team uses, and track what still needs one — plus richer PDF exports and one-click import of a linked folder's past runs.
Full diff: v0.28.0…v0.29.0
✨ Highlights
- 🎫 Jira integration — File an issue from a failure or cluster and keep it linked, with an inbox queue for everything that still needs a ticket.
- 🔁 Two-way status sync — A background sync task and an inbound Jira webhook keep ticket state and Piwi in step, and you can trigger a sweep on demand.
- 🌐 Tickets in your language — Issues are written in the destination's language (en/fr), backed by a per-project AI response-language setting.
- 📄 Richer PDF exports — Exported executions and clusters now carry syntax-highlighted source and frame screenshots.
- 🗂️ Import past runs — Linking a local project folder in the desktop app offers to import its previous runs.
Features
Issue tracker & Jira
- File Jira issues from failures and keep them in sync (51f1bb0)
- Integration provider layer with connection-aware links (e7b06d0), and a connections API with Jira env vars (23da674)
- Create-issue outbox, flow and API (fde45f4), rendering issue bodies and building cluster/execution tickets (0b32413)
- Needs-ticket inbox queue and ticket-done reconcile (cf36995)
- Project binding endpoints and two-way sync policies (81d796f), with a resolved binding shape (cf75768)
- Tracker status sync task and inbound Jira webhook (e1977cd), plus an on-demand sync sweep from an admin endpoint (913e85d)
- Carry the known issue key across the workflow (f2c7596)
- Settings integrations page and docs (b8d54eb)
- ui: create-issue modal and entry points (d30270e), and a project binding form with a connection activity list (a40a08b)
- db: integration connections, actions and entity-link columns (72fb33f)
- demo: mirror the create-issue flow with a canned Jira connection (bc27d7b) and the project binding and webhook-token endpoints (740ce0f)
Tickets in your language
- Write tickets in the destination's language, en/fr (a979d2d)
- ai: per-project AI response-language setting with an override (f72e02c)
- ui: language select on the create modal and connection form (e7b0be4)
- db: a
project_integrations.localecolumn for ticket language (ec65eaf), honored in the demo draft (c6c4f43)
PDF export
Desktop
Diagnosis & traces
Bug Fixes
- app: check the role before the entity lookup on the issue routes (62e6137)
- app: drop cluster entity links when a project is deleted (93c0a7f)
- app: keep streamed multipart file parts in arrival order (46a2bee, 3fbb44c, a66cc8f, 4d3d29e)
- db: index the
integration_actions.requested_byforeign key (beb4eda) - demo: keep the share-link minter out of the demo worker bundle (eb9ab50)