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:

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

SD Elements

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: api.github.com)

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: duplicate)

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:

  • Issue Tracker (default): The SD Elements Countermeasure will be updated to match the status in GitHub. This is relevant to most workflows.

  • SD Elements: The GitHub status will be updated to match the SD Elements status.

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.

results matching ""

    No results matching ""