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:
- GitLab.com: gitlab.com/-/user_settings/personal_access_tokens
- Self-hosted:
https://your-gitlab.com/-/user_settings/personal_access_tokens
2
Select permissions
- Public projects
- Private projects
Minimum required scope:
read_apiWith a token:- Rate limit: Higher limits than unauthenticated
- Access to all public project data
3
Set the token
What gets enriched
Merge request resolution
HelixCommit automatically finds MRs associated with commits:- Before GitLab integration
- After GitLab integration
Compare URLs
Automatic comparison links between versions:Commit-to-MR mapping
HelixCommit uses multiple strategies to find related MRs:- MR number in commit message:
feat: Add feature (!123) - Merge commit pattern: Merge branch references
- 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: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, onpath
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.
boolean
Disable GitLab MR lookups entirely.Useful for:
- Offline work
- Faster generation when MR data isn’t needed
Troubleshooting
API rate limit exceeded
API rate limit exceeded
If you hit rate limits:
-
Use authentication:
-
Enable caching:
-
Reduce API calls:
Permission denied errors
Permission denied errors
Verify your token has correct permissions:
- Go to your GitLab Settings > Access Tokens
- Check token has
read_apiscope - Verify token isn’t expired
- Test token:
Merge requests not found
Merge requests not found
If MRs aren’t being linked:
-
Check commit messages:
Ensure MR numbers are mentioned:
feat: Add feature (!123) -
Verify GitLab token:
-
Test without caching:
-
Check repository remote:
Self-hosted GitLab not detected
Self-hosted GitLab not detected
Ensure your remote URL contains “gitlab” in the hostname:
GitLab CI/CD integration
Using CI_JOB_TOKEN
GitLab CI provides aCI_JOB_TOKEN that can be used for API access:
Using project access tokens
For more control, use a project access token:Best practices
Use consistent commit message format
Use consistent commit message format
Include MR numbers in commit messages:
Enable caching in CI/CD
Enable caching in CI/CD
Test without GitLab first
Test without GitLab first
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