Jira Integration for Release Notes
This document explains how to access Jira from Cursor to create release notes from Jira issues with fix version filters.
Current Status
You have an MCP Atlassian server configured at ~/.cursor/mcp.json, but it’s currently experiencing dependency issues with Pydantic:
TypeError: cannot specify both default and default_factory
Available Solutions
Option 1: Use the Node.js Scripts (Recommended for Quick Use)
Two scripts are provided in the /scripts directory:
1. List Available Fix Versions
# List all projects and their versions
node scripts/jira-list-versions.js
# List versions for a specific project
node scripts/jira-list-versions.js FLOWX
2. Generate Release Notes from Fix Version
# Generate release notes for a specific fix version
node scripts/jira-release-notes.js "5.2.1"
This script will:
- Fetch all issues with the specified fix version
- Group them by type (Features, Improvements, Bug Fixes)
- Display them in an organized format
- Generate an MDX template for your release notes
Output includes:
- Issue summaries and descriptions
- Status, priority, and components
- Links to Jira issues
- Ready-to-use MDX template
Option 2: Fix the MCP Atlassian Server
The MCP server integration would allow you to query Jira directly from Cursor’s chat interface.
Current Configuration
Your MCP configuration (~/.cursor/mcp.json):
{
"mcpServers": {
"mcp-atlassian": {
"command": "uvx",
"args": [
"mcp-atlassian",
"--jira-url=https://flowxai.atlassian.net",
"[email protected]",
"--jira-token=ATATT3xFfGF0nEdzfekswbvRec_2yfVr7fGWqIBC0CtB5kadoxysWfWouWGWFk3Y3ylQV1OLuq_8H9oJjeBQw3N3JSkJ7exXiniW87fCTWJx0-L6xntAT6rVwqN1luDYRbUz_i3SVx2HmvwqfauCy3nzrlMYGCP_n1nXgesyw5_qss6QCjpd8HY=FFAC67A5"
]
}
}
}
Steps to Fix
- Update the mcp-atlassian package:
# Clear uvx cache
rm -rf ~/.cache/uv/
# Update the package
uvx --reinstall mcp-atlassian --version
- Alternative: Use a specific version:
Update your ~/.cursor/mcp.json to pin a working version:
{
"mcpServers": {
"mcp-atlassian": {
"command": "uvx",
"args": [
"mcp-atlassian@latest",
"--jira-url=https://flowxai.atlassian.net",
"[email protected]",
"--jira-token=YOUR_TOKEN_HERE"
]
}
}
}
-
Restart Cursor after making changes
-
Check the logs:
tail -f ~/.cursor/MCP:\ user-mcp-atlassian.log
Option 3: Manual Jira API Queries
You can also use curl or any HTTP client to query Jira directly:
# List projects
curl -u "[email protected]:YOUR_TOKEN" \
-H "Accept: application/json" \
"https://flowxai.atlassian.net/rest/api/3/project"
# Search for issues by fix version
curl -u "[email protected]:YOUR_TOKEN" \
-H "Accept: application/json" \
"https://flowxai.atlassian.net/rest/api/3/search?jql=fixVersion='5.2.1'"
Troubleshooting
Error: “Site temporarily unavailable”
This could mean:
- Jira is temporarily down
- Authentication credentials need to be refreshed
- API endpoint URL needs adjustment
Solution:
MCP Server Won’t Start
Solution:
- Check the logs:
tail -50 ~/.cursor/MCP:\ user-mcp-atlassian.log
- Clear the UV cache:
rm -rf ~/.cache/uv/
- Restart Cursor
API Token Expired
Solution:
- Go to: https://id.atlassian.com/manage-profile/security/api-tokens
- Create a new API token
- Update the token in:
~/.cursor/mcp.json (for MCP server)
/scripts/jira-release-notes.js (for Node.js scripts)
Usage Examples
Example 1: Generate Release Notes for Version 5.2.1
node scripts/jira-release-notes.js "5.2.1" > release-notes-5.2.1.txt
Example 2: Find All Unreleased Versions
node scripts/jira-list-versions.js FLOWX | grep "🚧 Unreleased"
Example 3: Copy Output to Clipboard (macOS)
node scripts/jira-release-notes.js "5.2.1" | pbcopy
Next Steps
- Test the scripts: Try running
node scripts/jira-list-versions.js to verify connectivity
- Generate sample release notes: Run
node scripts/jira-release-notes.js "<version>" with a known version
- Fix MCP server (optional): If you want Cursor integration, follow the MCP server fix steps above
Security Note
⚠️ Important: The scripts contain your Jira API token. Do not commit these files to version control if you’ve added your token. Consider using environment variables instead:
const JIRA_TOKEN = process.env.JIRA_API_TOKEN || 'YOUR_TOKEN_HERE';
Then export the token in your shell:
export JIRA_API_TOKEN="your-token-here"
Support
If you continue experiencing issues:
- Check the Jira REST API documentation
- Verify your Jira Cloud instance is accessible
- Test authentication with a simple curl command
- Check if your API token has the required permissions
Last modified on December 23, 2025