---
url: /howto/connecting-version-control-system/scm-manager.md
---

# How to Connect Teamscale to SCM-Manager

Teamscale integrates with [SCM-Manager](https://www.scm-manager.org/) using SCM-Manager's [Teamscale Plugin](https://www.scm-manager.org/plugins/scm-teamscale-plugin/).

:::tip General Option Reference
This guide only covers the options specific for the SCM-Manager repository connector.
A general overview of connector options is [available here](../../../reference/connector-options/).
:::

:::tip Minimum Required Version
The minimum required **SCM-Manager** version for the integration to work is **2.0.0**.
:::

## Prerequisites for SCM-Manager Integration

Prerequisites for the configuration are:

* Teamscale license with SCM-Manager support enabled.
* Teamscale installation that can be reached from the SCM-Manager instance you want to connect to.
* SCM-Manager instance with the following plugins installed:
  * Continuous Integration
  * Review
  * Teamscale
* Technical user added to the SCM-Manager repository you want to connect to with *TEAMSCALE* permission role.

## Project Configuration Steps

To connect a project to code from an SCM-Manager repository, follow these steps:

1. Ensure that the [Teamscale instance base URL](../../../reference/admin-settings/server-settings/#teamscale-instance-base-url) is configured correctly.

2. Select the *SCM-Manager* connector during project creation.

3. Select or create an account for the SCM-Manager instance.
   The account's fields should be filled out as follows:

   * *URI*: The base URL of the SCM-Manager instance including the path context (e.g., *<https://my-scm-instance.com/scm>*).

   * *Username*: The technical user's username. Must be empty if an API key is used.

   * *Password or API key*: The password or an API key of the technical user with role *TEAMSCALE*. To create an API key in SCM-Manager, navigate to the user's *Profile* > *Settings* > *API keys* page.

4. Complete project creation as usual, by providing the full name of the repository including the slash (e.g., `scmadmin/my-repo`).

As the first step in project creation after completing the required fields, Teamscale will set the instance URL in SCM-Manager's Teamscale plugin.
After this, Teamscale will automatically be informed about events in the project, such as pushes to the repository and changes to any pull requests.

:::tip
If there are restrictions, so that Teamscale cannot receive SCM-Manager webhooks
or webhooks cannot be automatically created, please apply these
[advanced configuration options](../../configuring-post-commit-hooks/#code-collaboration-platforms).
:::
