Connect a GitLab repository
Tiden reads a gitlab.com project through your GitLab account. Tiden checks each merge request that merges into the project's default branch against the product's requirements and tests. Merges that did not go through a Tiden intent branch appear on the Branches page under Untracked merges.
Tiden supports gitlab.com. Self-managed GitLab is not supported yet.
Connect a project
- Open a product.
- Select Settings, then Repositories.
- Select Keep in sync, then GitLab.
- gitlab.com asks you to authorize Tiden. Select Authorize. gitlab.com returns you to Tiden.
- Pick the project, then select Keep in sync. The project appears in the list.
Tiden needs at least the Reporter role on the project to read it.
How merges reach Tiden
Tiden does the GitLab setup for you:
- Project webhook. Tiden adds a webhook to the project. It sends only merge request events. When a merge request merges, Tiden starts processing it within a minute.
- Scheduled check. Every 15 minutes, Tiden also checks the project for merge requests merged since the last check. A merge that the webhook missed still reaches Tiden.
- Bot account. If you are an Owner of the project's top-level group, Tiden creates a service account in that group and gives it access to the project. The connection then keeps working if you leave the group or revoke your own authorization.
Your role on gitlab.com decides what Tiden can set up:
| Your role | Webhook | Bot account | Merge delay |
|---|---|---|---|
| Owner of the top-level group | Yes | Yes | About a minute |
| Maintainer of the project | Yes | No | About a minute |
| Developer or Reporter | No | No | Up to 15 minutes |
When the project has no webhook, the repository row in Settings says "Merges arrive within 15 minutes."
Make the connection independent of one person
If Tiden could not create a bot account, the repository row says the project is connected through your GitLab account. The connection stops working if that account loses access.
A group Owner can replace it with a service account token:
- On gitlab.com, create a service account in the top-level group, and give it the Maintainer role on the project.
- Create a personal access token for the service account, with the
apiscope. - In Tiden, open Settings, then Repositories, and select the note on the repository row.
- Enter the group ID and the token, then save.
Tiden accepts only a token that belongs to a service account.
Fix "The repository connection is unavailable"
This message appears in Processing history when a merge request merged while Tiden had no working connection to its project. Tiden keeps the merge and waits.
- In the processing details, select Open repository settings.
- Select Keep in sync, then GitLab, and connect the project again.
- Return to the merge in Processing history. If the details show Retry, select it.