# GitLab

### What you get

* **One-click escalation from any request.** Click **Escalate ticket** in the request side panel, pick a GitLab project and labels, and a linked issue is created with the Siit context pre-filled.
* **Workflow-driven issue creation.** Use **Create GitLab issue** as a workflow step, with approval gating where needed.
* **Audit trail.** Every GitLab action triggered from Siit is recorded on the request timeline.

### How it works

1. From the request side panel, click **Escalate ticket** and pick **GitLab**.
2. Choose the project, labels, assignees, and milestone (optional). Fill in the title and description.
3. Submit. Siit creates the GitLab issue, links it back to the Siit request, and posts the link on both sides.

The same flow is available in workflows (as a **Create GitLab issue** action).

### What syncs from GitLab

* **Issues created from Siit** — every escalated ticket is tracked with its GitLab issue ID, project, and link.
* **Links** — preserved between the Siit request and the GitLab issue, visible on both sides.

> **Note** — bi-directional status sync is not currently available for GitLab. Track resolution either through the GitLab link on the request or by manually closing the Siit request when the issue is closed.

### Custom field mapping

> **Coming soon.** Custom field mapping for GitLab is on our roadmap. For now, you can set the standard issue fields (title, description, labels, assignees, milestone) when escalating. To track which fields are exposed, reach out via the in-app chat.

### Connect GitLab

1. In GitLab, generate a Personal Access Token (or Group Access Token) with `api` and `read_user` scopes.
2. In Siit, go to **Settings → Integrations**, find **GitLab** in the Ticketing section, and click **Connect**.
3. Enter your GitLab URL (Cloud or self-hosted) and paste the token, then click **Authorize**.
4. Pick the project(s) available for escalation.
5. Test by escalating a sample request from Siit to GitLab.

Need a more detailed walkthrough? Reach out to support via the in-app chat.

### Common workflows

**Bug report auto-escalation.** *Trigger: Service = "App bug report". Actions: Create GitLab issue in the engineering project → Add label "bug" → Notify requester.*

**DevOps request.** *Trigger: Tag "devops" added. Actions: Manager approval → Create GitLab issue in the infra project → Notify requester.*

### Troubleshooting

**"Invalid token" on connect.** The token has been revoked or lacks the required scopes. Generate a new one with `api` and `read_user` scopes.

**Project missing from the destination picker.** The token's user lacks access to that project. Update project membership in GitLab and re-sync.

**"Issue created" but no link in Siit.** The GitLab issue was created but the back-link save failed. Open the request timeline — the GitLab issue ID is logged. Manually re-link if needed.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.siit.io/integrations/ticketing/gitlab.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
