jira-automation
Jira Automation via Rube MCP
Automate Jira operations through Composio's Jira toolkit via Rube MCP.
Toolkit docs: composio.dev/toolkits/jira
Prerequisites
- Rube MCP must be connected (RUBE_SEARCH_TOOLS available)
- Active Jira connection via
RUBE_MANAGE_CONNECTIONSwith toolkitjira - Always call
RUBE_SEARCH_TOOLSfirst to get current tool schemas
Setup
Get Rube MCP: Add https://rube.app/mcp as an MCP server in your client configuration. No API keys needed — just add the endpoint and it works.
- Verify Rube MCP is available by confirming
RUBE_SEARCH_TOOLSresponds - Call
RUBE_MANAGE_CONNECTIONSwith toolkitjira - If connection is not ACTIVE, follow the returned auth link to complete Jira OAuth
- Confirm connection status shows ACTIVE before running any workflows
Core Workflows
1. Search and Filter Issues
When to use: User wants to find issues using JQL or browse project issues
Tool sequence:
JIRA_SEARCH_FOR_ISSUES_USING_JQL_POST- Search with JQL query [Required]JIRA_GET_ISSUE- Get full details of a specific issue [Optional]
Key parameters:
jql: JQL query string (e.g.,project = PROJ AND status = "In Progress")maxResults: Max results per page (default 50, max 100)startAt: Pagination offsetfields: Array of field names to returnissueIdOrKey: Issue key like 'PROJ-123' for GET_ISSUE
Pitfalls:
- JQL field names are case-sensitive and must match Jira configuration
- Custom fields use IDs like
customfield_10001, not display names - Results are paginated; check
totalvsstartAt + maxResultsto continue
2. Create and Edit Issues
When to use: User wants to create new issues or update existing ones
Tool sequence:
JIRA_GET_ALL_PROJECTS- List projects to find project key [Prerequisite]JIRA_GET_FIELDS- Get available fields and their IDs [Prerequisite]JIRA_CREATE_ISSUE- Create a new issue [Required]JIRA_EDIT_ISSUE- Update fields on an existing issue [Optional]JIRA_ASSIGN_ISSUE- Assign issue to a user [Optional]
Key parameters:
project: Project key (e.g., 'PROJ')issuetype: Issue type name (e.g., 'Bug', 'Story', 'Task')summary: Issue titledescription: Issue description (Atlassian Document Format or plain text)issueIdOrKey: Issue key for edits
Pitfalls:
- Issue types and required fields vary by project; use GET_FIELDS to check
- Custom fields require exact field IDs, not display names
- Description may need Atlassian Document Format (ADF) for rich content
3. Manage Sprints and Boards
When to use: User wants to work with agile boards, sprints, and backlogs
Tool sequence:
JIRA_LIST_BOARDS- List all boards [Prerequisite]JIRA_LIST_SPRINTS- List sprints for a board [Required]JIRA_MOVE_ISSUE_TO_SPRINT- Move issue to a sprint [Optional]JIRA_CREATE_SPRINT- Create a new sprint [Optional]
Key parameters:
boardId: Board ID from LIST_BOARDSsprintId: Sprint ID for move operationsname: Sprint name for creationstartDate/endDate: Sprint dates in ISO format
Pitfalls:
- Boards and sprints are specific to Jira Software (not Jira Core)
- Only one sprint can be active at a time per board
4. Manage Comments
When to use: User wants to add or view comments on issues
Tool sequence:
JIRA_LIST_ISSUE_COMMENTS- List existing comments [Optional]JIRA_ADD_COMMENT- Add a comment to an issue [Required]
Key parameters:
issueIdOrKey: Issue key like 'PROJ-123'body: Comment body (supports ADF for rich text)
Pitfalls:
- Comments support ADF (Atlassian Document Format) for formatting
- Mentions use account IDs, not usernames
5. Manage Projects and Users
When to use: User wants to list projects, find users, or manage project roles
Tool sequence:
JIRA_GET_ALL_PROJECTS- List all projects [Optional]JIRA_GET_PROJECT- Get project details [Optional]JIRA_FIND_USERS/JIRA_GET_ALL_USERS- Search for users [Optional]JIRA_GET_PROJECT_ROLES- List project roles [Optional]JIRA_ADD_USERS_TO_PROJECT_ROLE- Add user to role [Optional]
Key parameters:
projectIdOrKey: Project keyquery: Search text for FIND_USERSroleId: Role ID for role operations
Pitfalls:
- User operations use account IDs (not email or display name)
- Project roles differ from global permissions
Common Patterns
JQL Syntax
Common operators:
project = "PROJ"- Filter by projectstatus = "In Progress"- Filter by statusassignee = currentUser()- Current user's issuescreated >= -7d- Created in last 7 dayslabels = "bug"- Filter by labelpriority = High- Filter by priorityORDER BY created DESC- Sort results
Combinators:
AND- Both conditionsOR- Either conditionNOT- Negate condition
Pagination
- Use
startAtandmaxResultsparameters - Check
totalin response to determine remaining pages - Continue until
startAt + maxResults >= total
Known Pitfalls
Field Names:
- Custom fields use IDs like
customfield_10001 - Use JIRA_GET_FIELDS to discover field IDs and names
- Field names in JQL may differ from API field names
Authentication:
- Jira Cloud uses account IDs, not usernames
- Site URL must be configured correctly in the connection
Quick Reference
| Task | Tool Slug | Key Params |
|---|---|---|
| Search issues (JQL) | JIRA_SEARCH_FOR_ISSUES_USING_JQL_POST | jql, maxResults |
| Get issue | JIRA_GET_ISSUE | issueIdOrKey |
| Create issue | JIRA_CREATE_ISSUE | project, issuetype, summary |
| Edit issue | JIRA_EDIT_ISSUE | issueIdOrKey, fields |
| Assign issue | JIRA_ASSIGN_ISSUE | issueIdOrKey, accountId |
| Add comment | JIRA_ADD_COMMENT | issueIdOrKey, body |
| List comments | JIRA_LIST_ISSUE_COMMENTS | issueIdOrKey |
| List projects | JIRA_GET_ALL_PROJECTS | (none) |
| Get project | JIRA_GET_PROJECT | projectIdOrKey |
| List boards | JIRA_LIST_BOARDS | (none) |
| List sprints | JIRA_LIST_SPRINTS | boardId |
| Move to sprint | JIRA_MOVE_ISSUE_TO_SPRINT | sprintId, issues |
| Create sprint | JIRA_CREATE_SPRINT | name, boardId |
| Find users | JIRA_FIND_USERS | query |
| Get fields | JIRA_GET_FIELDS | (none) |
| List filters | JIRA_LIST_FILTERS | (none) |
| Project roles | JIRA_GET_PROJECT_ROLES | projectIdOrKey |
| Project versions | JIRA_GET_PROJECT_VERSIONS | projectIdOrKey |
Powered by Composio
More from davepoon/buildwithclaude
file-organizer
Intelligently organizes your files and folders across your computer by understanding context, finding duplicates, suggesting better structures, and automating cleanup tasks. Reduces cognitive load and keeps your digital workspace tidy without manual effort.
212xlsx
Comprehensive spreadsheet creation, editing, and analysis with support for formulas, formatting, data analysis, and visualization. When Claude needs to work with spreadsheets (.xlsx, .xlsm, .csv, .tsv, etc) for: (1) Creating new spreadsheets with formulas and formatting, (2) Reading or analyzing data, (3) Modify existing spreadsheets while preserving formulas, (4) Data analysis and visualization in spreadsheets, or (5) Recalculating formulas
187content-research-writer
Assists in writing high-quality content by conducting research, adding citations, improving hooks, iterating on outlines, and providing real-time feedback on each section. Transforms your writing process from solo effort to collaborative partnership.
141docx
Comprehensive document creation, editing, and analysis with support for tracked changes, comments, formatting preservation, and text extraction. When Claude needs to work with professional documents (.docx files) for: (1) Creating new documents, (2) Modifying or editing content, (3) Working with tracked changes, (4) Adding comments, or any other document tasks
122auth-patterns
This skill should be used when the user asks about "authentication in Next.js", "NextAuth", "Auth.js", "middleware auth", "protected routes", "session management", "JWT", "login flow", or needs guidance on implementing authentication and authorization in Next.js applications.
104server-actions
This skill should be used when the user asks about "Server Actions", "form handling in Next.js", "mutations", "useFormState", "useFormStatus", "revalidatePath", "revalidateTag", or needs guidance on data mutations and form submissions in Next.js App Router.
99