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
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
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
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
| Authentication | Rate limit | Notes |
|---|---|---|
| Unauthenticated | 60 requests/hour | Per IP address |
| Authenticated | Higher limits | Depends on GitLab tier |
| CI/CD job token | Same as user | Uses job initiator’s limits |
How HelixCommit handles rate limits
HelixCommit automatically manages rate limits:Caching
Enable GitLab API caching
Reduce API calls and improve performance:Cache structure
Cached data is stored as JSON files:Configuration options
Environment variables
GitLab personal access token for API authentication.
Maximum number of retry attempts for failed API requests.
Initial delay in seconds for exponential backoff.
Maximum delay in seconds between retries.
Enable persistent caching of GitLab API responses.Valid values:
1, true, yes, onDirectory for storing cached GitLab API responses.
Cache time-to-live in minutes.
CLI flags
Provide GitLab token via command line.
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