GitLab Entegrasyonu
The GitLab integration connects your GitLab groups and projects to SetGet. Issues, merge requests, comments, labels, and states sync bidirectionally, keeping your engineering workflow in GitLab aligned with project management in SetGet.
Yetenekler
| Feature | Description |
|---|---|
| Bidirectional issue sync | Issues created in GitLab appear as work items in SetGet and vice versa |
| Merge request linking | Reference a SetGet identifier in an MR to link them |
| Comment sync | Comments on GitLab issues propagate to SetGet work items |
| Label sync | Labels stay consistent across both platforms |
| State mapping | Map GitLab issue states to SetGet workflow states |
Onkosullar
- A GitLab account with at least Maintainer access to the projects you want to connect.
- Admin or Owner role in your SetGet workspace.
- The GitLab projects must not be archived.
Kurulum adimlari
Step 1 -- Authorize GitLab access
- In SetGet, navigate to Settings > Integrations.
- Find the GitLab card and click Connect.
- SetGet redirects you to GitLab's OAuth authorization page.
- Review the requested permissions and click Authorize.
- You are redirected back to SetGet. The GitLab card shows a green "Connected" badge.
TIP
For self-managed GitLab instances, you may need to configure the GitLab instance URL in the integration settings before authorizing. Enter your GitLab instance URL (e.g., https://gitlab.yourcompany.com) when prompted.
Adim 2 -- Link a repository to a project
- Open the SetGet project you want to link.
- Go to Project Settings > Integrations > GitLab.
- Click Link Repository.
- Select a GitLab group, then select the specific project/repository.
- Click Save.
You can link multiple GitLab projects to the same SetGet project.
Adim 3 -- Configure state mapping
GitLab issues have two states: opened and closed. Map these to your SetGet workflow states.
| GitLab state | Default SetGet state | Changeable |
|---|---|---|
opened | Backlog | Yes |
closed | Done | Yes |
To customize:
- In the repository link settings, expand State Mapping.
- Her GitLab state, select the desired SetGet state.
- Click Save Mapping.
Adim 4 -- Configure label sync
Label sync modes:
| Mode | Behavior |
|---|---|
| Bidirectional (default) | Labels sync in both directions |
| GitLab to SetGet only | Labels imported from GitLab; SetGet changes not pushed back |
| SetGet to GitLab only | Labels pushed to GitLab; GitLab changes not pulled |
| Disabled | No label sync |
Configure the mode in the repository link settings under Label Sync.
Adim 5 -- Enable comment sync
Comment sync is enabled by default. Toggle it off in the repository link settings if you prefer to keep conversations separate.
Cift yonlu sorun senkronizasyonu
Senkronizasyon akisi
When a new issue is created in a linked GitLab project:
- GitLab sends a webhook event to SetGet.
- SetGet creates a work item in the linked project.
- Title, description, labels, and assignee are populated from the GitLab issue.
- The work item state is determined by the state mapping.
When a new work item is created in SetGet (with GitLab sync active):
- SetGet creates a corresponding issue in the linked GitLab project.
- Title, description, and labels are populated from the work item.
- A bidirectional link is stored.
Senkronize edilen alanlar
| Field | GitLab to SetGet | SetGet to GitLab |
|---|---|---|
| Title | Yes | Yes |
| Description | Yes | Yes |
| State (opened/closed) | Yes (via mapping) | Yes (via mapping) |
| Labels | Yes (if enabled) | Yes (if enabled) |
| Assignees | Yes (matched by email) | Yes (matched by email) |
| Comments | Yes (if enabled) | Yes (if enabled) |
| Weight | No | No |
| Due date | Yes | Yes |
| Milestones | No | No |
Atanan eslestirme
Assignees are matched by email address. If a GitLab user's email matches a SetGet workspace member's email, the assignment maps automatically. Unmatched assignees are noted in the work item activity log.
Merge request baglama
Reference a SetGet work item identifier in an MR title, description, or branch name to create a link.
Desteklenen formatlar
| Format | Example |
|---|---|
| Project prefix + number | PROJ-123 |
| Full URL | https://app.setget.io/workspace/project/work-items/PROJ-123 |
When linked:
- The work item's Links section shows the MR with its title, status, and a link to GitLab.
- Merging the MR can optionally auto-transition the work item.
Birlestirmede otomatik gecis
- Enable Auto-transition on merge in the repository link settings.
- Select the target state.
- Click Save.
Webhook olaylari
The GitLab integration processes the following webhook events:
| Event | Purpose |
|---|---|
Issue Hook | Sync issue creation, updates, state changes |
Note Hook | Sync comments on issues |
Merge Request Hook | Link MRs, detect merges |
Tag Push Hook | Optional: track releases |
SetGet manages the webhook configuration automatically.
Entegrasyonu yonetme
View sync status
Navigate to Project Settings > Integrations > GitLab to view the last sync timestamp, linked item count, and any recent errors.
Pause sync
Toggle Pause Sync in the repository link settings to temporarily halt event processing. Events during the pause are not retroactively synced.
Unlink a repository
Click Unlink next to the repository in the integration settings. This stops syncing but preserves existing data.
Disconnect GitLab
Go to Settings > Integrations > GitLab and click Disconnect to revoke the OAuth token and remove all repository links.
Sorun giderme
| Problem | Cause | Solution |
|---|---|---|
| No projects appear in the dropdown | Insufficient GitLab permissions | Ensure you have Maintainer access |
| Issues not syncing | Webhook misconfigured | Disconnect and reconnect |
| Assignees not mapping | Email mismatch | Align emails across platforms |
| Self-managed GitLab not connecting | Instance URL not set | Enter the GitLab URL before authorizing |
| MR links not detected | Wrong format | Use PROJ-123 in the MR title or description |
WARNING
If you use GitLab's IP allowlisting, ensure the SetGet server IP is permitted to receive webhook events.
Guvenlik
- OAuth tokens are encrypted at rest and stored server-side only.
- Webhook payloads are verified using GitLab's secret token mechanism.
- Minimum required scopes:
api,read_user. - Revoke access from GitLab at User Settings > Applications > Authorized Applications.