For instructions on connecting and using Git Sync from the BRMS interface, see Git Sync.
Prerequisites
Before configuring Git integrations, ensure you have:- A running BRMS instance with a publicly accessible URL (required for OAuth callbacks)
- Secrets management configured (required for GitLab and Azure DevOps)
Required environment variables
All provider integrations require these environment variables. Set them before proceeding with provider-specific configuration.GitHub configuration
GitHub integration uses a GitHub App for authentication and repository access.Step 1: Create a GitHub App
- Go to GitHub > Settings > Developer settings > GitHub Apps
- Click New GitHub App
- Fill in the required fields:
Step 2: Configure permissions
Under Repository permissions, set:Step 3: Configure installation settings
- Check Request user authorization (OAuth) during installation
- Under “Where can this GitHub App be installed?”, choose:
- Only on this account - For single organization use
- Any account - If multiple organizations will use the integration
Step 4: Generate credentials
After creating the app:- Note the App ID at the top of the settings page
- Note the Client ID in the app settings
- Generate a Client Secret and save it
- Scroll to Private keys and click Generate a private key
- Download the
.pemfile and Base64 encode it:
Step 5: Set GitHub environment variables
GitLab configuration
GitLab integration uses OAuth 2.0 and supports both GitLab.com and self-hosted instances.Step 1: Create an OAuth application
Navigate to your GitLab instance and create an application at one of these locations:Step 2: Configure the application
Step 3: Save credentials
After creating the application, GitLab displays:- Application ID - Save this
- Secret - Save this (shown only once)
Unlike GitHub, GitLab credentials are entered through the BRMS UI during connection, not as environment variables. They are encrypted and stored using your secrets provider. No additional environment variables are required beyond those set in Step 1.
Azure DevOps configuration
Azure DevOps integration authenticates directly against Microsoft Entra ID with a client-credentials grant (service principal), or with a Personal Access Token. There is no OAuth redirect flow: no callback URL has to be registered on the Azure side, and no Azure DevOps-specific environment variables are needed.Step 1: Choose an authentication method
Step 2 (Service Principal): Create an Entra ID app registration
- In the Azure portal, go to Microsoft Entra ID > App registrations > New registration. No redirect URI is needed.
- Under Certificates & secrets, create a client secret and save its value.
- In Azure DevOps, go to Organization settings > Users and add the application as a member, then grant it access to the projects and repositories it should reach.
- Collect the three values entered in the BRMS connection form:
Step 2 (Access Token): Create a PAT
In Azure DevOps, go to User settings > Personal access tokens and create a token with:Step 3: Connect from BRMS
All credentials are entered through the BRMS UI during connection - the Organization URL (https://dev.azure.com/<organization> for Azure DevOps Services, or your collection URL for Azure DevOps Server) plus the service principal fields or the PAT. See Git Sync for the connection flow.
Environment variables reference
Required for all integrations
GitHub-specific
GitLab-specific
GitLab credentials are entered via the UI and stored encrypted in the database. No additional environment variables are required beyondAPP_INTEGRATIONS_SECRET.
Azure DevOps-specific
Azure DevOps credentials are entered via the UI and stored encrypted using your secrets provider. No additional environment variables are required beyondAPP_INTEGRATIONS_SECRET.
Troubleshooting
”Integration not configured” message
The integration card shows “Not configured” when required environment variables are missing. Verify all required variables are set and restart the API server.GitHub: “App not installed” error
The GitHub App must be installed on the organization or account you want to connect. Users can install the app during the connection flow.GitLab: “Invalid redirect URI” error
The Redirect URI in your GitLab OAuth application must exactly match:GitLab: “URL must use HTTPS” error
GitLab requires HTTPS for OAuth applications. Ensure your GitLab URL starts withhttps://.
Azure DevOps: “Identity is not a member of this Azure DevOps organization”
Azure DevOps reports a service principal that was never added to the organization as errorTF401444, with a misleading suggestion to “sign in via a web browser” - which a service principal cannot do. The actual fix: add the application under Organization settings > Users in Azure DevOps and grant it access to the relevant projects.