---
sourceDocument: Australia IT Service Management
sourceDocumentLink: https://www.servicenow.com/docs/r/it-service-management

 Release :

    - australia

ft:locale :

    - en-US

ft:publication_title :

    - Australia IT Service Management

ft:clusterId :

    - itsm

bundleId :

    - itsm

workflow :

    - Technology


---

# OAuth 2.0 credentials for GitHub Apps - Authorization Code

# OAuth 2.0 credentials for GitHub Apps - Authorization Code {#ariaid-title1}

* Release version: Australia
* 
* Updated March 12, 2026
* 
* ![](https://www.servicenow.com/docs/portal-asset/ico-clock) 3 minutes to read

Perform the following steps to integrate your GitHub Apps using Authorization code.

Before you begin  
Role required:

* oauth_admin in DevOps Change Velocity.
* Admin account in GitHub.

{#dev-ops-github-apps-oauth-auth__ul_rxd_mpy_jsb}  
Note:  
Only user-level repositories are supported. You must have access to all the GitHub repositories that you want to configure in DevOps Change Velocity using Authorization code.

The OAuth Authorization Code grant type is supported for GitHub \& GitHub Enterprise with MID server.

## Configure the GitHub App in your GitHub account
(Authorization Code) {#ariaid-title2}

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](https://developer.github.com/apps/building-github-apps/) on the GitHub Developer site for instructions on creating and configuring custom applications.

### Procedure

1. From your GitHub account, create your GitHub App by navigating to Developer SettingsGitHub Apps.
2. In the Homepage URL field, enter <kbd class="ph userinput">https://&lt;instance-name&gt;.service-now.com</kbd>.
3. In the User authorization callback URL field, enter <kbd class="ph userinput">https://&lt;instance-name&gt;.service-now.com/oauth_redirect.do</kbd>.
4. In the Identifying and authorizing users section, deselect the Expire user authorization tokens field.
5. In the Webhook section, deselect the Active field.
6. Leave the remaining fields empty (default).
7. In the Repository permissions section, configure these settings.  

   |-|-|
   | Action | Read-only |
   | Checks | Read-only |
   | Contents | Read-only |
   | Deployments | Read and write |
   | Environments | Read-only |
   | Metadata | Read-only |
   | Pull requests | Read-only |
   | Secrets | Read-only |
   | Webhooks | Read and write Note: Read and write permissions are required to configure webhooks from ServiceNow. |
   [ ]

   {#dev-ops-config-github-acct-auth__table_j5m_wcs_4mb}
8. Leave the remaining permissions as <kbd class="ph userinput">No access</kbd> (default).
9. Install the newly created GitHub App on the accounts of your choice.
{#dev-ops-config-github-acct-auth__steps_yy3_bls_4mb}

## Register GitHub as an OAuth Provider (Authorization Code) {#ariaid-title3}

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

1. Navigate to AllSystem OAuthApplication Registry.
2. Click New.  
   The system displays the message What kind of OAuth application?
3. Select Connect to a third party OAuth Provider.  
   The system displays an empty Application Registries form.
4. Complete the form.  
   {#dev-ops-reg-github-oauth-prov-auth__table_fd2_2xr_4mb__entry__2}

   | Field | Value required |
   |-|-|
   | Name | Enter any name to uniquely identify the record. For example, enter <kbd class="ph userinput">My GitHub App Provider</kbd>. |
   | Client ID | Enter the client ID of your GitHub App (hint: available in the About section of your GitHub App configuration in GitHub ). |
   | Client Secret | Enter the client secret of your GitHub App (hint: available in the About section of your GitHub App configuration in GitHub ). |
   | OAuth API script | Select OAuthDevOpsGitHubHandler. |
   | Default Grant type | Select Authorization Code. |
   | Authorization URL | Enter <kbd class="ph userinput">https://github.com/login/oauth/authorize</kbd>. For an on-premises deployment, use the proper GitHub host URL. |
   | Token URL | Enter <kbd class="ph userinput">https://github.com/login/oauth/access_token</kbd>. For an on-premises deployment, use the proper GitHub host URL. |
   [ ]

   {#dev-ops-reg-github-oauth-prov-auth__table_fd2_2xr_4mb}
5. Leave the rest of the form fields as default.  
6. Right-click the form header, and click Save.  
   * The system validates the OAuth credentials and populates the Redirect URL (Hint: It should match the User authorization callback URL previously provided in your GitHub App configuration).
   * The system populates OAuth Entity Profile with Grant Type as Authorization Code. For example, OAuth Entity Profile is created with default Name, My GitHub App Provider default_profile
   {#dev-ops-reg-github-oauth-prov-auth__ul_id2_2xr_4mb}
{#dev-ops-reg-github-oauth-prov-auth__steps_ed2_2xr_4mb}

## Create a credential record for GitHub App provider (Authorization
Code) {#ariaid-title4}

Create a credential record to the GitHub App provider previously
created to authorize actions.

### Before you begin

Role required: admin, credential_admin

### Procedure

1. Navigate to AllConnections \& CredentialsCredentials.
2. Click New.  
   The system displays the message What type of Credentials would you like to create?.
3. Select OAuth 2.0 Credentials.  
   The pop-up window displays an empty OAuth 2.0 Credentials form.
4. Fill in these values.  
   {#dev-ops-create-cred-github-auth__table_sxv_zgp_gfb__entry__2}

   | Field | Value required |
   |-|-|
   | Name | Enter any name to uniquely identify the record. For example, enter <kbd class="ph userinput">My GitHub App Credential</kbd>. |
   | Active | Enable |
   | OAuth Entity Profile | Select the default OAuth Entity profile you created previously. |
   | Applies to | Select the MID Servers that can use this credential. For example, select All MID Servers. Note: You must connect to your GitHub tool instance using MID Server to use this credential. |
   | Order | Select the order to apply this credential. For example, enter <kbd class="ph userinput">100</kbd>. |
   [ ]

   {#dev-ops-create-cred-github-auth__table_sxv_zgp_gfb}
5. Save the record.
6. Click the Get OAuth Token related link to generate the OAuth token.
{#dev-ops-create-cred-github-auth__steps_o5h_52j_qfb}
**Related concepts**   

* [GitHub Actions configurations](https://www.servicenow.com/docs/SJMWwYdcFPKTKX8bsB7GNg#github-actions-integration-with-devops "Configuration information on GitHub Actions, such as, secrets, workflows, and limitations.")
* [ServiceNow DevOps custom actions from GitHub marketplace](https://www.servicenow.com/docs/8IIHLttsKDPIeqy0xNUBZg#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.")

*[\>]: and then


