Key Results from GitHub

Overview

If you have projects stored in GitHub issues, you may have key results based on progress made towards these projects. In this case, you can automate the tracking of progress towards the Key Result based on data from GitHub issues. The GitHub data connector for WorkBoard enables you to pull in counts of issues based on custom filters. Issues can be filtered based on key properties like Project, Status, Date and Labels. 

Please note that the GitHub data connector requires no additional configuration for out-of-the-box use for all users by default. However, enterprise admins often place restrictions on which applications users can access.

Configuring a Data Connector

Prior to setting up a new Key Result data connector, your organization’s IT Administrator may need to approve the connector if there is an approval configuration. Once enabled, any user can have their Key Results measure progress from that specific connector. 

  1. Create a new Key Result by selecting the kebab menu (3 dots) next to the applicable Objective.
    • If the Objective hasn't been created, simply select Create > Team Objective or Personal Objective, then enter your Key Result name.
  2. Select Edit Settings from the dropdown. 
  3. Click Add another key result and enter your Key Result name.
  4. Select Advanced options, then Pull data from external applications. 
  5. Choose the applicable data source from one of the options:Screenshot 2023-07-18 at 11.55.14 AM.png
  6. Log in to the application by inputting your credentials. 
    • Please note that for some applications, you will also need to create an API key or provide OAuth2 information. This information is Read Only. 
  7. Once enabled, your Key Results will automatically update based on the update cadence specified in the Key Result's configuration.
  8. If you need to manually sync an update, use the Sync Integration Data option from the kebab menu (three dots) in the upper right-hand corner of the Key Result details page.

Setting up a Key Result from GitHub

  1. After selecting GitHub from the list of integrations, you'll need to sign in through OAuth or by providing a PAT (personal access token).
    • OAuth → for most customers, the default GitHub URL will be the correct URL for your site. However, if your company leverages a custom domain for your GitHub repository you will need to input that custom URL here.
    • PAT → Rather than allowing access by OAuth, some users may prefer to create and manage application-specific access by leveraging Personal Access Tokens (PAT). To use PAT for authentication change the dropdown to PAT and enter in your custom URL and Personal Access Token. For information on how to create a PAT see the GitHub documentation on creating Personal Access Tokens. Similarly to OAuth, the default url for most customers will the pre-filled value, if your organization uses a custom domain for GitHub, you will need to alter the API url to the correct value here. 
      mceclip0.png
  2. Select the Organization and Repository that you want to pull a list of issues from. Currently, WorkBoard does not support pulling a list of issues from multiple Organizations or Repositories. 
    • Optionally, use the dropdown to select additional filters to limit issues by.
      mceclip1.png

  3. Select the timeframe by which to filter issues by certain due dates. 
  4. For real-time validation of data before connecting, select Preview results.
  5. Choose Connect to finalize the integration setup. 
  6. Enter the remaining Key Result details, then select an Update Cadence to determine how often WorkBoard will sync to pull the latest value for your Key Result.
    Note: Update cadence has the same options you would find for Key Results updated by a person (i.e., Daily, Weekly, Monthly, and Quarterly).
  7. When finished, select Save to lock in the settings for your Key Result, then Done to apply these changes to your Objective.

Synchronize Data from GitHub

WorkBoard will effortlessly sync Key Result updates directly from the data connector based on the specified update cadence. You can manually sync Key Result updates, if needed, in two ways:

Force a Sync on a Single Key Result:

  1. Select Key Result to navigate to the Key Results Details page.
  2. Click the kebab menu (3 dots) in the upper right-hand corner of the page.
  3. Select Sync Integration Data.
    mceclip0.png

Force a Sync for all Key Result Integrations:

  1. From the My Objectives Page, select the kebab menu in the upper right-hand corner.
  2. Select Sync Integration Data.

Frequently Asked Questions

What are the scopes of access that WorkBoard receives when I integrate a Key Result connector?

The scope of access is Read Only, which is bounded by the user integrating with the service.

Will the Key Result connector pull in historic updates?

No, the connector does not have the automated ability to post historic updates to Key Results. The update always goes to the present interval due for the Key Result.

  • Please note that KPI integrations will only deliver updates that are currently due, meaning data pulled in Month X will have the timestamp 'Month X'.
    • As a workaround, multi-target KRs can divide a Key Result into distinct named intervals such as 'August', 'September', 'October', etc. The 'July' interval, for instance, would encompass the start/end dates for data collection (August 1st - August 31st). Despite being named 'July', the data collection would actually occur within the timeframe of August.

When will the connector update my Key Result?

The integration will update based on the update frequency set up for the Key Result (e.g. weekly updates weekly, daily updates daily, etc.). The integration scheduler operates on a twice-daily basis, offering two opportunities for updates to ensure data accuracy. To optimize efficiency, the scheduler skips updates for Key Results (KRs) that are not due for updates, to prevent redundant data updates and maintaining a streamlined process.

When does GitHub update?

1:15pm PST and 1:15am PST.

Was this article helpful?
0 out of 0 found this helpful
Have more questions? Submit a request