GitHub

On the Github integration page in the Hyphen app:

  1. Add Hyphen to your Github organization.
  2. Submit your GitHub Installation ID and Backup Verification Email to connect it to Hyphen. If an integration connection cannot be automatically setup, the backup verification email will be sent a link where it can be verified manually.

Configuration

Field Type Description
installationId number (required) Unique installation ID generated when installing an application in GitHub. Used for generating an access token and pulling githubOrgId and githubOrgName.
githubOrgId number Pulled during the integration setup. Used for reference.
githubOrgName string Pulled during the integration setup. Used for requests that reference this key.
verificationEmail string (required) Backup email address used to verify ownership of a resource when no associated email address is available.

Connections

Table of Contents

User

User connections can only connect to existing users in GitHub. If no input is provided to connect to an existing user, the member email will be used.

Prerequisites:

  • Users must be "active" in the GitHub organization.

Configuration

Field Type Description
userId string (optional) GitHub username.
email string Public email address of the GitHub user. Defaults to member email in Hyphen if not publicly available.
orgSlug string The githubOrgName from the integration configuration.
profileUrl string URL of the GitHub public profile page.

Connection Input

A connection can be created by providing the GitHub username.

Verification

Scenario Action
Public email matches the member email No verification needed.
Public email does not match the member email A verification email is sent to the GitHub user email address.
No public email available A verification email is sent to the integration's backup verificationEmail.

Permission Group

These can connect to existing teams in GitHub, or a new team will be created if no input is provided.

Configuration

Field Type Description
teamSlug string Unique team slug in GitHub used for reference in future requests.
orgSlug string The githubOrgName from the integration configuration.
teamName string Display name of the team in GitHub.
teamId number Unique team ID in GitHub.

Connection Input

Provide the GitHub team name to create a connection to an existing team.

Verification

Scenario Action
Admin with public email exists Verification handled by the admin.
No admin with public email Verification email sent to the integration's backup verificationEmail.

Access

A User connection will be added as the default “Member” role when added to the team.


Code Repository

These can connect to existing repositories in GitHub, or a new repository will be created if no input is provided.

Configuration

Field Type Description
repositoryId string Unique repository ID in GitHub.
orgSlug string The githubOrgName from the integration configuration.
repositoryName string Repository name in GitHub for display and reference.

Connection Input

Provide the GitHub repository name to create a connection to an existing repository.

Verification

A verification email is sent to the integration's verificationEmail for existing repositories.

Access

A Team connection will be added as a “Maintain” role when added to the code repository.


Project Board

These can connect to existing projects in GitHub, or a new project will be created if no input is provided.

Configuration

Field Type Description
id string Unique project ID in GitHub.
projectSlug string GitHub project number used for reference in future requests.
orgSlug string The githubOrgName from the integration configuration.
repositoryName string Repository name in GitHub for display and reference.

Connection Input

Provide the GitHub project slug to create a connection to an existing project.

Verification

A verification email is sent to the integration's verificationEmail for existing projects.

Access

A Team connection will be added as a “Read” role when added to the project.