SD Elements
GitHub
Technical requirements
-
An API token is required to connect.
-
The user must have permission to create issues and update issue status in a repository.
Default-assigned fields
The following fields are set by default:
-
Title
-
Description
-
Tags
Behavior
The integration supports the following:
-
Two-way status synchronization
Configuration
The following configuration fields are available when creating a connection. Fields are available for both system and project connections unless otherwise specified. Fields will only be available for project connections if allowed by the system connection. It is recommended to use a unique GitHub user for each project connection created. Using the same GitHub user account to sync multiple projects could trigger GitHub’s secondary rate limiting, which will result in failed syncs.
To ensure a successful integration, be sure to enter the correct values for the configuration fields instead of using the default values. Review the remaining fields as well, and change the default values as required. |
Modifying the Github API delay rate
There is a default delay of 20 seconds between API calls that create or update issues in GitHub. If you are a GitHub Enterprise client with rate limiting disabled, you may reduce this delay by following the instructions here: Modify the GitHub API delay rate.
Default Priority Mapping
GitHub |
|
7-10 |
High |
4-6 |
Medium |
1-3 |
Low |
Connection details
Enter the details SD Elements will use to connect to the GitHub server.
Protocol |
Select the protocol for the connection (HTTPS or HTTP) (Default: HTTPS) |
---|---|
Server |
The domain name or IP address of the server (Example: |
Context Root |
Top-level location where GitHub is installed on a server. The value for this may be dependent on the configuration of an internal corporate proxy, or where an administrator has installed GitHub. |
Owner of this GitHub Repository |
Organization or user tied to the GitHub repository |
Credentials
Enter the token needed to authenticate to the server.
GitHub Token |
The token associated with the user connecting to the server. It is found in the section "Personal Access Tokens" under a user’s GitHub settings. This user should be able to create and edit stories/issues in GitHub. |
---|
Countermeasures to Synchronize
Select Countermeasures to synchronize.
Sync all Countermeasures |
Synchronize all Countermeasures from SD Elements. |
---|---|
Sync risk policy Countermeasures |
Synchronize only Countermeasures that fall under the risk policy. |
Project details
Enter the project-level details.
Repository name |
The name of the repository where issues should be created. |
---|
Advanced GitHub configuration
GitHub duplicate label |
(Default: |
---|---|
GitHub issue label |
Synchronization
Enter settings for synchronizing the SD Elements and GitHub projects.
Authoritative Source |
Select the tool that will be the authoritative system of record: GitHub or SD Elements. This field is used in case of conflicting statuses between the GitHub issue and the SD Elements Countermeasure. When you first synchronize a TODO Countermeasure in SD Elements with an issue in GitHub, they will have the same status. If you then change the status in one tool, such as by closing the issue in GitHub, they will have conflicting statuses. This conflict is resolved when the projects are synchronized. There are two options:
|
---|---|
Include code sample How-To’s in Countermeasure descriptions |
Whether or not to include detailed code samples and How-To’s in the GitHub issue. |
This Issue Tracker server is hosted within a private network and cannot be reached directly by SD Elements. |
Select this option if SD Elements does not have direct network access to the GitHub server. For example, if you are using a hosted SD Elements instance but you want to integrate with an internal/protected GitHub system, choose this option and run the Remote Integration Agent to perform integration. |
Filter Countermeasures
Select SD Elements Countermeasures to synchronize to GitHub.
Countermeasures having a minimum priority |
Only synchronize Countermeasures with a minimum priority, such as 7 or above. This is useful if you want to limit the amount of work for users. (Default: 1) |
---|---|
Countermeasures with status meaning |
Only synchronize Countermeasures with certain statuses, such as TODO or DONE. (Default: TODO) |
Limit to Countermeasures having these phases |
Only synchronize Countermeasures in certain phases, such as Requirements or Development. (Default: none selected, meaning Countermeasures from all phases will be synchronized) |
Countermeasures having all of the following tags |
Only synchronize Countermeasures containing certain SD Elements Countermeasure tags. (Optional) |
Countermeasures with verification status |
Only synchronize Countermeasures with a specific verification status, such as Pass or Fail. (Default: none selected, meaning Countermeasures with any verification status will be synchronized) |
Advanced Issue Tracker options
Enter advanced configuration options for the connector.
Issue Tracker Title Format |
Customize the issue titles created in the Issue Tracker by choosing one of the templates below. (Default: "T21: Countermeasure title") |
---|---|
Bypass server certificate validation for HTTPS (insecure, only for testing purposes) |
|
Issue Tracker context |
Provide a specific identifier to this project integration that can be used in an issue’s generated title format. This is applicable only when the Issue Tracker Title Format option contains 'Context' |
Sync frequency
Select how frequently the SD Elements and GitHub projects are synchronized. You can choose from the following options. The more frequently you run synchronization, the greater the performance impact on both the SD Elements and GitHub servers. This is generally only a concern for large organizations running many synchronizations at once.
Hourly, Daily, Weekly, or Monthly |
The projects will synchronize automatically every hour, day, week, or month. Daily synchronization is typically sufficient. However, you may want to select a more frequent interval if development moves quickly in your organization. |
---|---|
Manually |
You must click the Sync button on the Issue Tracker Integrations page to synchronize the projects. This is the default value. |