---
sourceDocument: Yokohama Build or modify applications
sourceDocumentLink: https://servicenow-prod.fluidtopics.net/r/yokohama/application-development

 Release :

    - yokohama

ft:locale :

    - en-US

ft:publication_title :

    - Yokohama Build or modify applications

ft:clusterId :

    - cadev

bundleId :

    - cadev

workflow :

    - Development, Data, and Analytics


---

# Link an application or application-customization to source control

# Link an application or application-customization to source control {#ariaid-title1}

* Release version: Yokohama
* 
* Updated January 30, 2025
* 
* ![](https://www.servicenow.com/docs/portal-asset/ico-clock) 3 minutes to read

Linking an application or application-customization to source control allows
application developers to manage changes in App Engine Studio (AES) from a Git repository.

## Before you begin

* Learn more about [Manage customizations to applications](https://servicenow-prod.fluidtopics.net/5nUuxNXtdKFCCD2Tw~9EKA "You can manage your company's customizations for applications that belong to other organizations or a scoped ServiceNow plug-in.").
* Create a dedicated Git repository for the application. For increased security, enable multi-factor authentication for the Git repository.
* Generate an access token that the source control integration can use instead of a password and multi-factor authentication passkey while creating a Credential record. Search for personal access token on [GitHub](https://help.github.com) or [GitLab](https://docs.gitlab.com).
* Restrict permissions on the access token to allow read and write access to the Git repository.
* Verify that the non-production instance has network access to the Git repository.
* Ensure that users add the email address to their respective Users Table (ServiceNow sys_user) records that they use in their commits to the Git repository.
* Role required: admin
{#source-control-link-application__ul_wqq_ddl_p5}

## About this task

The source control integration does not support linking to an application or customization on a production instance. Instead, install applications on a production instance from the application repository, an update set, or the App Engine Studio.

## Procedure

1. Navigate to AllApp EngineApp Engine Studio.
2. From the My Apps page, open your application.
3. Select Source controlLink to source control.  
   App Engine Studio displays the Link to source control dialog box.
4. Enter the connection details for the Git repository.  
   {#source-control-link-application__table_s3x_2fl_p5__entry__2}

   | Field | Description |
   |-|-|
   | Network protocol | Https or SSH credential type that enables secure channel data exchange. |
   | URL | The URL to the Git repository where you want to save application files. For SSH protocol, use command to generate private key `ssh-keygen -t rsa -m PEM -b 4096 -C "email@address"`. Note: If the Git repo URL for SSH provided by your Git server does not work, check with your Git server owner or provider for the correct URL. There may be additional specifications such as scheme protocol prefixes, port numbers, and so on, required for your Git repo URL to function. |
   | Branch | The repository branch to work on within the application. Note: This branch is used for commits. The default branch is set to "main" if it is not already set in the remote repository. If there is no default branch on the remote git repository, the instance creates a new default branch with the name "main". This is configured using the `glide.source_control.git_default_branch` system property. |
   | MID Server Name | The name of the existing MID Server to link through. Note: Use a separate MID Server to prevent conflicts with Discovery activities. Be sure that the MID server user can create files to the sys_attachment table and that the table can accept files of the "bundle" type. Linking or an application through a MID Server enables access to repositories behind a firewall. See [MID Server](https://www.servicenow.com/docs/access?context=mid-server-landing&version=yokohama&pubname=yokohama-servicenow-platform&ft:locale=en-US) for more information. |
   | Default email | The committer email address is defined by the sys_user record if available. But if a committer's sys_user record email field is empty, the system generates an alternate email (username@instancename.service-now.com). You can also enter a default email address and change it later. To use that default email address in all cases, select the check box. |
   | Credential | The credential to be used with the selected protocol. See [Getting started with credentials](https://www.servicenow.com/docs/access?context=credentials-getting-started&version=yokohama&pubname=yokohama-platform-security&ft:locale=en-US) to learn more about creating credentials. Note: If you select the SSH network protocol, enter a valid credential of the SSH private key type. If you select the https protocol, enter a valid credential of the Basic Auth credentials type. |
   | Commit Comment | An optional description of the repository or application. |
   [Table 1. Source control connection details]

   {#source-control-link-application__table_s3x_2fl_p5}  
   Note:  
   All application developers on the instance share a single set of repository credentials.
5. Select Link to source control.  
   The system validates the connection and user credentials and displays a success message.

   All application developers on the instance can use the linked
   Git repository to manage changes.
{#source-control-link-application__steps_ely_1gl_p5}
**Related topics**   

* [MID Server](https://www.servicenow.com/docs/access?context=mid-server-landing&version=yokohama&pubname=yokohama-servicenow-platform&ft:locale=en-US)
* [Getting started with credentials](https://www.servicenow.com/docs/access?context=credentials-getting-started&version=yokohama&pubname=yokohama-platform-security&ft:locale=en-US)

*[\>]: and then


