Skip to main content

Overview

HelixCommit integrates with GitLab’s API to enrich your release notes with merge request information, author details, and comparison links. This integration is optional but highly recommended for repositories hosted on GitLab.
GitLab integration works with both GitLab.com and self-hosted GitLab instances. For private projects, you’ll need to provide a GitLab token with appropriate permissions.

Benefits of GitLab integration

Merge request links

Automatically link commits to their associated merge requests for better traceability

Author attribution

Show who contributed each change, recognizing team members and external contributors

Compare URLs

Generate comparison links between versions to see all changes in GitLab’s UI

Rich metadata

Include MR descriptions, labels, and assignee information in your release notes

Quick start

Enable GitLab integration

Simply set your GitLab token and HelixCommit will automatically fetch MR data:
That’s it! HelixCommit automatically detects GitLab repositories and enriches the output.

Disable GitLab integration

Work offline or skip MR lookups:

Authentication

Creating a GitLab token

1

Navigate to GitLab settings

Go to your GitLab instance’s Settings > Access Tokens page:Click Add new token.
2

Select permissions

Minimum required scope: read_apiWith a token:
  • Rate limit: Higher limits than unauthenticated
  • Access to all public project data
3

Set the token

Never commit tokens to version control. Use environment variables or CI/CD secrets.

What gets enriched

Merge request resolution

HelixCommit automatically finds MRs associated with commits:

Compare URLs

Automatic comparison links between versions:

Commit-to-MR mapping

HelixCommit uses multiple strategies to find related MRs:
  1. MR number in commit message: feat: Add feature (!123)
  2. Merge commit pattern: Merge branch references
  3. GitLab API lookup: Search by commit SHA
Using Conventional Commits with MR numbers in messages improves accuracy and reduces API calls.

Self-hosted GitLab

HelixCommit automatically detects self-hosted GitLab instances from your remote URL.

Configuration

The API URL is derived from your Git remote. For custom configurations:
HelixCommit will use https://gitlab.example.com/api/v4 automatically.

Subgroups support

GitLab projects in subgroups are fully supported:

Rate limiting

Understanding GitLab rate limits

How HelixCommit handles rate limits

HelixCommit automatically manages rate limits:
1

Respects rate limit headers

Reads RateLimit-Remaining and stops before hitting the limit.
2

Exponential backoff

Retries failed requests with increasing delays.
3

Smart caching

Caches API responses to reduce duplicate requests.

Caching

Enable GitLab API caching

Reduce API calls and improve performance:

Cache structure

Cached data is stored as JSON files:

Configuration options

Environment variables

string
required
GitLab personal access token for API authentication.
integer
default:"3"
Maximum number of retry attempts for failed API requests.
float
default:"0.5"
Initial delay in seconds for exponential backoff.
float
default:"8"
Maximum delay in seconds between retries.
boolean
default:"false"
Enable persistent caching of GitLab API responses.
Valid values: 1, true, yes, on
path
default:".helixcommit-cache/gitlab"
Directory for storing cached GitLab API responses.
integer
default:"10"
Cache time-to-live in minutes.

CLI flags

string
Provide GitLab token via command line.
Prefer environment variables over command-line flags to avoid exposing tokens in shell history.
boolean
Disable GitLab MR lookups entirely.
Useful for:
  • Offline work
  • Faster generation when MR data isn’t needed

Troubleshooting

If you hit rate limits:
  1. Use authentication:
  2. Enable caching:
  3. Reduce API calls:
Verify your token has correct permissions:
  1. Go to your GitLab Settings > Access Tokens
  2. Check token has read_api scope
  3. Verify token isn’t expired
  4. Test token:
If MRs aren’t being linked:
  1. Check commit messages:
    Ensure MR numbers are mentioned: feat: Add feature (!123)
  2. Verify GitLab token:
  3. Test without caching:
  4. Check repository remote:
Ensure your remote URL contains “gitlab” in the hostname:

GitLab CI/CD integration

Using CI_JOB_TOKEN

GitLab CI provides a CI_JOB_TOKEN that can be used for API access:

Using project access tokens

For more control, use a project access token:
Store the token in Settings > CI/CD > Variables as a masked variable.

Best practices

Include MR numbers in commit messages:
Verify basic functionality before enabling GitLab integration:

Next steps

Configuration

Configure GitLab integration settings

Examples

See GitLab integration in action

CI/CD integration

Automate release notes in GitLab CI

Conventional Commits

Learn about commit message format