Our GitHub integration allows you to import pull requests and issues to better track development activities across all - or selected - projects in one place. 

Development items are automatically prioritized based on due dates and recommended actions. Issues and pull requests can be also cross-referenced (auto-linking) and aggregated to further optimize your priority inbox.

Note on security: we do NOT fetch your code. Keypup doesn't need to access your code in order to evaluate priorities on development items. Be assured that if we ever needed to access your code in the future in order to deliver a new feature we would make it an opt-in feature. See section below "What data do we collect?".

Also important: we NEVER update data automatically in third-party applications. Updates in third-party applications are ONLY performed under your control via remote actions. See section below "What remote actions can you perform?".

> What data do we collect?

Our GitHub integration fetches the following entities:

  • Comments: used for display in the dashboard

  • Issues: used for display and auto-linking to pull requests. Due dates on issues are factored when evaluating the due date of related pull requests.

  • Labels: used for display in the dashboard. Labels on issues are also applied on related pull requests.

  • Milestones: used to retrieve the due date of items.

  • Pull requests: used for display on the dashboard. Pull requests can reference issues via auto-linking (title or description) and nest them in the Priority Inbox.

  • Pull request build status: used to evaluate the readiness of a pull request and recommend actions.

  • Review requests: used to detect who are the reviewers of a given pull request. If reviewers are on Keypup then the item will appear in their Priority Inbox.

  • Review: used to evaluate the review/approval status of pull requests and recommend actions.

> What remote actions can you perform?

Our GitHub integration allows you to perform the following remote actions from the dashboard:

  • Link pull requests and issues: pull requests and issues can be linked to each other directly from the Priority inbox using the link icon. In order to link items we update the description of the parent pull request and add a closes: https://issue-url.domain  auto-linking keyword at the bottom of it.

  • Merge pull requests: approved pull requests with a green build - if any - and a mergeable status can be merged directly from the Priority Inbox and Review & Merge board.

  • Quick reply on items: it is possible to comment on a pull request or an issue from the Priority inbox. For issues, replies can be done either directly on the issue or via the issue activity feed when an issue is nested under a pull request.

> How often do we refresh data?

Updates from GitHub are received in real-time via webhooks.

If for any reason we are unable to setup real-time updates on GitHub - e.g. the user who connected GitHub has no admin access on a given project - then we revert to long polling data every 20 minutes.

Whenever possible we recommend connecting GitHub projects as an admin to get the best experience.

Note on API throttling: GitHub has strict API rate limitations and it may take Keypup up to a few hours to retrieve historical data the first time you connect projects. The duration depends on how many projects you connect and how much history you have in each project. But don't worry we will send you a confirmation email once projects have finished importing.

Simply use the URL or #id ('#' + 'id') or reference (org/project#123) of a GitHub issue in your pull request title, description, or in one of your commit messages.

Example of GitHub issue

E.g. linking via pull request title

  • The issue is in the same project as the PR: #9 My PR title 

  • The issue is in a different project: KeypDemoCorp/awesome-ui#9 My PR title 

E.g. linking via pull request description

This is my PR description.

# Via URL
closes: https://github.com/KeypDemoCorp/awesome-ui/issues/9

# Via ID if the issue is in the same project as the PR
closes: #9

# Via reference if the issue is in a different project
closes: KeypDemoCorp/awesome-ui#9

E.g. linking via commit message

# Via reference if the issue is in a different project
KeypDemoCorp/awesome-ui#9 My commit title

- Decrease popover delays on dashboard components

# Via reference using auto linking keywords
closes: KeypDemoCorp/awesome-ui#9

# Via ID if the issue is in the same project as the PR
closes: #9

# Via URL
closes: https://github.com/KeypDemoCorp/awesome-ui/issues/9

Caveat with GitHub "Linked issues" feature

Please do not link 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 unfortunately. This means any third-party application will be unable to see these links, including Keypup.

Use closing keywords instead, as described in the previous sections. Issues linked via closing keywords will still appear under the Linked issues setting menu don't worry.

Did this answer your question?