Prerequisites
You need to be an owner of the GitLab group you want to connect to Hacktron. This is required to create a service account for Hacktron to use.Configure access
Open Service Accounts page
In GitLab, under the group you want to connect to Hacktron, go to
Settings and select Service Accounts.

Create a new service account
Give the service account a descriptive name, e.g. “Hacktron”.
Click Create.

Grant Maintainer access to the service account
In the Group or Projects you want to connect to Hacktron, grant the
service account Maintainer access.

Create a new personal access token
In the service account page, select the service account and click on
Manage access tokens.
Click on Add new token, and grant it the following permissions:Click Generate token.

read_userread_apiapi
This is required for Hacktron to receive merge request events and run code
reviews. Hacktron does not retain any source code after each review is
complete.

Self-hosted GitLab / GitLab Enterprise
Hacktron supports self-hosted GitLab and GitLab Enterprise through the same Personal Access Token flow described above. The only difference is one extra step when you connect. Follow the same Configure access steps to create a service account (Settings → Service Accounts), grant it Maintainer access, and generate a token from the service account’s Manage access tokens with theapi,
read_api, and read_user scopes.
On self-managed GitLab, service accounts require GitLab EE, and by default
only an instance administrator can create them (administrators can also
allow top-level group Owners to create them). Alternatively, a personal
access token from any user with Maintainer access and the same scopes works
identically.
https://gitlab.example.com) before entering the token.
Self-hosted prerequisites:
- Your GitLab instance must be reachable from Hacktron over HTTPS with a valid TLS certificate.
- GitLab installed under a URL subpath (e.g.
https://example.com/gitlab) is not supported — the base URL must be the instance origin. - The token must carry the
api,read_api, andread_userscopes on your self-hosted instance.
