Jira Integration
This page describes Otto Builder, Otto's ticket-driven workflows that work from Linear or Jira tickets. It is separate from Otto Detective, the pull request reviewer, which never commits, pushes, or merges. Start with the Introduction for Otto Detective.
Connect Otto to Jira to automatically respond to issues and updates.
Connecting Jira
- Go to Settings → Integrations in your Otto dashboard
- Click Connect Jira
- Sign in to Jira and authorize Otto
- Select which projects Otto should have access to
Webhook Events
Otto listens for these Jira events:
| Event | Description |
|---|---|
| Issue created | New issue is created |
| Issue updated | Issue summary, description, or fields change |
| Issue status changed | Issue moves between statuses |
| Label added/removed | Labels are modified |
| Comment created | Someone comments on an issue |
Setting Up Triggers
Status-Based Triggers
Trigger Otto when an issue moves to a specific status:
- Go to Triggers → Create Trigger
- Select Jira status change
- Choose the status (e.g., "In Progress")
- Select which agent should handle it
- Optionally filter by project or issue type
Label-Based Triggers
Trigger Otto when a specific label is applied:
- Create a label in Jira (e.g.,
otto-implement) - In Otto, create a trigger for Jira label added
- Select the label
- Choose the agent
Comment-Based Triggers
Trigger Otto when someone mentions it in a comment:
- Create a trigger for Jira comment created
- Set a keyword filter (e.g.,
@ottoorotto:) - Otto will respond to comments containing that keyword
Project Mapping
Map Jira projects to GitHub or Azure DevOps repositories:
- Go to Projects in Otto
- Click Add Project
- Select a Jira project
- Select the corresponding repository
- Choose the default branch
Now Otto knows where to create PRs for issues in that project.
Best Practices
Use Dedicated Statuses
Create a status specifically for Otto-handled work:
Backlog → To Do → Otto Working → In Review → Done
Prefix Labels
Use a consistent prefix for Otto-related labels:
otto-implement— Full implementationotto-plan— Planning onlyotto-review— Review existing code
Issue Type Filtering
Use Jira issue types (Story, Task, Bug) to route different work to different agents:
- Story agents — Handle new feature development
- Bug agents — Focus on debugging and fixes
- Task agents — Handle technical debt or refactoring
Custom Fields
Take advantage of Jira custom fields in agent context:
- Story points → Help Otto understand scope
- Sprint info → Provide deadline context
- Component tags → Route to specialists
