> For the complete documentation index, see [llms.txt](https://developer.harness.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://developer.harness.io/harness-platform/use-harness-platform/connectors/code-repositories/source-code-manager-settings.md).

# Source Code Manager settings

Reference for Source Code Manager (SCM) authentication settings used with Harness Git Experience.

{% hint style="info" %}
The feature is in Beta and behind a feature flag. Contact [Harness Support](mailto:support@harness.io) to enable the feature.
{% endhint %}

The topic describes the settings in **My Source Code Manager**. It is a reference you can use when you are trying to find the requirements and options for a specific **My Source Code Manager** setting.

**My Source Code Manager** is required for Harness Git Experience. For details on Harness Git Experience, see [Harness Git Experience Overview](/harness-platform/use-harness-platform/git-experience/git-experience-overview.md).

***

## What you will learn from this topic

* How a [Source Code Manager](#source-code-manager-overview) identifies the author of each commit in Harness Git Experience.
* How to configure [GitHub authentication](#github-authentication) using a personal access token.
* How to configure [Bitbucket authentication](#bitbucket-authentication) using a username and password or an SSH key.
* How to configure [GitLab authentication](#gitlab-authentication) using a password, token, Kerberos, or SSH key.
* How to configure [Azure DevOps authentication](#azure-devops-authentication) using a password, token, or SSH key.

***

## Source Code Manager overview <a href="#source-code-manager-overview" id="source-code-manager-overview"></a>

In Harness Git Experience, a Harness Project is synced with a Git provider and has multiple Harness Users making commits to multiple branches.

It can be difficult to audit all the Users making commits in the same Project without some way of identifying the users in Harness and your Git provider. Without some way of identifying them, all commits will look like they came from the same person.

A **Source Code Manager** (SCM) uses your personal Git account information to identify the commits you make. A Source Code Manager is useful for auditing who is making changes to a Project, Pipeline, Connector, etc.

**A Source Code Manager is mandatory for Harness Git Experience.** If you do not have a SCM when you try to enable Harness Git Experience, Harness warns you and requires you to set one up.

## GitHub authentication <a href="#github-authentication" id="github-authentication"></a>

Configure your Source Code Manager to authenticate with GitHub using the following method:

* **Supported methods**:
  * Username and Personal Access Token (PAT): For information on creating PAT in GitHub, see [Creating a personal access token](https://docs.github.com/en/github/authenticating-to-github/keeping-your-account-and-data-secure/creating-a-personal-access-token).
    * **Scopes**: Select all the **repo** and **user** options. ![GitHub personal access token scopes.](https://173309742-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F3F2TpHXhur2QtQnORSM9%2Fuploads%2Fgit-blob-3cfdbf5c77b0415da12c2b4933ce58d3b81bf599%2Fimport-a-pipeline-32.png?alt=media)

Your GitHub Personal Access Token is stored in your Harness secret, which is a private key to which only you have access. This secret cannot be accessed or referenced by any other user.

## Bitbucket authentication <a href="#bitbucket-authentication" id="bitbucket-authentication"></a>

Configure your Source Code Manager to authenticate with Bitbucket using one of the following methods:

* **Supported methods**:
  * Username and Password. This is the Bitbucket username and App password in your Bitbucket account settings.

    ![Bitbucket username and app password settings.](https://173309742-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F3F2TpHXhur2QtQnORSM9%2Fuploads%2Fgit-blob-181470e78cab0e36fb1673034ff48e51cd4dc3da%2Fsource-code-manager-settings-07.png?alt=media)
  * SSH Key. This is the private key. The corresponding public key is added to your Bitbucket account settings.

    ![Bitbucket SSH key settings.](https://173309742-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F3F2TpHXhur2QtQnORSM9%2Fuploads%2Fgit-blob-cee6c05c05f49c57e839f22ec7c2dafdaac2fcde%2Fsource-code-manager-settings-08.png?alt=media)
* **See also**: [Set up an SSH key](https://support.atlassian.com/bitbucket-cloud/docs/set-up-an-ssh-key/) from Bitbucket.

## GitLab authentication <a href="#gitlab-authentication" id="gitlab-authentication"></a>

Configure your Source Code Manager to authenticate with GitLab using one of the following methods:

* **Supported methods**:
  * Username and Password.
  * Username and Personal Access Token (PAT).
  * Kerberos.
  * SSH Key. This is the private key. The corresponding public key is added to your GitLab account settings.

    ![GitLab SSH key settings.](https://173309742-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F3F2TpHXhur2QtQnORSM9%2Fuploads%2Fgit-blob-3c5685ff3a9ee4a499668d28a4aa822e83e966c3%2Fsource-code-manager-settings-09.png?alt=media)
* **Scopes**: select **api**.

  ![GitLab personal access token scope.](https://173309742-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F3F2TpHXhur2QtQnORSM9%2Fuploads%2Fgit-blob-58c5846af4501102d08271bdc03f7af8a3d677b3%2Fsource-code-manager-settings-10.png?alt=media)
* **See also**: [Set up your organization](https://docs.gitlab.com/ee/topics/set_up_organization.html) from GitLab.

## Azure DevOps authentication <a href="#azure-devops-authentication" id="azure-devops-authentication"></a>

Configure your Source Code Manager to authenticate with Azure DevOps using one of the following methods:

* **Supported methods**:
  * Username and password.
  * Username and Personal Access Token (PAT).
  * SSH key.
* **Scopes**: for Personal Access Tokens, **Code: Full**.

  ![Azure DevOps personal access token scope.](https://173309742-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F3F2TpHXhur2QtQnORSM9%2Fuploads%2Fgit-blob-d1e5a128acd496833bc51098ddd511dca866f234%2Fsource-code-manager-settings-11.png?alt=media)
* **See also**: [View permissions for yourself or others](https://docs.microsoft.com/en-us/azure/devops/organizations/security/view-permissions) from Azure.

{% @harness-feedback/feedback module="harness-ai" pagePath="harness-ai/use-harness-platform/connectors/code-repositories/source-code-manager-settings" %}
