Connecting GitLab
Drumroll syncs GitLab Releases into your changelog. Each release on the project becomes one entry - title from the release name, body rendered from the release description, dated to the release's released_at. OAuth-authorized, on-demand sync, no polling.
If you tag releases on GitLab, this is the lowest-friction way to get a public changelog. Cut a release on GitLab, click Sync now, the entry appears as a draft. Publish when you're ready.
Step 1 - Authorize GitLab
From your workspace integrations page, click Connect GitLab. You'll be redirected to gitlab.com to authorize Drumroll. We request the minimum needed scopes:
read_api- list and read releases on the project you pick.read_repository- resolve project metadata.
Tokens are AES-256-GCM encrypted at rest before they ever touch our database. Refresh tokens are rotated transparently every ~2 hours, so the connection just stays connected. Disconnect any time - tokens are deleted immediately.
Step 2 - Pick a project
After authorizing, you'll see a single text input: Project. Type the project's full path:
- Top-level:
acme-co/changelog - Nested namespace:
acme-co/platform-team/changelog
Drumroll resolves the path to a numeric project ID once and caches both, so future syncs skip the lookup. The path must be a project your authorizing GitLab account can read.
Step 3 - Sync on demand
Click Sync now. Drumroll lists every release on the project via the GitLab Releases API and creates one changelog entry per release:
- Title - the release name (or the tag if no name was set).
- Body - the release description, rendered from GitLab markdown to HTML.
- Date - the release's
released_attimestamp. - Status - published by default. Releases with a future
released_at(GitLab's upcoming release flag) come in as drafts. - Tags - the entry is tagged
releaseso you can filter it later.
Re-syncs are safe. Drumroll dedupes by project_path:tag_name, so the same release won't be inserted twice. Edits to the release on GitLab (title, description, date) are reflected in the entry on the next sync.
How re-syncs behave
The dedupe key is the project path + tag name. That means:
- Renaming a release on GitLab updates the existing entry in Drumroll - no duplicate.
- Deleting a release on GitLab leaves the Drumroll entry in place - we never destructively delete your changelog history.
- Moving a project (changing its
group/repopath on GitLab) will create new entries on the next sync. Update the project path in Drumroll first to avoid that.
Limits and constraints
- gitlab.com only for v1. Self-managed GitLab instances aren't supported yet.
- Releases only. Issues, MRs, milestones, and CI artifacts aren't synced.
- No automatic polling. Syncs are user-triggered from the integrations page.
Disconnecting
Click Disconnect GitLab on the integrations page. Access + refresh tokens are deleted immediately. Synced entries stay - they become regular entries you can edit or delete.