A Claude Code skill for integrating with Jira, Confluence, and Bitbucket. Supports both Cloud and Data Center deployments.
Note: This project has been tested and verified on Atlassian Data Center. Cloud functionality has not been verified yet. If you encounter any issues with Cloud deployments, please report them.
Skills are folders containing a SKILL.md file that teach Claude Code new capabilities. When you add this skill to your project, Claude can directly interact with your Atlassian products - creating issues, searching pages, managing pull requests, and more.
This project provides two skill variants to match your access needs:
The complete skill with all read and write operations. Use this if you need Claude to:
- Create, update, or delete Jira issues
- Create or modify Confluence pages
- Create or merge pull requests in Bitbucket
- Perform any write operations
A streamlined variant containing only read operations. Recommended if you only need read access because it:
- Reduces token consumption - Smaller SKILL.md means less context sent to the LLM
- Prevents accidental modifications - No write operations are exposed
- Improves safety - Ideal for users with read-only permissions or when you want to prevent data changes
The readonly variant includes:
- Viewing Jira issues, searching with JQL, checking workflows and sprints
- Reading Confluence pages, searching with CQL, viewing comments and labels
- Browsing Bitbucket projects, repositories, pull requests, and commits
Choose atlassian-readonly-skills unless you specifically need write capabilities.
- Jira: Issue management, search (JQL), workflows, agile boards, sprints, worklogs
- Confluence: Page management, search (CQL), comments, labels
- Bitbucket: Projects, repositories, pull requests, code search, commit history
- Dual Authentication: Cloud (API Token) and Data Center (PAT Token)
- Unified Response Format: All functions return flattened JSON structures
-
Clone or copy the skill folder into your project:
atlassian-skillsfor full read/write accessatlassian-readonly-skillsfor read-only access (recommended if you don't need write operations)
-
Install dependencies:
# For full access
pip install -r atlassian-skills/requirements.txt
# For read-only access
pip install -r atlassian-readonly-skills/requirements.txtCreate a .env file in the skill folder (copy from .env.example):
atlassian-skills/.envfor full accessatlassian-readonly-skills/.envfor read-only access
Both variants use the same configuration format:
# Cloud
JIRA_URL=https://your-company.atlassian.net
[email protected]
JIRA_API_TOKEN=your_api_token
# Data Center / Server
JIRA_URL=https://jira.your-company.com
JIRA_PAT_TOKEN=your_pat_token# Cloud
CONFLUENCE_URL=https://your-company.atlassian.net/wiki
[email protected]
CONFLUENCE_API_TOKEN=your_api_token
# Data Center / Server
CONFLUENCE_URL=https://confluence.your-company.com
CONFLUENCE_PAT_TOKEN=your_pat_tokenBITBUCKET_URL=https://bitbucket.your-company.com
BITBUCKET_PAT_TOKEN=your_pat_tokenGet your API tokens:
- Cloud: https://id.atlassian.com/manage-profile/security/api-tokens
- Data Center: Profile → Personal Access Tokens
Once configured, simply ask Claude to perform Atlassian operations:
"Create a bug in project MYPROJ with title 'Login button not working' and high priority"
"Search for all in-progress issues assigned to me"
"Transition MYPROJ-123 to Done with a comment"
"Add 2 hours of work to MYPROJ-456"
"Show me all sprints on board 10"
"Create a new page in DEV space titled 'API Documentation'"
"Search for pages containing 'deployment guide'"
"Add a comment to page 12345"
"Add label 'reviewed' to the architecture page"
"Create a pull request from feature/auth to master in my-repo"
"Show me the last 10 commits on develop branch"
"Search for code containing 'authenticate' in project PROJ"
"Get the diff for PR #42"
jira_issues
jira_get_issue- Get issue detailsjira_create_issue- Create a new issuejira_update_issue- Update an existing issuejira_delete_issue- Delete an issuejira_add_comment- Add a comment to an issue
jira_search
jira_search- Search issues using JQLjira_search_fields- Search field definitions
jira_workflow
jira_get_transitions- Get available status transitionsjira_transition_issue- Transition issue to a new status
jira_agile
jira_get_agile_boards- Get agile boardsjira_get_board_issues- Get issues from a boardjira_get_sprints_from_board- Get sprints from a boardjira_get_sprint_issues- Get issues in a sprintjira_create_sprint- Create a new sprintjira_update_sprint- Update a sprint
jira_links
jira_get_link_types- Get available link typesjira_create_issue_link- Create a link between issuesjira_link_to_epic- Link an issue to an epicjira_remove_issue_link- Remove a link
jira_worklog
jira_get_worklog- Get worklog entriesjira_add_worklog- Add a worklog entry
jira_projects
jira_get_all_projects- Get all projectsjira_get_project_issues- Get issues for a projectjira_get_project_versions- Get versions for a projectjira_create_version- Create a new version
jira_users
jira_get_user_profile- Get user profile
confluence_pages
confluence_get_page- Get a page by ID or titleconfluence_create_page- Create a new pageconfluence_update_page- Update an existing pageconfluence_delete_page- Delete a page
confluence_search
confluence_search- Search content using CQL
confluence_comments
confluence_get_comments- Get comments for a pageconfluence_add_comment- Add a comment to a page
confluence_labels
confluence_get_labels- Get labels for a pageconfluence_add_label- Add a label to a pageconfluence_remove_label- Remove a label from a page
bitbucket_projects
bitbucket_list_projects- List projectsbitbucket_list_repositories- List repositories
bitbucket_pull_requests
bitbucket_create_pull_request- Create a pull requestbitbucket_get_pull_request- Get pull request detailsbitbucket_merge_pull_request- Merge a pull requestbitbucket_decline_pull_request- Decline a pull requestbitbucket_add_pr_comment- Add a comment to a pull requestbitbucket_get_pr_diff- Get the diff of a pull request
bitbucket_files
bitbucket_get_file_content- Get file content from a repositorybitbucket_search- Search for code or files
bitbucket_commits
bitbucket_get_commits- Get commit historybitbucket_get_commit- Get details of a specific commit
All functions return JSON with consistent error format:
{
"success": false,
"error": "Issue not found: PROJ-999",
"error_type": "NotFoundError"
}Error types: ConfigurationError, AuthenticationError, ValidationError, NotFoundError, APIError, NetworkError
For worklogs: 1w (week), 2d (days), 3h (hours), 30m (minutes), or combined like 1d 4h 30m
This project includes comprehensive test coverage with 203 test cases covering all 45 methods across Jira, Confluence, and Bitbucket.
# Install test dependencies
pip install -r test/requirements.txt
# Run all tests
pytest test/ -v
# Run specific module tests
pytest test/test_jira_*.py -v
pytest test/test_confluence_*.py -v
pytest test/test_bitbucket_*.py -v
# Generate coverage report
pytest test/ --cov=atlassian-skills/scripts --cov-report=htmlSee test/README.md for detailed testing documentation.
MIT License