Jump from a GitHub issue straight to its synced Jira twin, in one click.
Install it here → https://opsmill.github.io/github-jira-bookmarklet/
Issue-sync tools like Exalate typically stamp the Jira
side with the GitHub issue URL in a custom field, so going from Jira to GitHub
is one click. The reverse direction is painful: the GitHub issue number isn't
stored in any text-indexed Jira field, so the Jira search bar and text ~
queries never find the twin.
The synced Jira issue carries the GitHub URL in a custom field. That field is
URL-typed, so JQL supports only exact match (~ is rejected with a query
error):
cf[10063] = "https://github.com/owner/repo/issues/1234"
The bookmarklet reads the GitHub issue page you're on, builds that JQL, and opens your Jira search with it — one result, your twin.
- Your sync stores the GitHub issue URL in a Jira custom field. Exalate setups commonly do; any other sync tool or script that fills such a field works just as well.
- You know the field's numeric ID: Jira admin → Issues → Custom fields, or
GET /rest/api/3/fieldand search the response by field name.
- Open the installer page and fill in your Jira site URL and custom field ID.
- Drag the button onto your bookmarks bar.
- Open any GitHub issue and click the bookmark.
All settings live in the installer's URL, so you can share a ready-made link:
https://opsmill.github.io/github-jira-bookmarklet/?site=https://your-company.atlassian.net&field=10063
Teammates who open it land on a preconfigured page — they just drag the button.
Optional parameters: label (bookmark name) and host (GitHub Enterprise
hostname, defaults to github.com).
For example, OpsMill's own preconfigured installer
— GitHub issues on opsmill/* repos sync to opsmill.atlassian.net, where
Exalate fills custom field 10063 ("GitHub URL") with the issue link.
Create a bookmark and paste this as its URL, replacing SITE (e.g.
https://your-company.atlassian.net) and FIELD (e.g. 10063):
javascript:(()=>{var m=location.href.match(/^https:\/\/github\.com\/([^\/]+)\/([^\/]+)\/issues\/(\d+)/);if(!m){alert('This only works on a GitHub issue page.');return}var u='SITE/issues?jql='+encodeURIComponent('cf[FIELD] = "https://github.com/'+m[1]+'/'+m[2]+'/issues/'+m[3]+'"');var w=window.open(u,'_blank');if(!w)location.href=u})()
- Activates only on
github.com/<owner>/<repo>/issues/<number>pages; anywhere else it tells you it has nothing to do. - Pull requests are skipped on purpose — issue syncs don't cover them.
- Everything runs client-side in your browser; nothing is sent anywhere except the Jira search you open.
- Not affiliated with Exalate or Atlassian.
Apache-2.0 © OpsMill SAS