Inspiration

Every development team has the same problem. A bug gets reported in Slack or email, someone has to manually create a Jira ticket, a developer gets assigned, they read the ticket, figure out which file to look at, make the change, open a PR, and comment back on the ticket. Each step is done by a human even though most of it is mechanical. We wanted to see how much of that loop could run without anyone touching it.

What it does

DevFlow AI takes a plain language bug report and runs the full development workflow autonomously. A Project Manager agent creates a structured Jira ticket. When the ticket is assigned, Jira fires a webhook to a Developer agent on Airia. That agent triggers a GitHub Actions workflow where Claude Code reads the repository, identifies the relevant file, applies the fix, commits it to a new branch, and opens a pull request. The PR link is posted back to the Jira ticket automatically. The human reviews the PR and closes the ticket. That is the only manual step.

How we built it

We built four agents on Airia. The Project Manager agent uses structured output to generate properly formatted Jira tickets via the Jira REST API. A Jira automation rule detects assignment changes and fires a webhook to the Developer agent. The Developer agent extracts the issue description from the webhook payload and calls a GitHub Actions workflow dispatch endpoint. Inside GitHub Actions, Claude Code runs headlessly using the Anthropic API key stored as a repository secret, makes the code change, and creates a PR. A final curl call from the workflow posts the PR URL back to Jira as a comment.

Challenges we ran into

Getting Claude Code to run headlessly in GitHub Actions without browser-based OAuth was the biggest technical challenge. The solution was passing the API key as an environment variable rather than using the login flow. We also hit Jira API field formatting issues, GitHub Actions permission restrictions for PR creation, and the absence of a native Jira assign issue tool in Airia which we solved by building a custom HTTP tool. Passing structured data between agents required Airia's structured output feature combined with individual Python extraction nodes.

Accomplishments that we're proud of

The full loop works end to end with no human intervention between ticket creation and PR opening. Claude Code running inside GitHub Actions against a real repository and producing a real commit is something we did not expect to work as cleanly as it did. The Jira to GitHub Actions webhook chain across three systems with zero localhost infrastructure is the part we are most proud of.

What we learned

Multi-agent systems on hosted platforms require different thinking than local orchestration. The stateless nature of each webhook trigger means every agent must be self-contained and extract everything it needs from the incoming payload. Structured output in Airia is essential for reliable data passing between agents. GitHub Actions is a surprisingly powerful cloud execution environment for AI agents when you need real repository access without managing infrastructure.

What's next for DevFlow AI

Adding a Tester agent that reads the PR, generates test cases, runs them in a separate GitHub Actions job, and posts results back to Jira before the PR can be merged. Extending the Project Manager agent to also handle feature requests and epics, not just bugs. Making the GitHub repository and file structure dynamic so the system works across any codebase without hardcoding paths. Adding Slack notifications so the team gets a message when a PR is ready for review.

Built With

Share this project:

Updates