Jira to PR
A VS Code extension for moving safely from an assigned Jira ticket to a GitHub pull request.
Workflow
- Run Jira to PR: Connect to Jira, then choose an API token or an Atlassian OAuth access
token issued by your organization’s SSO/OAuth integration.
- Click the Jira to PR briefcase icon in the Activity Bar to open the dashboard.
- Select a ticket from the dashboard or Ticket List to read its title and description.
- Select Create Branch…, edit the suggested name, and approve branch creation.
- Make the code changes.
- Run Jira to PR: Commit, Push, and Create Pull Request for the ticket.
- Review and approve the changed files and commit message.
- Separately approve pushing the branch.
- Review and approve the GitHub repository, branches, title, and description before creating the PR.
Canceling any approval stops that action. Manually entered Jira and GitHub tokens are stored in
VS Code SecretStorage rather than user or workspace settings. GitHub browser sign-in uses VS
Code’s built-in GitHub authentication provider and does not duplicate its token in this extension.
Requirements
- VS Code 1.85 or newer
- Node.js 18 or newer for development
- Git with an
origin remote
- Jira Cloud API token, or an Atlassian OAuth access token that grants access to the selected site
and has Jira read scopes
- For PR creation, a
github.com origin and either VS Code GitHub sign-in or a fine-grained
GitHub token with Pull requests: write permission
The default base branch and branch prefix can be changed in VS Code settings:
{
"jiraToPr.defaultBranch": "develop",
"jiraToPr.branchPrefix": "feature"
}
Development
npm install
npm run typecheck
npm run lint
npm test
npm run build
Press F5 in VS Code to run an Extension Development Host for interactive Jira, Git, and
GitHub testing. External API operations require real credentials and always remain behind the
approval dialogs described above.
Manual deployment
Sign in once with npx vsce login Kayser, or set the VSCE_PAT environment variable. Then use
the command matching the release type:
npm run deploy:patch # 1.0.0 -> 1.0.1 (bug fixes)
npm run deploy:minor # 1.0.0 -> 1.1.0 (new backward-compatible features)
npm run deploy:major # 1.0.0 -> 2.0.0 (breaking changes)
Each command builds the extension, increments the version in package.json, publishes it to the
VS Code Marketplace, and creates a Git commit and version tag.