> ## Documentation Index
> Fetch the complete documentation index at: https://docs.tekma.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Send a capture to GitLab

> Connect a GitLab project and create a link-backed issue with labels, assignees, milestones, or a due date.

Use GitLab delivery for a saved capture that belongs in a project issue queue. An owner connects one project and instance for the workspace. Members use that project; owners can choose another accessible project for a single issue.

## Requirements and connection

Setup requires a workspace owner. Use **Continue to GitLab** for OAuth when the deployment has GitLab OAuth configured; that flow targets GitLab.com. For a token connection, use a project access token and a public HTTPS GitLab instance URL. A self-managed instance can work through the token path when its public URL is accepted. The token must read the project metadata and create issues. Tekma stores the configured instance and does not let a send request replace it.

1. Open **Settings → Integrations** and choose **Connect** beside GitLab.
2. Choose **Continue to GitLab**, or choose **Use a token instead**.
3. Enter **Project ID or path**, such as `group/app`. For a token connection, enter **Instance URL** as a full HTTPS URL; leave it as `https://gitlab.com` for GitLab.com.
4. Choose **Connect GitLab**. Tekma verifies the project, then shows **Connected**. Use **Manage** to change the project or keep existing credentials while selecting a new destination.

## Send an issue

1. Open a saved capture and select **Send to app → GitLab**.
2. Wait for **Loading preview…** and review the selected project, title, description and private capture link.
3. Choose existing **Labels**, **Assignees**, an active project **Milestone**, and a **Due date** where offered. Select at most ten labels and ten assignees. Labels containing commas are not selectable because GitLab's issue API encodes labels as a comma-separated value. A single assignee uses GitLab's Free-compatible field; multiple assignees require a GitLab tier that supports `assignee_ids`.
4. Use **Edit visible fields** to hide optional fields, add context if needed, and choose **Send to GitLab**.
5. Open the returned URL and confirm the issue. For an uncertain result, inspect GitLab before retrying.

Only owners can switch **Project** for this send. Changing projects clears project-specific choices. Members remain on the configured project, and the alternate choice does not change the workspace default.

| Field     | Supported values                                                               |
| --------- | ------------------------------------------------------------------------------ |
| Project   | Configured project; owner-only alternate accessible project                    |
| Labels    | Existing labels, maximum 10; comma-containing names excluded                   |
| Assignees | Existing project members, maximum 10; multiple may require Premium or Ultimate |
| Milestone | Active project milestone, using GitLab's global milestone ID                   |
| Due date  | Calendar date in `YYYY-MM-DD` form                                             |

Tekma sends the saved description, optional context, sanitized source URL, capture kind and private link. It does not upload media, comments, or raw diagnostics. The issue's readers need Tekma permission to open the private link.

## Troubleshooting

If project metadata does not load, verify the configured instance URL, project path/ID, token scope, and project membership. Refresh after changing a project because labels, members, and milestones are destination-specific. Ancestor-group milestones, epics, and weight are outside this form. If multiple assignees fail, use one assignee or confirm the GitLab plan. A timeout may mean an issue was created; search GitLab before sending again. Disconnecting Tekma does not revoke the project access token.
