All Collections
Integrations and Trust Center
Linking Pull requests to Issues
Linking Pull requests to Issues
Tom Azernour avatar
Written by Tom Azernour
Updated over a week ago

Keypup uses context inference and link detection to automatically enrich your data, add new fields and simplify your reporting. All Keypup needs at times is a little hint, such as linking pull requests to issues in your development tools (GitHub, GitLab, Bitbucket) using auto-closing keywords.

How does it benefit my reporting?

Linking issues to pull requests allows Keypup to populate and improve the following fields:

  • Issues & Pull Requests > Due on: When a pull request is linked to one or more issues, Keypup automatically infers the due date by taking the soonest of all due dates across the pull request and its related issues.

  • Issues & Pull Requests > Resolution State: This field is only applicable to issues. It infers the implementation status of the issue by looking at the associated pull requests. The field can have the following values:

    • None: the issue has no attached pull requests. It is not being implemented.

    • In progress: the issue has at least one open pull request attached to it.

    • Implemented: all attached pull requests are merged or closed.

These two fields can be used to refine your metrics and/or drill down on specific data. E.g. Retrieve the list of overdue issues which - on top of that - are not being currently resolved by a pull request.

Moreover, your links between issues and pull requests are automatically grouped in your card insights. Each card will be populated with the references of issues and pull requests, cross-app comments, due dates, global timeline, etc. This way, you have a single point of entry to see everything related to your linked items.


Linking PRs to Issues from GitHub

Option 1: Via the pull request title

To reference a JIRA issue such as PROJ-123 or a GitHub issue such as my-org/my-project#475 , you can set your pull request title to:

  • [PROJ-123] Resolve problem with login button

  • [my-org/my-project#475] Resolve problem with login button

Option 2: Via the pull request body or a commit message

To do so the reference or URL of your issue must be prefixed by an auto-closing keyword, such as “fixes”, “resolves” or “closes”, for instance:

Caveat with GitHub "Linked issues" feature

It is recommended to avoid linking issues to Pull Request via the Linked issues settings menu on the side of the Pull Request screen.

Issues linked this way are not exposed on the GitHub API. This means third-party applications will be unable to see these links, including Keypup, and therefore the linking will not be applied on your card insights.

Use closing keywords instead, as described previously. Issues linked via closing keywords will still appear under the Linked issues setting menu on GitHub.

Linking PRs to Issues from GitLab

Option 1: Via the merge request title

To reference a JIRA issue such as PROJ-123 or a GitLab issue such as my-org/my-project#475 , you can set your merge request title to:

  • [PROJ-123] Resolve problem with login button

  • [my-org/my-project#475] Resolve problem with login button

Option 2: Via the merge request body or a commit message

To do so the reference or URL of your issue must be prefixed by an auto-closing keyword, such as “fixes”, “resolves” or “closes”, for instance:

Linking PRs to Issues from Bitbucket

Option 1: Via the pull request title

To reference a JIRA issue such as PROJ-123 or a BitBucket issue such as my-org/my-project#475 , you can set your pull request title to:

  • [PROJ-123] Resolve problem with login button

  • [my-org/my-project#475] Resolve problem with login button

Option 2: Via the pull request body or a commit message

To do so the reference or URL of your issue must be prefixed by an auto-closing keyword, such as “fixes”, “resolves” or “closes” - for instance:

  • This PR updates the handler attached to the login button. Fixes PROJ-123

  • Fix the login. Closes my-org/my-project#475

  • This is a fix. Resolves https://bitbucket/my-org/my-project#475

Did this answer your question?