Automate Gitlab
HumDay reads Gitlab’s own published API description and derives 358 operations from it. Describe the outcome you want in plain words — you get a program that is written, proven on real data, and run for you.
What Gitlab is
The platform for modern developers GitLab unifies issues, code review, CI and CD into a single UI
API host: gitlab.com
Things people automate with Gitlab
- Post new Gitlab issues and pull requests to SlackGitlab → Slack
- Post new Gitlab issues and pull requests to TelegramGitlab → Telegram
- Post new Gitlab issues and pull requests to Google ChatGitlab → Google Chat
- Create an Asana task for every new Gitlab issueGitlab → Asana
- Create a Jira task for every new Gitlab issueGitlab → Jira
- Create a Google Tasks task for every new Gitlab issueGitlab → Google Tasks
What HumDay can do in Gitlab
200 documented operations change something in Gitlab. The 61 most useful are listed here.
- POSTAdd new email address to the currently authenticated user
/v3/user/emails - POSTCreate a user. Available only for admins.
/v3/users - POSTAdd an email address to a specified user.
/v3/users/{id}/emails - POSTCreate a new project issue
/v3/projects/{id}/issues - POSTAdd a new SSH key to the currently authenticated user
/v3/user/keys - POSTCreate new file in repository
/v3/projects/{id}/repository/files - DELETEDelete an email address of a specified user.
/v3/users/{id}/emails/{email_id} - POSTCreate a new system hook
/v3/hooks - POSTCreate a group. Available only for users who can create groups.
/v3/groups - POSTCreate new project
/v3/projects - POSTCreate new snippet
/v3/snippets - POSTAdd an SSH key to a specified user.
/v3/users/{id}/keys - POSTAdd new deploy key to currently authenticated user
/v3/projects/{id}/keys - DELETEDelete an email address from the currently authenticated user
/v3/user/emails/{email_id} - POSTCreate new project for a specified user.
/v3/projects/user/{user_id} - POSTAdd new deploy key to currently authenticated user
/v3/projects/{id}/deploy_keys - PUTUpdate global notification level settings and email, defaults to Participate
/v3/notification_settings - DELETEDelete a user. Available only for admins.
/v3/users/{id} - PUTUpdate a user. Available only for admins.
/v3/users/{id} - PUTBlock a user. Available only for admins.
/v3/users/{id}/block - POSTFork new project for the current user or provided namespace.
/v3/projects/fork/{id} - PUTUnblock a user. Available only for admins.
/v3/users/{id}/unblock - POSTCreate a new label
/v3/projects/{id}/labels - POSTUpload a file
/v3/projects/{id}/uploads - POSTCreate a new pipeline
/v3/projects/{id}/pipeline - POSTCreate a new project snippet
/v3/projects/{id}/snippets - POSTCreate a new variable in a project
/v3/projects/{id}/variables - POSTCreate a new project milestone
/v3/projects/{id}/milestones - POSTCreates a new environment
/v3/projects/{id}/environments - POSTCreate a new board list
/v3/projects/{id}/boards/{board_id}/lists - POSTCreate a new +noteable+ note
/v3/projects/{id}/issues/{noteable_id}/notes - POSTAdd spent time for a project issue
/v3/projects/{id}/issues/{issue_id}/add_spent_time - POSTCreate a new repository tag
/v3/projects/{id}/repository/tags - POSTPost a comment to a merge request
/v3/projects/{id}/merge_request/{merge_request_id}/comments - DELETEDelete an existing file in repository
/v3/projects/{id}/repository/files - PUTUpdate existing file in repository
/v3/projects/{id}/repository/files - PUTUpdate a group. Available only for users who can administrate groups.
/v3/groups/{id} - POSTPost a comment to a merge request
/v3/projects/{id}/merge_requests/{merge_request_id}/comments - DELETEDelete an existing SSH key from a specified user.
/v3/users/{id}/keys/{key_id} - POSTPost comment to commit
/v3/projects/{id}/repository/commits/{sha}/comments - DELETEDelete a project issue
/v3/projects/{id}/issues/{issue_id} - PUTUpdate an existing issue
/v3/projects/{id}/issues/{issue_id} - DELETEMark all todos as done
/v3/todos - POSTLogin to get token
/v3/session - DELETEDelete an SSH key from the currently authenticated user
/v3/user/keys/{key_id} - POSTAdds a member to a group or project.
/v3/groups/{id}/members - POSTAdd hook to project
/v3/projects/{id}/hooks - POSTShare the project with a group
/v3/projects/{id}/share - POSTAdds a member to a group or project.
/v3/projects/{id}/members - POSTCreate a trigger
/v3/projects/{id}/triggers - POSTRequests access for the authenticated user to a group.
/v3/groups/{id}/access_requests - POSTCreate a merge request
/v3/projects/{id}/merge_requests - POSTRequests access for the authenticated user to a project.
/v3/projects/{id}/access_requests - POSTMove an existing issue
/v3/projects/{id}/issues/{issue_id}/move - POSTCreate a todo on an issuable
/v3/projects/{id}/issues/{issue_id}/todo - POSTValidation of.gitlab-ci.yml content
/v3/ci/lint - PUTUpdate group level notification level settings, defaults to Global
/v3/groups/{id}/notification_settings - PUTUpdate project level notification level settings, defaults to Global
/v3/projects/{id}/notification_settings - POSTCreate a new +noteable+ note
/v3/projects/{id}/snippets/{noteable_id}/notes - POSTAward a new Emoji
/v3/projects/{id}/issues/{issue_id}/award_emoji - POSTSet a time estimate for a project issue
/v3/projects/{id}/issues/{issue_id}/time_estimate
What HumDay can read from Gitlab
These are the operations a schedule or a trigger can watch.
- GETGet the currently authenticated user's email addresses
/v3/user/emails - GETGet the list of users
/v3/users - GETGet currently authenticated user's issues
/v3/issues - GETGet a projects list for authenticated user
/v3/projects - GETGet a snippets list for authenticated user
/v3/snippets - GETGet the emails addresses of a specified user.
/v3/users/{id}/emails - GETGet the contribution events of a specified user
/v3/users/{id}/events - GETGet a single email address owned by the currently authenticated user
/v3/user/emails/{email_id} - GETSearch for projects the current user has access to
/v3/projects/search/{query} - GETGet global notification level settings and email, defaults to Participate
/v3/notification_settings - GETGet list of owned groups for authenticated user
/v3/groups/owned - GETGet an owned projects list for authenticated user
/v3/projects/owned - GETGet a list of visible projects for authenticated user
/v3/projects/visible - GETGet a single user
/v3/users/{id} - GETGet the currently authenticated user
/v3/user - GETGet the list of system hooks
/v3/hooks - GETGet a todo list
/v3/todos - GETGet a groups list
/v3/groups - GETGet runners available for user
/v3/runners - GETGet the list of the available license template
/v3/licenses - GETGet the list of the available template
/v3/gitignores - GETGet a namespaces list
/v3/namespaces - GETGet the SSH keys of a specified user.
/v3/users/{id}/keys - GETGet the list of the available template
/v3/dockerfiles - GETGet a list of group issues
/v3/groups/{id}/issues - GETGet the list of the available template
/v3/gitlab_ci_ymls - GETGets a list of group or project members viewable by the authenticated user.
/v3/groups/{id}/members - GETGet the users list of a project
/v3/projects/{id}/users - GETGet a list of project issues
/v3/projects/{id}/issues - GETGets a list of group or project members viewable by the authenticated user.
/v3/projects/{id}/members - GETGet the currently authenticated user's SSH keys
/v3/user/keys - GETList all public snippets currentuser has access to
/v3/snippets/public - GETGets starred project for the authenticated user
/v3/projects/starred - GETGet the list of the available license template
/v3/templates/licenses - GETGet the list of the available template
/v3/templates/gitignores - GETGet the list of the available template
/v3/templates/dockerfiles - GETGet the list of the available template
/v3/templates/gitlab_ci_ymls - GETGet a file from repository
/v3/projects/{id}/repository/files - GETGet a single project issue
/v3/projects/{id}/issues/{issue_id}
How automating Gitlab works
- Describe the outcome. Say what you want to happen, in your own words. No node graphs, no field mapping.
- Approve the contract. HumDay writes down exactly what it will do, what it will touch, and what it will never do. You approve it before anything is built.
- See it proven. The program runs and shows you the result before it is allowed near your live Gitlab account.
- Grant access, then go live. You approve the specific Gitlab operations it may use — and only those.
Popular Gitlab integrations
Connect Gitlab to the tools people pair it with most.
- Gitlab and OData for namespace microsoft.graphintegration
- Gitlab and Cloudflareintegration
- Gitlab and NetBoxintegration
- Gitlab and GitHubintegration
- Gitlab and Mistintegration
- Gitlab and Loket.nlintegration
- Gitlab and Atlassian The Jira Cloud platformintegration
- Gitlab and Magento B2Bintegration
- Gitlab and Stripeintegration
- Gitlab and Zuora Reference Billingintegration
- Gitlab and bunqintegration
- Gitlab and DocuSignintegration
Automate Gitlab with these
- OData for namespace microsoft.graph11412 operations
- GitHub811 operations
- Atlassian The Jira Cloud platform474 operations
- JIRA 7.6.1324 operations
- Appcenter App Center Client323 operations
- Gitea .321 operations
- Bitbucket292 operations
- Keycloak Admin281 operations
- Apple App Store Connect251 operations
- Files.com222 operations
- Vmware vRealize Network Insight Reference161 operations
- Visualstudio VSOnline152 operations
Categories
Questions about Gitlab automation
- Can HumDay connect to Gitlab?
- Yes. HumDay reads Gitlab's own published API description and derives the operations from it, so there is no hand-built connector to wait for. 358 operations are documented.
- Do I need to write code to automate Gitlab?
- No. You describe the outcome you want in plain words. HumDay agrees a contract with you, writes the program, and shows you a test run before anything touches your Gitlab account.
- What can HumDay do in Gitlab?
- 200 of the 358 documented operations change something in Gitlab, and 158 read from it. HumDay only ever uses the specific operations your approved contract needs.
- Is my Gitlab account safe?
- Your credentials are stored encrypted and are never shown in chat, code, or logs. Every run is limited to the operations you explicitly approved, and anything that writes to Gitlab is held behind that approval.
Where this came from
The operations above are read from a published API description for Gitlab at axil.gitlab.io/swaggerapi/static/swagger.json. Descriptions are the provider’s own words, not ours. Last published 2021-06-21.