# Connect Jira through the Atlassian MCP so tickets flow through the factory

> Hook the Software Factory to Jira with Atlassian's Rovo MCP server: read a ticket, then post living Plan, Test Results, Execution Summary, and Handoff comments.

Level: Advanced
Tool: Agents
Category: Building
Time: About 25 minutes
Checked: 2026-10-15
Tools: [Atlassian Rovo MCP Server](https://developer.atlassian.com/cloud/rovo-mcp/), [Getting started guide](https://developer.atlassian.com/cloud/rovo-mcp/guides/getting-started/)
HTML page: https://easyaihowtos.com/guides/software-factory-jira-atlassian-mcp

**Part of the Software Factory series, a pattern by [Greg Alton](https://www.linkedin.com/in/greg-alton-ios).** The ticket is the factory's work order. With the Atlassian MCP server, the factory reads the ticket at the start of the line and leaves a living paper trail on it at every station.

## What you need

- A Jira Cloud site you can sign in to
- An MCP-capable coding agent
- The tracker clerk sub-agent from part 3

## Steps

### 1. Add the Atlassian MCP server

Atlassian runs an official remote MCP server. Add its URL to your agent's MCP settings (many clients also offer a one-click Atlassian plugin):
```json
{
  "mcpServers": {
    "atlassian": {
      "url": "https://mcp.atlassian.com/v2/mcp"
    }
  }
}
```
On first use, the client opens a browser for **OAuth 2.1** sign-in (a standard login flow, so your password never goes to the agent). Everything the agent does is limited to your own Jira permissions. API-token login exists for headless use if your admin enables it.

### 2. Give the tracker tools to the clerk only

In the clerk's front matter, list the Atlassian tools it needs. In every other agent's front matter, leave them out (or list them as disallowed). The orchestrator decides **what** to post; the clerk only posts it.

### 3. Teach the clerk two verbs

```markdown
---
name: factory-tracker
description: Reads one Jira ticket or creates/updates one titled factory comment. Nothing else.
model: haiku
---
Do only the verb in the instruction.

read KEY → return key, summary, status, type, parent, description
(trimmed to 800 chars), URL.

upsert KEY TITLE BODY → find the latest comment starting with TITLE.
If found, update it; otherwise create it. If update fails, create a
new one starting "Supersedes comment {id}."
Post real headings, lists, and tables, not one code block.

Never transition issues, edit fields, or print tokens.
Return: op, key, action (created/updated/failed), comment_id, url.
```

### 4. Post the artifacts in production-line order

1. After planning: **Plan — KEY** with a task table (all "not started").
2. As soon as tests exist and fail: **Test Results — KEY** with a test table. Update rows as tests go RED to GREEN.
3. After the full suite is green: **Execution Summary — KEY**.
4. After review: **Handoff — KEY** with the PR link, review comment, and disposition report.

The Factory Manager forbids commits or PRs until the first three exist and are current.

### 5. Try it on one ticket

Ask your orchestrator to start a ticket, then watch Jira. You should see the Plan comment appear before any code changes, and the Test Results table fill in as the code station works.

Prompt:

```
Start factory work on ticket KEY-123. Follow AGENTS.md: read the ticket via the tracker clerk, explore, plan, and post the Plan comment. Stop before writing code and show me the plan.
```

## Tips

- Ask the clerk to update one living comment per title instead of adding new ones. The ticket stays readable.
- If the MCP server is disconnected or unauthorized, the factory should stop and say so, never fall back to pasted API tokens.
- Check Atlassian's supported-tools page for current tool names; they change as the server adds features.

## FAQ

### Does this work with Jira Server or Data Center?

Atlassian's hosted MCP server is for Atlassian Cloud. For self-hosted Jira, use a community MCP server or keep the artifacts in a plan file in the repo.

### Can the agent move tickets between columns?

The server supports transitions, but this pattern keeps the clerk to reading and commenting. Moving tickets stays a human decision.

### What if my company blocks MCP?

Keep the same four artifacts as Markdown files in the repo (for example docs/plans/KEY.md) and paste them into the ticket yourself.

---

This guide is from Easy AI How-To (https://easyaihowtos.com). It is independent of the tools named above. Screens and free-plan limits change, so check the date before you rely on a button name.
