Katabarwa Labs
← Blog

How to send a Jira issue to Claude Code or Codex in your own CI, and get the PR back on the ticket

Jira for engineering teams · September 15, 2026 · 7 min read

By Abaho Katabarwa, Founder, Katabarwa Labs

Ticket-to-pull-request is the fastest-growing category on the Atlassian Marketplace. Click a button on a Jira issue, a coding agent reads the description, and a pull request shows up a few minutes later. The connectors that do this have tens of thousands of installs between them and, if you read their reviews, the same four complaints: the agent runs on the vendor's infrastructure with access to your repository, GitLab is not supported, the repository has to be typed into a chat box on every request, and the base branch is ignored. Enterprises add a fifth: nobody can say who dispatched what, with whose credentials, against which repo.

None of that is inherent to the idea. Your CI already knows how to check out a branch, run a command with a secret, push, and open a pull request. The only thing missing is a trustworthy way to fire it from a Jira issue and get the result back. This post walks through the do-it- yourself version, where the pieces get awkward, and an in-tenant app that packages the pattern.

Why the hosted connectors have the trust model backwards

The DIY approach: fire your own pipeline from Jira

Everything you need already exists on both sides. On the Jira side, an Automation rule can send a web request when someone adds a label or transitions an issue. On the CI side, GitHub Actions exposes the repository_dispatch event and GitLab exposes pipeline trigger tokens. The recipe, for GitHub:

GitLab is the same shape with different verbs: a pipeline trigger token, a POST to /projects/ID/trigger/pipeline with the issue fields as variables, and a job that uses glab mr create or the Merge Requests API.

Where the DIY version gets awkward

A ready-made option: Agent Dispatch for Jira

Our tool for this: Agent Dispatch for Jira on the Atlassian Marketplace. It is built on Atlassian Forge and runs inside your Jira Cloud tenant. Its only network calls go to api.github.com and gitlab.com, your own CI control planes. We host no servers and never see your code or keys.

Agent Dispatch is the DIY pattern with the awkward parts removed. A Send to agent button in the issue panel packages the work item and fires the pipeline you configured for that project, GitHub Actions through repository_dispatch or GitLab CI through a trigger token. Repository, base branch, provider, and agent are set once in Project settings, so nobody types them per request, and an existing ISSUE-KEY branch is reused when one exists. Workflow templates for Claude Code and Codex ship in the admin page: paste one file into the repo and add your model API key as a CI secret. The pipeline reports back through a per-run, single-use callback token, so the CI job never holds Jira credentials, and your GitHub or GitLab dispatch credential sits in Forge secret storage, write-only. Status (queued, running, succeeded, failed) and the PR or MR link land on the issue as a panel update and a comment, and an hourly reaper marks runs whose pipeline never reported back as failed instead of stranding them. Admins get a site-wide daily run cap, a per-project allowlist, and an audit log of every dispatch with CSV export.

Two honest notes. This app has egress by design, so unlike the rest of our portfolio it is not in the Runs on Atlassian program; what leaves your tenant is the summary and description of an issue someone chose to dispatch, sent to the CI you configured. And self-managed GitHub Enterprise Server or self-hosted GitLab are not supported yet, because Forge declares egress per domain.

Key facts

Related reading: where groups hide in Jira, and how to audit them all.

Claude Code is a trademark of Anthropic, PBC. Codex is a trademark of OpenAI. Names are used only to state compatibility; Katabarwa Labs is not affiliated with Anthropic, OpenAI, GitHub, or GitLab.


Written by Abaho Katabarwa at Katabarwa Labs. We build small, single-purpose Atlassian and Azure tools that run entirely inside your own tenant. Questions: support@llmgraph.ai.