Before you start
Not sure where a value comes from? See Where to find each value.- GitLab version: GitLab 16.0 or later, reachable over
https. Token rotation needs GitLab 17.9 or later. A blocking DinoAI reviewer sets the merge request reviewer state on GitLab 19.3 or later. - In GitLab: for Install for me, you need a GitLab instance administrator. For Use my own bot, you need a token for a bot that is a member of the projects.
- In Paradime: you have permission to edit the workspace’s Git repository settings.
- GitLab tier: Install for me creates an instance service account. Service accounts need GitLab Premium or Ultimate. If your instance does not allow them, use Use my own bot.
- Network:
- GitLab must reach the Paradime webhook host, for example
api.us.paradime.ioin the US region. See Network requirements. - Paradime must reach your GitLab over
https. If your instance is behind a firewall, allow the Paradime IP addresses.
- GitLab must reach the Paradime webhook host, for example
Step 1: Open the GitLab Self-Managed integration
- In Paradime, go to Settings > Integrations.
- On the Workspace tab, find GitLab Self-Managed and click Connect.
Step 2: Enter your instance
Under GitLab instance, fill in the fields:
Then, under CA certificate (PEM), add a certificate if your GitLab’s TLS certificate is signed by a private CA. Paste the PEM chain, or upload a
.pem, .crt, or .cer file. Each certificate starts with -----BEGIN CERTIFICATE-----. Leave it empty if your certificate comes from a public CA.
Paradime uses the CA certificate for every call to your GitLab, and keeps it after a reinstall or a reconnect. Paradime never shows the certificate again. Paste only certificates: Paradime refuses a private key.
Step 3: Choose how Paradime gets in
Under How Paradime gets in, pick one method.- Install for me (recommended)
- Use my own bot
Paradime creates its own instance service account named
paradime, adds it to your projects, and creates the webhooks. Paradime also registers its OAuth application on your instance, so people can link their GitLab account.- In GitLab, sign in as an instance administrator and create a personal access token with the
apiscope. - In Paradime, paste it into Instance admin personal access token and click Find projects. Paradime shows the GitLab version and the user it signed in as.
- Under Bot role, pick Developer or Maintainer. See Bot role.
- Under Projects, select the projects that Paradime installs on.
- Click Install.
Sign in with GitLab works on gitlab.com only. On GitLab Self-Managed, use an administrator token.
Step 4: Check the install
When the install is complete, Paradime shows a checklist under GitLab is connected: the GitLab version, the bot user, the token expiry date, the webhook on each project, and how many workspaces Paradime linked. Paradime links every workspace that already clones one of the projects, also with a deploy key. Turbo CI, on-merge runs, Lineage Diff, and DinoAI Code Review then work on those workspaces. If a project shows Add the hook in GitLab with the URL and secret below, add the webhook yourself. The steps are the same as on gitlab.com. See Add a webhook yourself.Step 5: Register the OAuth application
People link their GitLab account through an OAuth application on your instance, so git in the Code IDE runs as them. Install for me registers the application for you. If the registration failed, or you used Use my own bot, the GitLab integration page shows Register the Paradime OAuth application. An instance administrator does this once:- In GitLab, open Admin area > Applications > New application (see GitLab’s guide). The link on the card opens this page.
- Name the application
Paradime. - Paste the Redirect URL that Paradime shows.
- Select Trusted, so people are not asked to authorize Paradime. Keep Confidential selected.
- Select the
api,read_user, andwrite_repositoryscopes, then save. - In Paradime, paste the Application ID and the Secret, then click Save.
Change the sign-in URL
To add, change, or remove the sign-in URL after the install, open the GitLab Self-Managed integration page. On the connection card, click Edit next to Sign-in URL. An empty value means Same as instance.Where to find each value
Each field in the install wizard, what to enter, and where to get it in GitLab.
Install for me creates an instance service account. Service accounts need GitLab Premium or Ultimate. See Service accounts.