Skip to main content

Jira Integration

Connect your Atlassian account to Bike4Mind and let AI agents manage Jira issues, track sprints, search with JQL, and receive real-time webhook notifications — all through natural conversation.

Overview

With the Jira integration, you can:

  • Manage issues — create, update, delete, search, transition, and assign issues
  • Bulk operations — create or update up to 50 issues at once
  • Sprint management — create, start, close sprints, and move issues between them
  • Board views — browse Scrum and Kanban boards with configurable grouping
  • JQL search — powerful Jira Query Language search from conversations
  • Issue links — create dependencies, duplicates, and other relationships
  • Attachments — upload, download, and manage issue attachments
  • Webhooks — receive real-time notifications for issue, comment, and sprint events

Getting Started

Step 1: Connect Atlassian

Jira and Confluence share a single Atlassian OAuth connection:

  1. Navigate to Profile → Integrations in Bike4Mind
  2. Click Connect Atlassian
  3. You'll be redirected to Atlassian to authorize access
  4. Review and approve the requested permissions
  5. Select your Atlassian site (if you have access to multiple sites)
  6. You'll be redirected back to Bike4Mind with the connection complete
One Connection, Two Services

Connecting Atlassian grants access to both Jira and Confluence on your selected site. You don't need to connect them separately.

Step 2: Start Using Jira Tools

Once connected, AI agents can access your Jira data. Ask in a conversation:

  • "Search for open bugs in the MOBILE project"
  • "Create a task for updating the API documentation"
  • "Show me the current sprint for the frontend board"
  • "Move PROJ-123 to In Progress"

Atlassian OAuth Flow

The connection follows a multi-step OAuth 2.0 flow:

  1. Connect — Initiates OAuth with CSRF-protected state parameter
  2. Authorize — Redirects to Atlassian for consent
  3. Callback — Receives authorization code, exchanges for tokens
  4. Site Selection — Choose which Atlassian site to connect (auto-selected if only one)
  5. Finalize — Completes connection, enables MCP tools
Token Management

Access tokens are automatically refreshed before expiration. If a token refresh fails, you'll need to reconnect Atlassian in Profile → Integrations.

Key Features

Issue Management

ActionWhat It DoesExample Prompt
Create issueCreate with summary, description, type, priority, assignee, labels"Create a bug for the login crash on iOS"
Bulk createCreate 2-50 issues/subtasks in one operation"Create subtasks for each acceptance criteria"
Update issueModify summary, description, priority, labels"Update PROJ-123 priority to High"
Bulk updateUpdate labels on 2-1,000 issues at once"Add 'sprint-15' label to all open issues"
Search issuesJQL-powered search with filters and pagination"Find all P1 bugs assigned to me"
Delete issuePermanently remove an issue"Delete PROJ-999"

Sprint and Board Management

ActionWhat It DoesExample Prompt
List boardsView all Scrum/Kanban boards"Show me all boards in the MOBILE project"
List sprintsView sprints with state filtering"Show active sprints for board 42"
Create sprintCreate a new sprint with goals and dates"Create a sprint called 'Sprint 16' for next iteration"
Sprint issuesView all issues in a sprint with JQL filtering"Show me bugs in the current sprint"
Move to sprintMove 1-50 issues to a sprint"Move these 5 issues to Sprint 16"
Board configView columns, WIP limits, swimlanes"What's the board configuration?"

Workflow Transitions

ActionWhat It DoesExample Prompt
Get transitionsList available status transitions for an issue"What transitions are available for PROJ-123?"
Transition issueChange issue status with optional comment"Move PROJ-123 to Done with a comment"
Bulk transitionTransition up to 1,000 issues at once"Close all resolved bugs in Sprint 15"
ActionWhat It Does
List link typesView available link types (Blocks, Duplicates, Relates to, etc.)
List issue linksSee all links on an issue
Create linkCreate a dependency between two issues
Create multiple linksBatch create up to 10 links
Delete linkRemove a link between issues

Webhooks

Overview

Jira webhooks deliver real-time notifications when events happen in your Jira projects. Events are routed to Slack channels or DMs based on subscription preferences.

Supported Events

EventDescription
jira:issue_createdNew issue created
jira:issue_updatedIssue fields changed
jira:issue_deletedIssue deleted
comment_createdNew comment on an issue
comment_updatedComment edited
comment_deletedComment deleted
sprint_createdNew sprint created
sprint_updatedSprint details changed
sprint_startedSprint started
sprint_closedSprint completed
sprint_deletedSprint removed

Webhook Configuration

Organization admins manage Jira webhook configs:

MethodEndpointDescription
POST/api/webhooks/jira/configCreate webhook config
GET/api/webhooks/jira/configGet config (secret masked)
PUT/api/webhooks/jira/configUpdate config
DELETE/api/webhooks/jira/configDelete config and subscriptions

Webhook Subscriptions

Individual users subscribe to specific events:

MethodEndpointDescription
GET/api/webhooks/jira/subscriptionsList your subscriptions
POST/api/webhooks/jira/subscriptionsCreate a subscription
PUT/api/webhooks/jira/subscriptions/{id}Update a subscription
DELETE/api/webhooks/jira/subscriptions/{id}Delete a subscription

Subscriptions support filters by project, priority, and issue type, with delivery to Slack channels or DMs.

Secret Rotation

Rotate the webhook secret without downtime:

  1. Call the rotation endpoint to generate a new secret
  2. Both old and new secrets are accepted for 24 hours
  3. Update the secret in your Jira webhook configuration
  4. After 24 hours, only the new secret is accepted

Circuit Breaker

ThresholdBehavior
10 consecutive failuresSubscription auto-disabled
Re-enableUser manually re-enables after investigating

Webhook Rate Limits

LimitValue
Incoming webhooks120 requests/minute per config
Window60-second sliding window
Payload size1 MB maximum
Rate Limit Exceeded

When the rate limit is exceeded, webhooks are rejected with 429 Too Many Requests. Jira will retry with exponential backoff.

Permissions and Scopes

The Atlassian OAuth integration requests these scopes for Jira:

ScopePurpose
read:jira-workRead issues, projects, boards, sprints
write:jira-workCreate and update issues, transitions, comments
manage:jira-projectProject configuration and settings
manage:jira-configurationWorkflow and field configuration

Rate Limits

Atlassian API enforces rate limits:

TypeLimitNotes
REST APIVaries by endpointTypically 100-500 requests/minute
Bulk operationsSubject to standard limitsEach item in bulk counts as a request
Search (JQL)Rate limited separatelyComplex queries may take longer
Atlassian Rate Limit Behavior

When rate limited, Atlassian returns a 429 status with a Retry-After header. Bike4Mind surfaces these errors in the conversation with guidance on when to retry.

Known Limitations

  • Single site connection — you can connect to one Atlassian site at a time. To switch sites, disconnect and reconnect.
  • Subtask depth — only one level of subtasks is supported (no nested subtasks)
  • Bulk operations — create supports 2-50 items, update supports 2-1,000, transition supports 1-1,000
  • JQL complexity — very complex JQL queries may time out on large instances
  • Attachment size — uploads are limited by Jira's configured attachment size limit
  • Webhook payloads — only sanitized data is stored (sensitive fields stripped before storage)

Error Handling

ErrorCauseRecovery
401 UnauthorizedToken expired or revokedReconnect Atlassian in Profile → Integrations
403 ForbiddenInsufficient project permissionsVerify your Jira permissions for the project
404 Not FoundIssue, project, or board doesn't existCheck the issue key or project key
400 Bad RequestInvalid JQL, missing required fieldsCheck error details for specifics
429 Too Many RequestsRate limit exceededWait for the retry-after period

Troubleshooting

For common issues, see the Troubleshooting Guide.

Quick fixes:

  • "Site not found" → Verify your Atlassian site URL is correct
  • "Permission denied" → Check your Jira project role assignments
  • "Token expired" → Reconnect Atlassian in Profile → Integrations
  • Webhook not delivering → Check that the webhook URL and secret are correctly configured in Jira