OAuth 2.0 credentials for GitHub Apps - JWT
-
- UpdatedJan 30, 2025
- 7 minutes to read
- Xanadu
- DevOps
Perform the following steps to integrate your GitHub Apps using the JWT bearer token.
Before you begin
Role required:
- oauth_admin in DevOps Change Velocity.
- Admin account in GitHub.Note: The OAuth 2.0 JWT grant type is supported for GitHub & GitHub Enterprise with MID server.
Configure the GitHub App in your GitHub account (JWT)
Create a custom GitHub App from your GitHub account to enable OAuth 2.0 authentication with your ServiceNow instance.
Before you begin
GitHub requirement: GitHub App configured to integrate with ServiceNow
Role required: No instance role required
About this task
Complete these steps from your GitHub account. See Building GitHub Apps on the GitHub Developer site for instructions on creating and configuring custom applications.
Procedure
Add Client ID to DevOps property
After configuring your GitHub App, you must ensure that the Client ID prefix (first 3 or more characters of the ID) is added to the DevOps property: Client ID specifier for GitHub App.
Before you begin
Role required: sn_devops.admin
Procedure
- Navigate to .
- Change the Application scope to DevOps Data Model.
- Search for the property: Client ID specifier for GitHub App [sn_devops.github_oauth_client_id_specifier].
- Enter the Client ID prefix (first 3 or more characters of the ID) of your GitHub App to the property.
- Select Save.
Generate the Java KeyStore certificate for GitHub
Generate a Java KeyStore (JKS) certificate for the JWT authentication.
Before you begin
Role required: admin
Procedure
Attach the GitHub Java KeyStore certificate to your instance
Enable the JWT Bearer Grant token authentication by attaching the valid GitHub Java KeyStore (JKS) certificate to your ServiceNow instance.
Before you begin
Ensure the availability of a valid Java KeyStore certificate.
Role required: admin
Procedure
Create a JWT signing key for the GitHub JKS certificate
Create a JSON Web Token (JWT) signing key to assign to your GitHub Java KeyStore certificate.
Before you begin
Role required: admin, sn_devops.admin
Procedure
Create a JWT provider for your GitHub signing key
Add a JSON Web Token (JWT) provider to your ServiceNow instance for GitHub.
Before you begin
Role required: admin, sn_devops.admin
Procedure
Register GitHub as an OAuth Provider (JWT)
Use the information generated during GitHub App account configuration to register GitHub as an OAuth provider and allow the instance to request OAuth 2.0 tokens.
Before you begin
Role required: admin, sn_devops.admin
Procedure
Create a credential record for GitHub App provider (JWT)
Create a credential record to the GitHub App provider previously created to authorize actions.
Before you begin
Role required: admin, sn_devops.admin
Procedure
On this page
- Configure the GitHub App in your GitHub account
(JWT)
- Add Client ID to DevOps property
- Generate the Java KeyStore certificate for GitHub
- Attach the GitHub Java KeyStore certificate to your instance
- Create a JWT signing key for the GitHub JKS certificate
- Create a JWT provider for your GitHub signing key
- Register GitHub as an OAuth Provider (JWT)
- Create a credential record for GitHub App provider (JWT)
Related Content
- GitHub Actions configurations
Configuration information on GitHub Actions, such as, secrets, workflows, and limitations.
- ServiceNow DevOps custom actions from GitHub marketplace
Use the custom actions from the GitHub marketplace to collect SonarQube scan data, security data, pause or resume workflow, or resume workflow until a change request is approved or rejected in your instance, or get and update change request details and so on.
- GitHub Deployment Gates for ServiceNow DevOps Change
Use the GitHub Deployment Gate capability to decide on whether a new deployment should proceed or halt.