GitHub
Automated access management to github users, code repos, permission groups, and projects.
Setup
On the Github integration page in the Hyphen app:
- Add Hyphen to your Github organization.
- 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
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.
Updated 5 days ago