Jira MCP Server + GitHub MCP Server

Intermediate45 minutes
Use Cases

Common Use Cases

  • Branch-to-issue linking
  • Auto-status transitions
  • PR description templates
  • Sprint code tracking
Before You Begin

Prerequisites

  • Jira project with API access
  • GitHub repository
  • Consistent branch naming convention
Walkthrough

Step-by-Step Guide

1

Define Naming Convention

Establish a branch naming pattern that includes the Jira issue key (e.g., feature/PROJ-123-description).

2

Auto-Link Branches

When a branch is created with a Jira key, automatically add a comment to the Jira issue.

3

Sync PR Status

When a PR is opened, move the Jira issue to 'In Review'. When merged, move to 'Done'.

async function syncPRToJira(pr) {
  const issueKey = extractJiraKey(pr.head.ref); // e.g., PROJ-123
  if (!issueKey) return;
  if (pr.state === "open") {
    await jira.transitionIssue({ issueKey, transition: "In Review" });
    await jira.addComment({ issueKey, body: `PR opened: ${pr.html_url}` });
  } else if (pr.merged) {
    await jira.transitionIssue({ issueKey, transition: "Done" });
  }
}
4

Generate Sprint Reports

Aggregate GitHub activity per Jira sprint for sprint review meetings.

Examples

Code Examples

typescript
Issue Key Extractor
function extractJiraKey(branchName) {
  const match = branchName.match(/([A-Z]+-\d+)/);
  return match ? match[1] : null;
}
Help

Troubleshooting

What if the branch name doesn't contain a Jira key?+
How do I handle multiple issues per PR?+

Quick Info

DifficultyIntermediate
Time Estimate45 minutes
Tools
Jira MCP ServerGitHub MCP Server

Need Integration Help?

Our team can implement this integration for you.

Get in Touch