> ## Documentation Index
> Fetch the complete documentation index at: https://docs.cysmiq.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Connect a VCS

> Connect a VCS to start scanning.

## Overview

Connecting a version control system is the first step to onboarding repositories. Once connected, Cysmiq discovers repositories and begins scanning automatically. This guide walks through GitHub Cloud, GitHub Enterprise, GitLab, and Bitbucket Cloud.

## Steps

<Steps>
  <Step title="Open Integrations">
    From your workspace, open **Settings** and select **Integrations**.

    <Frame caption="Integrations lists available version control system connections.">
      <img src="https://mintcdn.com/cysmiq/b1Lbo3Hes6--JS1V/images/guides/connect-vcs/connect-vcs-01-integrations.webp?fit=max&auto=format&n=b1Lbo3Hes6--JS1V&q=85&s=7814a2498e80847711f405e5d8edea6e" alt="Integrations page showing available version control system options." width="2880" height="2160" data-path="images/guides/connect-vcs/connect-vcs-01-integrations.webp" />
    </Frame>
  </Step>

  <Step title="Connect your VCS">
    <Tabs>
      <Tab title="GitHub Cloud">
        Prerequisites:

        * Organization owner access or admin access for the account you plan to connect

        Select **Install** for **GitHub**, then choose **All repositories** or **Only select repositories**. Confirm the permissions and select **Install & Authorize**.

        <Frame caption="Authorize the Cysmiq GitHub App and choose repository access.">
          <img src="https://mintcdn.com/cysmiq/b1Lbo3Hes6--JS1V/images/guides/connect-vcs/github-cloud-02-install-permissions.webp?fit=max&auto=format&n=b1Lbo3Hes6--JS1V&q=85&s=40a11598c8340bebec0eb49cb0bf9193" alt="GitHub app authorization page with repository access options and permissions list." width="2880" height="2334" data-path="images/guides/connect-vcs/github-cloud-02-install-permissions.webp" />
        </Frame>
      </Tab>

      <Tab title="GitHub Enterprise">
        Prerequisites:

        * Admin access to create a GitHub App on your GitHub Enterprise Server instance

        Select **New App** for **GitHub Enterprise** to begin connecting your self-hosted GitHub instance.

        <Frame caption="Enter your GitHub Enterprise Server URL.">
          <img src="https://mintcdn.com/cysmiq/b1Lbo3Hes6--JS1V/images/guides/connect-vcs/ghe-01-enter-host.webp?fit=max&auto=format&n=b1Lbo3Hes6--JS1V&q=85&s=ffc33f970fc442da7fd81f16751fb9e7" alt="GitHub Enterprise setup form with a field to enter the GitHub host URL." width="2252" height="552" data-path="images/guides/connect-vcs/ghe-01-enter-host.webp" />
        </Frame>

        Enter your GitHub Enterprise Server URL and select **Verify Host**. Enable **Skip SSL certificate verification** only if your server uses a self-signed certificate.

        <Frame caption="Host verified, ready to create the GitHub App.">
          <img src="https://mintcdn.com/cysmiq/b1Lbo3Hes6--JS1V/images/guides/connect-vcs/ghe-02-host-verified.webp?fit=max&auto=format&n=b1Lbo3Hes6--JS1V&q=85&s=d025f7d9f1e4796a2c399fc0425ae374" alt="GitHub Enterprise form showing verified host with Create Application button." width="2252" height="440" data-path="images/guides/connect-vcs/ghe-02-host-verified.webp" />
        </Frame>

        Select **Create Application**. You'll be redirected to your GitHub Enterprise Server to confirm the app name.

        <Frame caption="Confirm the GitHub App name on your GitHub Enterprise Server.">
          <img src="https://mintcdn.com/cysmiq/b1Lbo3Hes6--JS1V/images/guides/connect-vcs/ghe-03-create-app.webp?fit=max&auto=format&n=b1Lbo3Hes6--JS1V&q=85&s=159c35b95f3bceb5120316a27a494f91" alt="GitHub Enterprise page to confirm the Cysmiq app name." width="2880" height="2160" data-path="images/guides/connect-vcs/ghe-03-create-app.webp" />
        </Frame>

        After creating the app, you'll return to Cysmiq. The app is created but not yet installed on any organizations. Select **Get started** to install the app.

        <Frame caption="App created but needs to be installed on organizations.">
          <img src="https://mintcdn.com/cysmiq/b1Lbo3Hes6--JS1V/images/guides/connect-vcs/ghe-04-app-created.webp?fit=max&auto=format&n=b1Lbo3Hes6--JS1V&q=85&s=afff6956468a502d15451e5ac6f3c28f" alt="GitHub Enterprise integration showing 0 Organizations with a prompt to get started." width="2252" height="384" data-path="images/guides/connect-vcs/ghe-04-app-created.webp" />
        </Frame>

        Choose the account or organizations where you want to install the app, then review the permissions and select **Install & Authorize**.

        <Frame caption="Review permissions before authorizing the installation.">
          <img src="https://mintcdn.com/cysmiq/b1Lbo3Hes6--JS1V/images/guides/connect-vcs/ghe-06-permissions.webp?fit=max&auto=format&n=b1Lbo3Hes6--JS1V&q=85&s=d37da10454680d1359376d7f8b86cc7d" alt="GitHub permissions page showing repository and user access being requested." width="2880" height="2778" data-path="images/guides/connect-vcs/ghe-06-permissions.webp" />
        </Frame>
      </Tab>

      <Tab title="GitLab">
        Prerequisites:

        * Group owner access and a personal access token with the `api` scope

        Select **Setup** for **GitLab**, then create a GitLab personal access token with the `api` scope. For help generating a token, see [GitLab's documentation](https://docs.gitlab.com/ee/user/profile/personal_access_tokens.html).

        <Frame caption="Start the GitLab setup in Cysmiq.">
          <img src="https://mintcdn.com/cysmiq/b1Lbo3Hes6--JS1V/images/guides/connect-vcs/gitlab-02-setup-form.webp?fit=max&auto=format&n=b1Lbo3Hes6--JS1V&q=85&s=7447b2a5bd8c27b3e72342f83afc06d8" alt="GitLab setup form in Cysmiq with fields for token name, host, and access token." width="2880" height="2160" data-path="images/guides/connect-vcs/gitlab-02-setup-form.webp" />
        </Frame>

        Enter your GitLab host, such as `https://gitlab.com` or your self-managed domain, and the personal access token, then select **Save Changes**.

        Enable **Skip SSL certificate verification** only if your self-managed GitLab uses a self-signed certificate.

        <Frame caption="GitLab host and token added to the setup form.">
          <img src="https://mintcdn.com/cysmiq/b1Lbo3Hes6--JS1V/images/guides/connect-vcs/gitlab-03-form-filled.webp?fit=max&auto=format&n=b1Lbo3Hes6--JS1V&q=85&s=cfe3850c938dc55c867c99053e101cf9" alt="GitLab setup form filled with a token and host." width="2880" height="2160" data-path="images/guides/connect-vcs/gitlab-03-form-filled.webp" />
        </Frame>
      </Tab>

      <Tab title="Bitbucket Cloud">
        Prerequisites:

        * Workspace admin access in Bitbucket Cloud
        * A workspace access token with the required scopes

        Create a workspace access token in Bitbucket Cloud with these scopes:

        * Account: Read
        * Projects: Read
        * Repositories: Read
        * Repositories: Write
        * Pull requests: Read
        * Pull requests: Write
        * Webhooks: Read and write

        Select **Setup** for **Bitbucket Cloud**.

        <Frame caption="Enter your Bitbucket Cloud workspace details.">
          <img src="https://mintcdn.com/cysmiq/b1Lbo3Hes6--JS1V/images/guides/connect-vcs/bitbucket-cloud-02-setup-form.webp?fit=max&auto=format&n=b1Lbo3Hes6--JS1V&q=85&s=1aab00b0a9bcb1f801149ab407254860" alt="Bitbucket Cloud setup form with fields for workspace slug and access token." width="2252" height="702" data-path="images/guides/connect-vcs/bitbucket-cloud-02-setup-form.webp" />
        </Frame>

        Enter your workspace slug and workspace access token, then select **Save Changes**.

        <Frame caption="Workspace slug and token added to the setup form.">
          <img src="https://mintcdn.com/cysmiq/b1Lbo3Hes6--JS1V/images/guides/connect-vcs/bitbucket-cloud-03-form-filled.webp?fit=max&auto=format&n=b1Lbo3Hes6--JS1V&q=85&s=8117903b568a4cd786b7244b53b9e4ab" alt="Bitbucket Cloud setup form filled with workspace slug and masked token." width="2252" height="702" data-path="images/guides/connect-vcs/bitbucket-cloud-03-form-filled.webp" />
        </Frame>
      </Tab>
    </Tabs>
  </Step>

  <Step title="Verify the connection">
    <Tabs>
      <Tab title="GitHub Cloud">
        After authorization, return to **Integrations** to confirm GitHub is connected.

        <Frame caption="GitHub shows as connected in Cysmiq.">
          <img src="https://mintcdn.com/cysmiq/b1Lbo3Hes6--JS1V/images/guides/connect-vcs/github-cloud-03-connected.webp?fit=max&auto=format&n=b1Lbo3Hes6--JS1V&q=85&s=8e98f2ecf0b840545bcd2e90b09f760f" alt="Integrations page showing GitHub connected for an organization." width="2880" height="2160" data-path="images/guides/connect-vcs/github-cloud-03-connected.webp" />
        </Frame>

        Open **Assets** then **Organizations** to verify the GitHub organization appears as active.

        <Frame caption="Organizations list shows the connected GitHub account.">
          <img src="https://mintcdn.com/cysmiq/b1Lbo3Hes6--JS1V/images/guides/connect-vcs/github-cloud-04-organizations.webp?fit=max&auto=format&n=b1Lbo3Hes6--JS1V&q=85&s=0bd1624066801a30a0c019d5dbefcd5b" alt="Organizations table with a GitHub integration listed as active." width="2880" height="2160" data-path="images/guides/connect-vcs/github-cloud-04-organizations.webp" />
        </Frame>
      </Tab>

      <Tab title="GitHub Enterprise">
        After authorization, you'll return to Cysmiq. The GitHub Enterprise integration now shows the connected organization.

        <Frame caption="GitHub Enterprise shows as connected with an organization.">
          <img src="https://mintcdn.com/cysmiq/b1Lbo3Hes6--JS1V/images/guides/connect-vcs/ghe-07-connected.webp?fit=max&auto=format&n=b1Lbo3Hes6--JS1V&q=85&s=23751961c3dbd590ec567d0a5fbe7e09" alt="GitHub Enterprise integration showing 1 Organization connected." width="2252" height="312" data-path="images/guides/connect-vcs/ghe-07-connected.webp" />
        </Frame>

        Open **Assets** then **Organizations** to verify the GitHub Enterprise organization appears as active.
      </Tab>

      <Tab title="GitLab">
        Return to **Integrations** to confirm GitLab is connected.

        <Frame caption="GitLab shows as connected in Cysmiq.">
          <img src="https://mintcdn.com/cysmiq/b1Lbo3Hes6--JS1V/images/guides/connect-vcs/gitlab-04-connected.webp?fit=max&auto=format&n=b1Lbo3Hes6--JS1V&q=85&s=d9833ed6854c85f6393e41645cf2f533" alt="Integrations page showing a GitLab connection." width="2880" height="2160" data-path="images/guides/connect-vcs/gitlab-04-connected.webp" />
        </Frame>

        Open **Assets** then **Organizations** to verify the GitLab group appears as active.

        <Frame caption="Organizations list shows the connected GitLab group.">
          <img src="https://mintcdn.com/cysmiq/b1Lbo3Hes6--JS1V/images/guides/connect-vcs/gitlab-05-organizations.webp?fit=max&auto=format&n=b1Lbo3Hes6--JS1V&q=85&s=013a6c532b008b07943c520ee83636ef" alt="Organizations table with GitLab and GitHub integrations listed as active." width="2880" height="2160" data-path="images/guides/connect-vcs/gitlab-05-organizations.webp" />
        </Frame>
      </Tab>

      <Tab title="Bitbucket Cloud">
        Return to **Integrations** to confirm Bitbucket Cloud is connected.

        <Frame caption="Bitbucket Cloud shows as connected in Cysmiq.">
          <img src="https://mintcdn.com/cysmiq/b1Lbo3Hes6--JS1V/images/guides/connect-vcs/bitbucket-cloud-04-connected.webp?fit=max&auto=format&n=b1Lbo3Hes6--JS1V&q=85&s=956c71229b49c29f80a0229a0b572568" alt="Bitbucket Cloud integration showing workspace connected with Active status." width="1280" height="164" data-path="images/guides/connect-vcs/bitbucket-cloud-04-connected.webp" />
        </Frame>
      </Tab>
    </Tabs>
  </Step>

  <Step title="Confirm scans are running">
    <Tabs>
      <Tab title="GitHub Cloud">
        Navigate to **Scans** to confirm that Cysmiq started scanning your repositories.

        <Frame caption="Scans are queued after the integration is connected.">
          <img src="https://mintcdn.com/cysmiq/b1Lbo3Hes6--JS1V/images/guides/connect-vcs/github-cloud-05-scans.webp?fit=max&auto=format&n=b1Lbo3Hes6--JS1V&q=85&s=0ba1e6a848f9af04e7b918c58192c798" alt="Scans list showing queued and in progress scans." width="2880" height="2160" data-path="images/guides/connect-vcs/github-cloud-05-scans.webp" />
        </Frame>
      </Tab>

      <Tab title="GitHub Enterprise">
        Navigate to **Scans** to confirm that Cysmiq started scanning your repositories. Cysmiq queues scans automatically for all repositories in the connected organizations.
      </Tab>

      <Tab title="GitLab">
        Cysmiq queues scans automatically for all repositories in the connected GitLab group.
      </Tab>

      <Tab title="Bitbucket Cloud">
        Cysmiq queues scans automatically for repositories in the connected Bitbucket workspace.
      </Tab>
    </Tabs>
  </Step>
</Steps>
