{"ast":{"$$mdtype":"Tag","name":"article","attributes":{},"children":[{"$$mdtype":"Tag","name":"Heading","attributes":{"level":1,"id":"source-control-providers","__idx":0},"children":["Source control providers"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["If you are on an Enterprise plan, you can connect your source control to offer continuous validation and delivery of your APIs, reference docs, and developer portals."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["From the Source control providers page, you can configure settings for:"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"Link","attributes":{"href":"#source-control-providers"},"children":["Source control providers"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"Link","attributes":{"href":"#github-enterprise"},"children":["GitHub Enterprise"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"Link","attributes":{"href":"#azure"},"children":["Azure"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"Link","attributes":{"href":"#self-managed-gitlab"},"children":["Self-managed GitLab"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"Link","attributes":{"href":"#self-managed-bitbucket"},"children":["Self-managed Bitbucket"]}]}]}]}]},{"$$mdtype":"Tag","name":"Admonition","attributes":{"type":"info"},"children":[{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["You will need an Enterprise-level Redocly plan to connect to GitHub Enterprise, Azure or Bitbucket self-managed."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["You will need a Pro Redocly plan to use GitLab self-managed."]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"github-enterprise","__idx":1},"children":["GitHub Enterprise"]},{"$$mdtype":"Tag","name":"ol","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Using Workflows, navigate to ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Settings > Source control providers"]},"."]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["On the Source control providers page, under GitHub Enterprise, complete the details to connect to your GitHub Enterprise account."]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Select ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Save Github Enterprise Settings"]}," to save your changes and connect your account."]}]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Once you have connected your account, it works similar to the ",{"$$mdtype":"Tag","name":"Link","attributes":{"href":"/docs-legacy/workflows/sources/github"},"children":["GitHub integration source"]},"."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"azure","__idx":2},"children":["Azure"]},{"$$mdtype":"Tag","name":"Admonition","attributes":{"type":"info"},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["You will need the ",{"$$mdtype":"Tag","name":"Link","attributes":{"href":"/pricing"},"children":["Professional or Enterprise plan"]}," to connect to Azure Repos connection."]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"connect-azure-repos-to-redocly","__idx":3},"children":["Connect Azure Repos to Redocly"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Redocly integrates by using a personal access token to authenticate to Azure Repos."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["We recommend using a service user account. A service user is a user created in Azure Repos intended for use by a machine. You would log in to the service user account to generate a personal access token for use by a 3rd party service (like Redocly). We recommend naming your service user \"Redocly\" or similar."]},{"$$mdtype":"Tag","name":"ol","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Log into your Azure Repos account, and under User Settings, create a personal access token. For more information, read the ",{"$$mdtype":"Tag","name":"Link","attributes":{"href":"https://docs.microsoft.com/en-us/azure/devops/organizations/accounts/use-personal-access-tokens-to-authenticate?view=azure-devops&tabs=preview-page#create-personal-access-tokens-to-authenticate-access"},"children":["Azure docs to learn how to create a personal access token"]},". Azure DevOps has a current and preview features environment which have different locations for finding where to generate your personal access token."]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Set permissions for the personal access token."]}]}]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Select ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["custom defined"]}," scopes.",{"$$mdtype":"Tag","name":"Admonition","attributes":{"type":"info"},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["You must define the scopes correctly."]}]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Set ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["read & write"]}," code access."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Set Web/Service hooks permissions."," ",{"$$mdtype":"Tag","name":"Image","attributes":{"src":"/content-assets/azure-pat-scopes-4220d793f6a01e0f.png","alt":"azure pat scopes","title":"#width=700px;"},"children":[]}]}]},{"$$mdtype":"Tag","name":"Admonition","attributes":{"type":"warning"},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["If you set an expiration on the personal access token, set yourself a reminder to generate a new token."]}]},{"$$mdtype":"Tag","name":"ol","attributes":{"start":3},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["In Redocly, navigate to ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Settings"]}," > ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Source control providers"]}," page."]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Scroll down to the ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Azure"]}," section of the page, and complete the details."]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Enter the ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Organization name"]}," as it appears in your Azure account."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Enter your personal access token you created in Azure Repos."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Select ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Save Azure Settings"]}," to save your changes."," ",{"$$mdtype":"Tag","name":"Image","attributes":{"src":"/content-assets/org-settings-azure-settings-4c8eea145f7798a0.png","alt":"Org Settings Azure","title":"#width=600px;"},"children":[]}]}]}]}]},{"$$mdtype":"Tag","name":"Admonition","attributes":{"type":"success"},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["You've now connected Azure Repos to Redocly."]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"update-access-token","__idx":4},"children":["Update access token"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["To update your token:"]},{"$$mdtype":"Tag","name":"ol","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["On the Source control provider page, under Azure, select ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Change"]},"."]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Add in your new token, and select ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Update Azure Settings"]},"."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"Image","attributes":{"src":"/content-assets/org-settings-azure-settings-update-2483cb43d4bcd5c4.png","alt":"Org Settings Azure Settings","title":"#width=500px;"},"children":[]}]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"disconnect-azure","__idx":5},"children":["Disconnect Azure"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["To disconnect the integration between Azure Repos and Redocly, on the Source control provider page, under Azure, select ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Disconnect Azure"]},"."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"self-managed-gitlab","__idx":6},"children":["Self-managed GitLab"]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"connect-gitlab-self-managed-to-redocly","__idx":7},"children":["Connect GitLab self-managed to Redocly"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["GitLab self-managed operates similarly to the GitLab.com integration, though it requires some additional setup."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"create-a-gitlab-application","__idx":8},"children":["Create a GitLab application"]},{"$$mdtype":"Tag","name":"ol","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Navigate to your GitLab user settings and create a GitLab Application."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"em","attributes":{},"children":["A regular user account is acceptable, but we recommend you create a service account for managing applications. Service accounts typically have administrative privileges, and are not used by human users, but by the system for administration and interacting with external services."]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"Image","attributes":{"src":"/content-assets/gitlab-managed-app-01-user-dropdown-59d803a4609cd650.png","alt":"GitLab user dropdown","title":"#width=500px;"},"children":[]}]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Go to the ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Applications"]}," tab and:"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Enter \"Redocly Workflows\" for the new application name."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Set the ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Redirect URI"]}," to ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["https://app.redocly.com/callbacks/gitlab-auth"]},"."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Activate the ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["api"]}," scope from the ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Scopes"]}," list in order to allow Redocly to read your repositories and write commit statuses."," ",{"$$mdtype":"Tag","name":"Image","attributes":{"src":"/content-assets/gitlab-managed-app-02-new-application-874044dc002c5fe7.png","alt":"GitLab Applications tab 1","title":"#width=500px;"},"children":[]}]}]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Select ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Save application"]}," to create a new application."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"Image","attributes":{"src":"/content-assets/gitlab-managed-app-03-save-application-86f8d52c5890e0b4.png","alt":"GitLab Applications tab 2","title":"#width=500px;"},"children":[]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["You will be redirected to the page with credentials for the new application."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"Image","attributes":{"src":"/content-assets/gitlab-managed-app-04-creds-b5c6452fdef10995.png","alt":"GitLab application credentials","title":"#width=500px;"},"children":[]}]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Keep this tab open as this data is required for the following steps."]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"connect-application-to-your-organization-in-redoclys-web-app","__idx":9},"children":["Connect application to your organization in Redocly's web app"]},{"$$mdtype":"Tag","name":"ol","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Using Workflows, navigate to ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Settings > Source control providers"]}," page."]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Scroll down to ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["GitLab self-managed"]}," section and copy/paste ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Application ID"]}," and ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Secret"]}," values from the GitLab application to the corresponding form fields."," ","Also provide the URL to your self-managed instance."," ",{"$$mdtype":"Tag","name":"Image","attributes":{"src":"/content-assets/gitlab-managed-org-settings-02-2e314686b2d4bfdb.png","alt":"Organization source control gitlab self-managed settings","title":"#width=500px;"},"children":[]}]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Select ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Save self-managed Gitlab settings"]}," to complete the configuration."]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Finish the authorization flow in a separate tab in your GitLab self-managed instance."," ",{"$$mdtype":"Tag","name":"Image","attributes":{"src":"/content-assets/gitlab-managed-authorize-app-8b31cce26584b5eb.png","alt":"Authorize GitLab app","title":"#width=500px;"},"children":[]}]}]}]},{"$$mdtype":"Tag","name":"Admonition","attributes":{"type":"success"},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["You're all set! You can now use the GitLab self-managed source similarly to the GitLab.com integration source."]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"self-managed-bitbucket","__idx":10},"children":["Self-managed Bitbucket"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["You can use ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Bitbucket Server"]}," or ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Bitbucket Data center"]}," as a source for your API versions, reference docs and developer portal projects."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"connect-your-bitbucket-self-managed-account-to-redocly","__idx":11},"children":["Connect your Bitbucket self-managed account to Redocly"]},{"$$mdtype":"Tag","name":"ol","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Navigate to ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Settings"]}," > ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Source control providers"]},"."]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Scroll down to the ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Bitbucket self-managed"]}," section and:"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Enter the ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Username"]}," and ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Password"]}," of your Bitbucket user account into the corresponding fields."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Provide the URL of your self-managed Bitbucket instance. The URL must start with the protocol (either ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["http"]}," or ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["https"]},")."," ",{"$$mdtype":"Tag","name":"Image","attributes":{"src":"/content-assets/org-settings-02-bitbucket-7a11d4178b336095.png","alt":"Organization source control bitbucket self-managed settings","title":"#width=500px;"},"children":[]}]}]},{"$$mdtype":"Tag","name":"Admonition","attributes":{"type":"info","name":"Bitbucket service accounts"},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["A regular user account is acceptable, but we recommend you create a service account on Bitbucket with access to desired repositories. Service accounts typically have administrative privileges, and are not used by human users, but by the system for administration and interacting with external services."]}]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Select ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Save self-managed Bitbucket settings"]}," to complete the configuration."]}]}]}]},"frontmatter":{"excludeFromSearch":true},"tagList":["admonition","partial"],"title":"Source control providers","lastModified":"2025-05-28T16:01:32.000Z"}