Table of Contents
Documentation
Complete guide to setting up and using GitHub Copilot for Jira. Transform any Jira issue into a GitHub issue with automatic Copilot assignment, enabling AI-powered code generation and pull request creation directly from your project management tool.
What This App Does
- •One-Click Issue Assignment: Transform Jira issues into GitHub issues assigned to Copilot
- •Automatic AI Integration: GitHub Copilot analyzes the issue and creates pull requests automatically
- •Status-Based Automation: Automatically trigger Copilot assignment when issues change status
- •Assignment Tracking: Keep track of all GitHub issues and linked PRs created from Jira
- •Seamless Integration: Links back to Jira with comments and development panel entries
Quick Start
1. Install the App
Install GitHub Copilot for Jira from the Atlassian Marketplace to your Jira Cloud instance.
Install from Marketplace →2. Configure GitHub
Connect your GitHub repositories and configure your Personal Access Token for seamless integration.
View Configuration Guide →Installation
Prerequisites
- • Jira Cloud instance with admin permissions
- • GitHub account with repository access and GitHub Copilot enabled
- • GitHub Personal Access Token with appropriate permissions
Installation Steps
- 1. Visit Atlassian Marketplace
Go to the Atlassian Marketplace and search for "GitHub Copilot for Jira"
- 2. Install the App
Click "Get it now" and follow the installation prompts for your Jira instance
- 3. Grant Permissions
Review and accept the required permissions for the app to function properly
- 4. Complete Setup
Navigate to project settings to configure your GitHub integration
Configuration
GitHub Personal Access Token
You'll need a GitHub Personal Access Token (PAT) to allow the app to create issues and manage repositories on your behalf.
For Classic Tokens:
- •
repo- Full control of private repositories
For Fine-grained Tokens:
- • Actions: Read and Write
- • Contents: Read and Write
- • Issues: Read and Write
- • Pull Requests: Read and Write
Setup Steps:
- 1. Paste your token in the "GitHub Personal Access Token" field
- 2. The app will automatically validate the token permissions
- 3. Click Save Configuration
GitHub Repositories
Add one or more repositories where Copilot can create issues and PRs in the format: owner/repository-name
Examples:
- •
octocat/Hello-World - •
mycompany/web-frontend - •
myorg/api-backend
Setup:
- 1. Type the repository name in "owner/repo" format
- 2. Click Add Repository
- 3. Repeat for additional repositories
- 4. Remove repositories with the "Remove" button if needed
Naming Preferences
Configure how Jira issue IDs are included in GitHub:
| Setting | Description | Example |
|---|---|---|
| Include ticket ID in PR title | Adds [PROJ-123] to PR titles | [PROJ-123] Implement user auth |
| Include Jira issue ID in GitHub issue | Adds Jira ID to GitHub issue titles | [PROJ-123] Implement user auth |
Default: Both options are enabled for better traceability
Automation Rules
Automatically trigger GitHub Copilot assignment when issues transition to specific statuses.
When to Use Automation:
- • Development Workflow Integration: Trigger when issues move from "To Do" to "Ready for Development"
- • Sprint Planning: Auto-assign when issues move to "Sprint Ready"
- • Code Review Process: Trigger when issues reach "Ready for Implementation"
- • Team Workflow: Match your team's specific Jira workflow states
Setting Up Automation Rules:
- 1. Add New Automation Rule section in configuration
- 2. Select Target Status: Choose from dropdown of available project statuses
- 3. Choose Repository: Select which repository to use for this automation
- 4. Configure Duplicate Handling:
- • ✅ Skip if issue already assigned (Recommended): Prevents duplicate GitHub issues
- • ❌ Allow duplicates: Creates new GitHub issue every time status changes
Example Automation Rules:
| Target Status | Repository | Skip Duplicates | Use Case |
|---|---|---|---|
| "Ready for Development" | company/frontend | ✅ | Trigger when PO approves requirements |
| "Sprint Ready" | company/backend | ✅ | Auto-start development in sprint |
| "Code Review" | company/mobile-app | ❌ | Create new issue for review iterations |
How to Use
Manual Assignment (Traditional Workflow)
Finding the GitHub Copilot Panel:
On any Jira issue page:
- 1. Look for the "GitHub Copilot" panel on the right sidebar
- 2. The panel appears below other issue details
Creating a GitHub Issue with Copilot Assignment:
Single Repository Setup:
If you have only one repository configured:
- 1. Click "Assign to GitHub Copilot"
- 2. The app automatically uses your configured repository
Multiple Repository Setup:
If you have multiple repositories:
- 1. Select the target repository from the dropdown menu
- 2. Click "Assign to GitHub Copilot"
Automated Assignment
How Automation Works:
- • Trigger: When you move a Jira issue to a configured status
- • Action: Automatic GitHub issue creation and Copilot assignment
Example Workflow:
- 1. Issue Creation: Developer creates Jira issue with status "To Do"
- 2. Requirements Review: Product Manager reviews and moves to "Ready for Development"
- 3. Automatic Trigger: App detects status change and creates GitHub issue
- 4. Copilot Assignment: GitHub Copilot automatically starts analyzing the issue
- 5. Notification: Jira issue gets updated with GitHub issue link and automation comment
Automation Comments:
When automation triggers, the app adds a comment to your Jira issue:
🤖 GitHub Issue created and assigned to GitHub Copilot: [link]
GitHub Copilot will analyze this issue and create a Pull Request automatically.
Duplicate Prevention:
Skip if Already Assigned (Recommended):
- • Checks if issue has any previous GitHub assignments
- • Skips automation if assignments already exist
- • Prevents multiple GitHub issues for the same Jira issue
Allow Duplicates:
- • Creates new GitHub issue every time status changes to target status
- • Useful for iterative processes or review cycles
- • Each assignment creates a separate GitHub issue
Understanding Assignment History
The Previous Assignments section shows both manual and automated assignments:
Expandable History List:
- • Click the arrow (▶) to expand/collapse
- • Shows total count: "Previous Assignments (3)"
Each History Entry Displays:
- • Repository: Which GitHub repository was used
- • Date: When the GitHub issue was created
- • GitHub Issue Link: Direct link to the created GitHub issue
- • Linked Pull Requests: PRs created by Copilot with status indicators
PR Status Indicators:
- • open Blue tag: Open PR (in progress)
- • merged Green tag: Merged PR (completed)
- • closed Red tag: Closed PR (not merged)
Compact Display:
- • Shows up to 3 PRs per assignment
- • Additional PRs shown as "+2" if more exist
- • Click PR numbers to view them in GitHub
Troubleshooting
Common Issues
❌ "GitHub token not configured"
Solution:
- 1. Go to Project Settings → Apps → GitHub Copilot Configuration
- 2. Add your GitHub Personal Access Token
- 3. Ensure it has the required permissions
❌ "No repositories configured"
Solution:
- 1. Add at least one repository in format:
owner/repo - 2. Save the configuration
- 3. Try the assignment again
❌ "Please select a repository"
Solution:
- 1. Choose a repository from the dropdown menu
- 2. This appears when multiple repositories are configured for manual assignment
❌ "Failed to create GitHub issue"
Possible Causes:
- • Invalid repository name format
- • Repository doesn't exist or isn't accessible
- • GitHub token lacks necessary permissions
- • Network connectivity issues
Solution:
- 1. Verify repository exists and you have access
- 2. Check token permissions
- 3. Try again after a few minutes
❌ "Failed to assign GitHub Issue to Copilot"
Possible Causes:
- • Copilot doesn't have access to the repository
- • Repository settings don't allow Copilot
- • Token lacks assignment permissions
Solution:
- 1. Ensure Copilot is enabled for your repository
- 2. Check your GitHub Copilot subscription status
- 3. Verify token has workflow permissions
Automation Rule Errors
❌ "A rule for this status already exists"
- • You can only have one automation rule per status
- • Remove the existing rule first, then create a new one
❌ "Target status is required"
- • Select a status from the dropdown menu
- • If dropdown is empty, check your Jira project configuration
❌ "Repository is required"
- • Select a repository for the automation rule
- • Add repositories first before creating automation rules
❌ "Failed to load project statuses"
- • Check your Jira project permissions
- • Try refreshing the page
- • Contact your Jira administrator
Automation Troubleshooting
Automation not triggering:
- 1. Verify the automation rule is configured correctly
- 2. Check that the issue actually changed to the target status
- 3. Look for automation comments in the Jira issue
- 4. Check if "skip duplicates" is preventing the trigger
Multiple GitHub issues created:
- 1. This happens when "Allow duplicates" is enabled
- 2. Consider enabling "Skip if already assigned" for most rules
- 3. Review your automation rule configuration
Wrong repository used:
- 1. Check which repository is specified in the automation rule
- 2. Edit the rule by removing and recreating it
Validation Features
The app includes built-in validation:
- • ✅ Token validation before saving
- • ✅ Repository format checking
- • ✅ Permission verification
- • ✅ Status availability checking
- • ✅ Automation rule uniqueness validation
- • ✅ Error message sanitization
Advanced Configuration
What Gets Created
GitHub Issue Format
Title Example:
[PROJ-123] Implement user authentication systemDescription Example:
As a user, I want to be able to log in to the system so that I can access my personal dashboard. ## Acceptance Criteria - Login form with username/password - Remember me checkbox - Password reset functionality - Redirect to dashboard after login --- Use the key [PROJ-123] in the beginning of the PR title. *Automatically created from Jira issue: PROJ-123*
Jira Integration
Manual Assignment Comment:
🤖 GitHub Issue created and assigned to GitHub Copilot: [link]
GitHub Copilot will analyze this issue and create a Pull Request automatically.
Automated Assignment Comment:
🤖 Automatically assigned to GitHub Copilot due to status change to "Ready for Development". View GitHub Issue →
GitHub Copilot will analyze this issue and create a Pull Request automatically.
Issue Writing Tips for Better Copilot Results
Be Specific:
Good: "Create a REST API endpoint for user registration with email validation"
Poor: "Add user stuff"
Include Acceptance Criteria:
## Acceptance Criteria - [ ] Endpoint accepts POST requests to /api/register - [ ] Validates email format - [ ] Returns appropriate error codes - [ ] Saves user to database
Mention Technology Stack:
"Implement using Node.js and Express framework with PostgreSQL database"
For Automation - Use Clear Status Names:
- • Use descriptive status names like "Ready for Development" instead of generic "Open"
- • Align status names with your team's actual workflow
- • Consider creating specific statuses for automation triggers
Security & Privacy
Token Storage
- • GitHub tokens are securely stored using Forge's Storage API
- • Tokens are stored per-project (not shared between projects)
- • No tokens are exposed in client-side code or logs
Data Handling
- • Only issue title and description are sent to GitHub
- • No sensitive Jira data is stored in GitHub
- • All API calls use HTTPS encryption
- • Automation triggers are processed securely within Forge runtime
Required Permissions
The app requires these Jira permissions:
- • Read Jira Work: Access issue details and status changes
- • Write Jira Work: Add comments and links
- • Storage: Save configuration and automation rules per project
- • Issue Updates: Listen for status change events (for automation)
Best Practices
- • Use tokens with minimal required scopes
- • Regularly rotate your GitHub tokens
- • Don't share tokens between projects
- • Review repository access periodically
- • Review automation rules regularly
- • Test automation rules in development projects first
Support
Documentation
This documentation covers all aspects of installation, configuration, and usage.
Contact Support
For technical support, please contact us or refer to the app listing in the Atlassian Marketplace.
Version: 1.1 | Platform: Atlassian Forge | Last Updated: December 1, 2025
