GitLab

Collaboration tool for developers
Connect it
In Keystile Automations → Connections → New connection, choose GitLab and sign in. Your AI tools and workflows then use it through Keystile; they never see the password or key.How connecting works.
Try it from your AI tool
Using Keystile, in GitLab: archive project (Archives a project, making it read-only).What it can do (114 actions)
| Action | What it does | Changes data |
|---|---|---|
| Add Commit Comment | Adds a comment to a commit, optionally on a line of a file. | Yes |
| Add Issue Comment | Adds a comment (note) to an issue. | Yes |
| Add Spent Time | Logs time spent on an issue. | Yes |
| Approve Merge Request | Approves a merge request as the connected user. | Yes |
| Archive Project | Archives a project, making it read-only. | |
| Cancel Job | Cancels a running or pending CI/CD job. | |
| Cancel Pipeline | Cancels the running and pending jobs of a pipeline. | |
| Create Branch | Creates a branch from a branch, tag or commit. | Yes |
| Create Commit | Creates a commit that adds, changes, moves or deletes several files at once. | Yes |
| Create File | Creates a new file in the repository with a commit. | Yes |
| Create Group | Creates a group or a subgroup. | Yes |
| Create Issue | Create a project issue | Yes |
| Create Label | Creates a label in a project. | Yes |
| Create Merge Request | Opens a merge request from a source branch into a target branch. | Yes |
| Create Merge Request Draft Comment | Adds an unpublished review comment to a merge request. | Yes |
| Create Milestone | Creates a milestone in a project. | Yes |
| Create Project | Creates a new project in your namespace or in a group. | Yes |
| Create Project Issue | Creates an issue in a project given by ID or path. | Yes |
| Create Project Webhook | Adds a webhook to a project that calls a URL on the chosen events. | Yes |
| Custom API Call | Make a custom API call to a specific endpoint | Yes |
| Delete Branch | Deletes a branch from the repository. | |
| Delete File | Deletes a file from a branch with a commit. | |
| Delete Group | Deletes a group with its subgroups and projects. On gitlab.com it is marked for deletion and removed after the retention period. | |
| Delete Issue Comment | Permanently deletes a comment from an issue. | |
| Delete Label | Permanently deletes a project label. | |
| Delete Merge Request | Permanently deletes a merge request. Requires the Owner role or admin. | |
| Delete Milestone | Permanently deletes a project milestone. | |
| Delete Pipeline | Permanently deletes a pipeline with its jobs, logs and artifacts. | |
| Delete Project | Deletes a project. On gitlab.com it is marked for deletion and removed after the retention period. | |
| Delete Project Webhook | Permanently deletes a project webhook. | |
| Erase Job | Permanently erases the log and artifacts of a finished job. | |
| Fork Project | Forks a project into your namespace or a group. | Yes |
| Get Branch | Gets one branch with its latest commit. | |
| Get Commit | Gets one commit by SHA, branch or tag. | |
| Get Commit Branches and Tags | Lists the branches and tags that contain a commit. | |
| Get Commit Sequence Number | Gets how many commits lead up to a commit. | |
| Get Current User | Gets the GitLab user the connection belongs to. | |
| Get File | Gets a file from the repository with its decoded text content. | |
| Get Group | Gets one group by ID or full path. | |
| Get Group Member | Gets the direct membership and access level of one user in a group. | |
| Get Issue | Gets one issue of a project by its IID. | |
| Get Issue Comment | Gets one comment (note) of an issue. | |
| Get Job | Gets one CI/CD job with its status and timings. | |
| Get Job Log | Gets the end of a job console log. | |
| Get Label | Gets one project label by ID or name. | |
| Get Merge Request | Gets one merge request of a project by its IID. | |
| Get Merge Request Approval Rules | Gets the approval rules of a merge request and which are satisfied. Rules need GitLab Premium or Ultimate. | |
| Get Merge Request Approvals | Gets who approved a merge request and whether it is approved. | |
| Get Milestone | Gets one project milestone by its ID. | |
| Get Pipeline | Gets one pipeline with its status and timings. | |
| Get Project | Gets one project by ID or full path. | |
| Get Project Languages | Gets the programming languages of a project repository with their share. | |
| Get Project Member | Gets the membership and access level of one user in a project. | |
| Get Project Webhook | Gets one project webhook with its URL and events. | |
| Get Time Tracking Stats | Gets the time estimate and time spent of an issue. | |
| Get User | Gets a user by numeric ID. | |
| Get User Status | Gets the status (emoji, message, availability) of a user. | |
| Import Project Members | Copies the members of another project into this project. | Yes |
| List Branches | Lists or searches the branches of the repository. | |
| List Commit Comments | Lists the comments on a commit. | |
| List Commits | Lists the commits of a branch, tag or path, newest first. | |
| List Group Billable Members | Lists the members who count toward the paid seats of a top-level group. | |
| List Group Members | Lists the members of a group, one page at a time. | |
| List Group Pending Members | Lists the members of a top-level group waiting for approval. | |
| List Group Projects | Lists the projects of a group, one page at a time. | |
| List Groups | Lists the groups you are a member of, one page at a time. | |
| List Issue Comments | Lists the comments (notes) of an issue, one page at a time. | |
| List Issues | Lists or searches the issues of a project, one page at a time. | |
| List Labels | Lists the labels of a project, one page at a time. | |
| List Merge Request Comments | Lists the comments (notes) of a merge request. | |
| List Merge Request Commits | Lists the commits of a merge request. | |
| List Merge Request Diff Versions | Lists the diff versions (pushes) of a merge request. | |
| List Merge Request Diffs | Lists the changed files of a merge request with their diffs. | |
| List Merge Request Discussions | Lists the discussion threads of a merge request. | |
| List Merge Requests | Lists or searches merge requests in one project, or across projects when no project is given. | |
| List Milestones | Lists the milestones of a project, one page at a time. | |
| List Pipeline Jobs | Lists the jobs of a pipeline, one page at a time. | |
| List Pipelines | Lists the CI/CD pipelines of a project, newest first, one page at a time. | |
| List Project Ancestor Groups | Lists the groups a project belongs to (its parent groups), optionally with the groups it is shared with. | |
| List Project Invited Groups | Lists the groups a project has been shared with. | |
| List Project Members | Lists the members of a project, including members inherited from its groups. | |
| List Project Share Locations | Lists the groups a project can be shared with. | |
| List Project Transfer Locations | Lists the groups a project can be moved to. | |
| List Project Users | Lists the users who can be mentioned or assigned in a project. | |
| List Project Webhooks | Lists the webhooks of a project. | |
| List Projects | Lists projects you are a member of, one page at a time. | |
| List Repository Files | Lists files and folders in the repository. | |
| List Tags | Lists or searches the tags of the repository. | |
| List User Projects | Lists the projects owned by a user that you can see. | |
| List Users | Searches users by name, username or public email. | |
| Merge Merge Request | Merges a merge request into its target branch. | |
| Move Issue | Moves an issue to another project. | Yes |
| Play Manual Job | Starts a manual CI/CD job. | Yes |
| Protect Branch | Protects a branch or wildcard pattern. | Yes |
| Reset Spent Time | Clears all time spent logged on an issue. | |
| Reset Time Estimate | Removes the time estimate of an issue. | Yes |
| Retry Pipeline | Retries the failed and canceled jobs of a pipeline. | Yes |
| Run Pipeline | Starts a new CI/CD pipeline for a branch or tag. | Yes |
| Set Time Estimate | Sets the time estimate of an issue. | Yes |
| Set User Status | Sets the status of the connected user. Fields left empty keep their current value. | Yes |
| Share Project With Group | Gives every member of a group access to a project. | Yes |
| Star Project | Stars a project for the connected user. | Yes |
| Unapprove Merge Request | Removes the connected user's approval from a merge request. | Yes |
| Unarchive Project | Unarchives a project so it can be changed again. | Yes |
| Unprotect Branch | Removes the protection from a branch or pattern. | |
| Unstar Project | Removes the connected user star from a project. | Yes |
| Update File | Replaces the content of an existing file with a commit. | Yes |
| Update Group | Updates the name, path, description or visibility of a group. Fields left empty are not changed. | Yes |
| Update Issue | Updates the fields of an issue. Fields left empty are not changed. | Yes |
| Update Issue Comment | Replaces the text of an issue comment. | Yes |
| Update Label | Renames or recolors a project label. Fields left empty are not changed. | Yes |
| Update Merge Request | Updates the fields of a merge request. Fields left empty are not changed. | Yes |
| Update Milestone | Updates, closes or reopens a project milestone. Fields left empty are not changed. | Yes |
| Update Project Webhook | Changes the URL, events or settings of a project webhook. Fields left empty are not changed. | Yes |
Start a workflow when… (1 triggers)
- New Project Issue Event — Triggers on project issue events (including confidential issues) when an issue is created or when an existing issue is updated, closed, or reopened.
How Keystile protects it
Every GitLab action is checked before it runs, whether it comes from an AI tool or a workflow. 40 of its actions change data; your rules, limits and budgets decide whether each is allowed, held for a person or stopped, and it all goes into the signed record.
Use GitLab with your AI assistant — safelyClaude, Cursor or ChatGPT do the work; Keystile checks every action first.
Get early access