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_CONNECTIONS with toolkit jira
- Always call
RUBE_SEARCH_TOOLS first 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_TOOLS responds
- Call
RUBE_MANAGE_CONNECTIONS with toolkit jira
- 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 offset
fields: Array of field names to return
issueIdOrKey: 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
total vs startAt + maxResults to 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 title
description: 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_BOARDS
sprintId: Sprint ID for move operations
name: Sprint name for creation
startDate/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 key
query: Search text for FIND_USERS
roleId: 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 project
status = "In Progress" - Filter by status
assignee = currentUser() - Current user's issues
created >= -7d - Created in last 7 days
labels = "bug" - Filter by label
priority = High - Filter by priority
ORDER BY created DESC - Sort results
Combinators:
AND - Both conditions
OR - Either condition
NOT - Negate condition
Pagination
- Use
startAt and maxResults parameters
- Check
total in 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
1---2name: jira-automation3description: Automate Jira tasks via Rube MCP (Composio): issues, projects, sprints, boards, comments, users. Always search tools first for current schemas.4---5
6# Jira Automation via Rube MCP
7
8Automate Jira operations through Composio's Jira toolkit via Rube MCP.
9
10**Toolkit docs**: [composio.dev/toolkits/jira](https://composio.dev/toolkits/jira)
11
12## Prerequisites
13
14- Rube MCP must be connected (RUBE_SEARCH_TOOLS available)
15- Active Jira connection via `RUBE_MANAGE_CONNECTIONS` with toolkit `jira`
16- Always call `RUBE_SEARCH_TOOLS` first to get current tool schemas
17
18## Setup
19
20**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.
21
22
231. Verify Rube MCP is available by confirming `RUBE_SEARCH_TOOLS` responds
242. Call `RUBE_MANAGE_CONNECTIONS` with toolkit `jira`
253. If connection is not ACTIVE, follow the returned auth link to complete Jira OAuth
264. Confirm connection status shows ACTIVE before running any workflows
27
28## Core Workflows
29
30### 1. Search and Filter Issues
31
32**When to use**: User wants to find issues using JQL or browse project issues
33
34**Tool sequence**:
351. `JIRA_SEARCH_FOR_ISSUES_USING_JQL_POST` - Search with JQL query [Required]
362. `JIRA_GET_ISSUE` - Get full details of a specific issue [Optional]
37
38**Key parameters**:
39- `jql`: JQL query string (e.g., `project = PROJ AND status = "In Progress"`)
40- `maxResults`: Max results per page (default 50, max 100)
41- `startAt`: Pagination offset
42- `fields`: Array of field names to return
43- `issueIdOrKey`: Issue key like 'PROJ-123' for GET_ISSUE
44
45**Pitfalls**:
46- JQL field names are case-sensitive and must match Jira configuration
47- Custom fields use IDs like `customfield_10001`, not display names
48- Results are paginated; check `total` vs `startAt + maxResults` to continue
49
50### 2. Create and Edit Issues
51
52**When to use**: User wants to create new issues or update existing ones
53
54**Tool sequence**:
551. `JIRA_GET_ALL_PROJECTS` - List projects to find project key [Prerequisite]
562. `JIRA_GET_FIELDS` - Get available fields and their IDs [Prerequisite]
573. `JIRA_CREATE_ISSUE` - Create a new issue [Required]
584. `JIRA_EDIT_ISSUE` - Update fields on an existing issue [Optional]
595. `JIRA_ASSIGN_ISSUE` - Assign issue to a user [Optional]
60
61**Key parameters**:
62- `project`: Project key (e.g., 'PROJ')
63- `issuetype`: Issue type name (e.g., 'Bug', 'Story', 'Task')
64- `summary`: Issue title
65- `description`: Issue description (Atlassian Document Format or plain text)
66- `issueIdOrKey`: Issue key for edits
67
68**Pitfalls**:
69- Issue types and required fields vary by project; use GET_FIELDS to check
70- Custom fields require exact field IDs, not display names
71- Description may need Atlassian Document Format (ADF) for rich content
72
73### 3. Manage Sprints and Boards
74
75**When to use**: User wants to work with agile boards, sprints, and backlogs
76
77**Tool sequence**:
781. `JIRA_LIST_BOARDS` - List all boards [Prerequisite]
792. `JIRA_LIST_SPRINTS` - List sprints for a board [Required]
803. `JIRA_MOVE_ISSUE_TO_SPRINT` - Move issue to a sprint [Optional]
814. `JIRA_CREATE_SPRINT` - Create a new sprint [Optional]
82
83**Key parameters**:
84- `boardId`: Board ID from LIST_BOARDS
85- `sprintId`: Sprint ID for move operations
86- `name`: Sprint name for creation
87- `startDate`/`endDate`: Sprint dates in ISO format
88
89**Pitfalls**:
90- Boards and sprints are specific to Jira Software (not Jira Core)
91- Only one sprint can be active at a time per board
92
93### 4. Manage Comments
94
95**When to use**: User wants to add or view comments on issues
96
97**Tool sequence**:
981. `JIRA_LIST_ISSUE_COMMENTS` - List existing comments [Optional]
992. `JIRA_ADD_COMMENT` - Add a comment to an issue [Required]
100
101**Key parameters**:
102- `issueIdOrKey`: Issue key like 'PROJ-123'
103- `body`: Comment body (supports ADF for rich text)
104
105**Pitfalls**:
106- Comments support ADF (Atlassian Document Format) for formatting
107- Mentions use account IDs, not usernames
108
109### 5. Manage Projects and Users
110
111**When to use**: User wants to list projects, find users, or manage project roles
112
113**Tool sequence**:
1141. `JIRA_GET_ALL_PROJECTS` - List all projects [Optional]
1152. `JIRA_GET_PROJECT` - Get project details [Optional]
1163. `JIRA_FIND_USERS` / `JIRA_GET_ALL_USERS` - Search for users [Optional]
1174. `JIRA_GET_PROJECT_ROLES` - List project roles [Optional]
1185. `JIRA_ADD_USERS_TO_PROJECT_ROLE` - Add user to role [Optional]
119
120**Key parameters**:
121- `projectIdOrKey`: Project key
122- `query`: Search text for FIND_USERS
123- `roleId`: Role ID for role operations
124
125**Pitfalls**:
126- User operations use account IDs (not email or display name)
127- Project roles differ from global permissions
128
129## Common Patterns
130
131### JQL Syntax
132
133**Common operators**:
134- `project = "PROJ"` - Filter by project
135- `status = "In Progress"` - Filter by status
136- `assignee = currentUser()` - Current user's issues
137- `created >= -7d` - Created in last 7 days
138- `labels = "bug"` - Filter by label
139- `priority = High` - Filter by priority
140- `ORDER BY created DESC` - Sort results
141
142**Combinators**:
143- `AND` - Both conditions
144- `OR` - Either condition
145- `NOT` - Negate condition
146
147### Pagination
148
149- Use `startAt` and `maxResults` parameters
150- Check `total` in response to determine remaining pages
151- Continue until `startAt + maxResults >= total`
152
153## Known Pitfalls
154
155**Field Names**:
156- Custom fields use IDs like `customfield_10001`
157- Use JIRA_GET_FIELDS to discover field IDs and names
158- Field names in JQL may differ from API field names
159
160**Authentication**:
161- Jira Cloud uses account IDs, not usernames
162- Site URL must be configured correctly in the connection
163
164## Quick Reference
165
166| Task | Tool Slug | Key Params |
167|------|-----------|------------|
168| Search issues (JQL) | JIRA_SEARCH_FOR_ISSUES_USING_JQL_POST | jql, maxResults |
169| Get issue | JIRA_GET_ISSUE | issueIdOrKey |
170| Create issue | JIRA_CREATE_ISSUE | project, issuetype, summary |
171| Edit issue | JIRA_EDIT_ISSUE | issueIdOrKey, fields |
172| Assign issue | JIRA_ASSIGN_ISSUE | issueIdOrKey, accountId |
173| Add comment | JIRA_ADD_COMMENT | issueIdOrKey, body |
174| List comments | JIRA_LIST_ISSUE_COMMENTS | issueIdOrKey |
175| List projects | JIRA_GET_ALL_PROJECTS | (none) |
176| Get project | JIRA_GET_PROJECT | projectIdOrKey |
177| List boards | JIRA_LIST_BOARDS | (none) |
178| List sprints | JIRA_LIST_SPRINTS | boardId |
179| Move to sprint | JIRA_MOVE_ISSUE_TO_SPRINT | sprintId, issues |
180| Create sprint | JIRA_CREATE_SPRINT | name, boardId |
181| Find users | JIRA_FIND_USERS | query |
182| Get fields | JIRA_GET_FIELDS | (none) |
183| List filters | JIRA_LIST_FILTERS | (none) |
184| Project roles | JIRA_GET_PROJECT_ROLES | projectIdOrKey |
185| Project versions | JIRA_GET_PROJECT_VERSIONS | projectIdOrKey |
186
187---
188*Powered by [Composio](https://composio.dev)*