KosmoKrator

productivity

GitLab CLI for Headless Automation

Use the GitLab CLI for headless automation with headless JSON commands, schema discovery, credentials, and permission controls.

20 functions 13 read 7 write API token auth

GitLab CLI for Headless Automation

Use KosmoKrator as a non-interactive integration runtime for local automations and wrappers.

Use headless automation when another tool needs a stable local command surface. The GitLab CLI uses the same integration registry as the TUI, Lua runtime, and MCP gateway, but returns predictable command output for automation.

Command Shape

# GitLab CLI for Headless Automation
kosmokrator integrations:configure gitlab --set api_token="$GITLAB_API_TOKEN" --enable --read allow --write ask --json
kosmo integrations:call gitlab.gitlab_create_issue '{"project_id":"example_project_id","title":"example_title","description":"example_description","labels":"example_labels","assignee_ids":"example_assignee_ids","milestone_id":1,"weight":1}' --json

Discovery Before Execution

Agents and scripts can inspect GitLab docs and schemas before choosing a function.

kosmo integrations:docs gitlab --json
kosmo integrations:docs gitlab.gitlab_create_issue --json
kosmo integrations:schema gitlab.gitlab_create_issue --json
kosmo integrations:search "GitLab" --json
kosmo integrations:list --json

Useful GitLab CLI Functions

FunctionTypeParametersDescription
gitlab.gitlab_create_issue Write project_id, title, description, labels, assignee_ids, milestone_id, weight Create a new issue in a GitLab project. Requires a project ID and title. Optionally set description, labels, assignees, milestone, and weight.
gitlab.gitlab_get_issue Read project_id, issue_iid Get detailed information about a specific GitLab issue, including title, description, labels, assignees, milestone, and state.
gitlab.gitlab_update_issue Write project_id, issue_iid, title, description, labels, state_event, assignee_ids Update an existing issue in a GitLab project. Can change title, description, labels, state (close/reopen), and assignees.
gitlab.gitlab_list_issues Read project_id, state, labels, search, page, per_page List issues in a GitLab project. Supports filtering by state (opened, closed, all), labels, and search text. Paginated.
gitlab.gitlab_search_issues Read project_id, search, state Search for issues in a GitLab project by keyword. Searches issue titles and descriptions. Optionally filter by state.
gitlab.gitlab_create_issue_comment Write project_id, issue_iid, body Add a comment (note) to a GitLab issue. The comment body supports GitLab Markdown.
gitlab.gitlab_create_merge_request Write project_id, source_branch, target_branch, title, description, labels Create a new merge request in a GitLab project. Requires source branch, target branch, and title.
gitlab.gitlab_get_merge_request Read project_id, mr_iid Get detailed information about a specific GitLab merge request, including title, description, source/target branches, and state.
gitlab.gitlab_list_merge_requests Read project_id, state, page, per_page List merge requests in a GitLab project. Supports filtering by state (opened, closed, merged, all). Paginated.
gitlab.gitlab_update_merge_request Write project_id, mr_iid, title, description, state_event, labels Update an existing merge request in a GitLab project. Can change title, description, labels, and state (close/reopen).
gitlab.gitlab_accept_merge_request Write project_id, mr_iid, merge_commit_message Accept (merge) a GitLab merge request. Optionally set a custom merge commit message.
gitlab.gitlab_list_branches Read project_id, search, page List branches in a GitLab project repository. Supports searching by branch name and pagination.
gitlab.gitlab_create_branch Write project_id, branch, ref Create a new branch in a GitLab project repository. Requires a branch name and a ref (branch name or commit SHA) to create from.
gitlab.gitlab_list_commits Read project_id, ref_name, page, per_page List commits in a GitLab project repository. Supports filtering by branch or tag name. Paginated.
gitlab.gitlab_get_file Read project_id, file_path, ref Get a file from a GitLab project repository. Returns file content (base64-encoded), file name, size, and encoding.
gitlab.gitlab_list_projects Read membership, search, page, per_page List GitLab projects visible to the authenticated user. Supports filtering by membership, search text, and pagination.
gitlab.gitlab_get_project Read project_id Get details for a specific GitLab project, including name, description, default branch, visibility, and statistics.
gitlab.gitlab_list_groups Read page, per_page List GitLab groups visible to the authenticated user. Paginated.
gitlab.gitlab_list_project_members Read project_id, page List members of a GitLab project and their access levels. Paginated.
gitlab.gitlab_list_labels Read project_id List all labels for a GitLab project, including name, color, description, and open/closed issue counts.

Automation Notes

Related GitLab CLI Pages