GitLab CLI Setup GitLab can be configured headlessly with `kosmokrator integrations:configure gitlab`.
# Install KosmoKrator first if it is not available on PATH.
curl -fsSL https://raw.githubusercontent.com/OpenCompanyApp/kosmokrator/main/install.sh | bash
# Configure and verify this integration.
kosmokrator integrations:configure gitlab --set api_token=" $GITLAB_API_TOKEN " --enable --read allow --write ask --json
kosmokrator integrations:doctor gitlab --json
kosmokrator integrations:status --json Credentials
Authentication type: API token api_token. Configure credentials once, then use the same stored profile from
scripts, coding CLIs, Lua code mode, and the MCP gateway.
Call GitLab Headlessly Use the generic call form when another coding CLI or script needs a stable universal interface.
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 Use the provider shortcut form for shorter human-facing commands.
kosmo integrations: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 Agent Discovery Commands
These commands return structured output for coding agents that need to inspect capabilities 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 All CLI Functions
Every function below can be called headlessly. The generic form is stable across all integrations;
the provider shortcut is shorter but specific to GitLab.
gitlab.gitlab_create_issue Write write Create a new issue in a GitLab project. Requires a project ID and title. Optionally set description, labels, assignees, milestone, and weight.
project_id, title, description, labels, assignee_ids, milestone_id, weight 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 copy kosmo integrations: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 copy
gitlab.gitlab_get_issue Read read Get detailed information about a specific GitLab issue, including title, description, labels, assignees, milestone, and state.
project_id, issue_iid kosmo integrations:call gitlab.gitlab_get_issue '{"project_id":"example_project_id","issue_iid":1}' --json copy kosmo integrations:gitlab gitlab_get_issue '{"project_id":"example_project_id","issue_iid":1}' --json copy
gitlab.gitlab_update_issue Write write Update an existing issue in a GitLab project. Can change title, description, labels, state (close/reopen), and assignees.
project_id, issue_iid, title, description, labels, state_event, assignee_ids kosmo integrations:call gitlab.gitlab_update_issue '{"project_id":"example_project_id","issue_iid":1,"title":"example_title","description":"example_description","labels":"example_labels","state_event":"example_state_event","assignee_ids":"example_assignee_ids"}' --json copy kosmo integrations:gitlab gitlab_update_issue '{"project_id":"example_project_id","issue_iid":1,"title":"example_title","description":"example_description","labels":"example_labels","state_event":"example_state_event","assignee_ids":"example_assignee_ids"}' --json copy
gitlab.gitlab_list_issues Read read List issues in a GitLab project. Supports filtering by state (opened, closed, all), labels, and search text. Paginated.
project_id, state, labels, search, page, per_page kosmo integrations:call gitlab.gitlab_list_issues '{"project_id":"example_project_id","state":"example_state","labels":"example_labels","search":"example_search","page":1,"per_page":1}' --json copy kosmo integrations:gitlab gitlab_list_issues '{"project_id":"example_project_id","state":"example_state","labels":"example_labels","search":"example_search","page":1,"per_page":1}' --json copy
gitlab.gitlab_search_issues Read read Search for issues in a GitLab project by keyword. Searches issue titles and descriptions. Optionally filter by state.
project_id, search, state kosmo integrations:call gitlab.gitlab_search_issues '{"project_id":"example_project_id","search":"example_search","state":"example_state"}' --json copy kosmo integrations:gitlab gitlab_search_issues '{"project_id":"example_project_id","search":"example_search","state":"example_state"}' --json copy
gitlab.gitlab_create_merge_request Write write Create a new merge request in a GitLab project. Requires source branch, target branch, and title.
project_id, source_branch, target_branch, title, description, labels kosmo integrations:call gitlab.gitlab_create_merge_request '{"project_id":"example_project_id","source_branch":"example_source_branch","target_branch":"example_target_branch","title":"example_title","description":"example_description","labels":"example_labels"}' --json copy kosmo integrations:gitlab gitlab_create_merge_request '{"project_id":"example_project_id","source_branch":"example_source_branch","target_branch":"example_target_branch","title":"example_title","description":"example_description","labels":"example_labels"}' --json copy
gitlab.gitlab_get_merge_request Read read Get detailed information about a specific GitLab merge request, including title, description, source/target branches, and state.
project_id, mr_iid kosmo integrations:call gitlab.gitlab_get_merge_request '{"project_id":"example_project_id","mr_iid":1}' --json copy kosmo integrations:gitlab gitlab_get_merge_request '{"project_id":"example_project_id","mr_iid":1}' --json copy
gitlab.gitlab_list_merge_requests Read read List merge requests in a GitLab project. Supports filtering by state (opened, closed, merged, all). Paginated.
project_id, state, page, per_page kosmo integrations:call gitlab.gitlab_list_merge_requests '{"project_id":"example_project_id","state":"example_state","page":1,"per_page":1}' --json copy kosmo integrations:gitlab gitlab_list_merge_requests '{"project_id":"example_project_id","state":"example_state","page":1,"per_page":1}' --json copy
gitlab.gitlab_update_merge_request Write write Update an existing merge request in a GitLab project. Can change title, description, labels, and state (close/reopen).
project_id, mr_iid, title, description, state_event, labels kosmo integrations:call gitlab.gitlab_update_merge_request '{"project_id":"example_project_id","mr_iid":1,"title":"example_title","description":"example_description","state_event":"example_state_event","labels":"example_labels"}' --json copy kosmo integrations:gitlab gitlab_update_merge_request '{"project_id":"example_project_id","mr_iid":1,"title":"example_title","description":"example_description","state_event":"example_state_event","labels":"example_labels"}' --json copy
gitlab.gitlab_accept_merge_request Write write Accept (merge) a GitLab merge request. Optionally set a custom merge commit message.
project_id, mr_iid, merge_commit_message kosmo integrations:call gitlab.gitlab_accept_merge_request '{"project_id":"example_project_id","mr_iid":1,"merge_commit_message":"example_merge_commit_message"}' --json copy kosmo integrations:gitlab gitlab_accept_merge_request '{"project_id":"example_project_id","mr_iid":1,"merge_commit_message":"example_merge_commit_message"}' --json copy
gitlab.gitlab_list_branches Read read List branches in a GitLab project repository. Supports searching by branch name and pagination.
project_id, search, page kosmo integrations:call gitlab.gitlab_list_branches '{"project_id":"example_project_id","search":"example_search","page":1}' --json copy kosmo integrations:gitlab gitlab_list_branches '{"project_id":"example_project_id","search":"example_search","page":1}' --json copy
gitlab.gitlab_create_branch Write write Create a new branch in a GitLab project repository. Requires a branch name and a ref (branch name or commit SHA) to create from.
project_id, branch, ref kosmo integrations:call gitlab.gitlab_create_branch '{"project_id":"example_project_id","branch":"example_branch","ref":"example_ref"}' --json copy kosmo integrations:gitlab gitlab_create_branch '{"project_id":"example_project_id","branch":"example_branch","ref":"example_ref"}' --json copy
gitlab.gitlab_list_commits Read read List commits in a GitLab project repository. Supports filtering by branch or tag name. Paginated.
project_id, ref_name, page, per_page kosmo integrations:call gitlab.gitlab_list_commits '{"project_id":"example_project_id","ref_name":"example_ref_name","page":1,"per_page":1}' --json copy kosmo integrations:gitlab gitlab_list_commits '{"project_id":"example_project_id","ref_name":"example_ref_name","page":1,"per_page":1}' --json copy
gitlab.gitlab_get_file Read read Get a file from a GitLab project repository. Returns file content (base64-encoded), file name, size, and encoding.
project_id, file_path, ref kosmo integrations:call gitlab.gitlab_get_file '{"project_id":"example_project_id","file_path":"example_file_path","ref":"example_ref"}' --json copy kosmo integrations:gitlab gitlab_get_file '{"project_id":"example_project_id","file_path":"example_file_path","ref":"example_ref"}' --json copy
gitlab.gitlab_list_projects Read read List GitLab projects visible to the authenticated user. Supports filtering by membership, search text, and pagination.
membership, search, page, per_page kosmo integrations:call gitlab.gitlab_list_projects '{"membership":true,"search":"example_search","page":1,"per_page":1}' --json copy kosmo integrations:gitlab gitlab_list_projects '{"membership":true,"search":"example_search","page":1,"per_page":1}' --json copy
gitlab.gitlab_get_project Read read Get details for a specific GitLab project, including name, description, default branch, visibility, and statistics.
project_id kosmo integrations:call gitlab.gitlab_get_project '{"project_id":"example_project_id"}' --json copy kosmo integrations:gitlab gitlab_get_project '{"project_id":"example_project_id"}' --json copy
gitlab.gitlab_list_groups Read read List GitLab groups visible to the authenticated user. Paginated.
page, per_page kosmo integrations:call gitlab.gitlab_list_groups '{"page":1,"per_page":1}' --json copy kosmo integrations:gitlab gitlab_list_groups '{"page":1,"per_page":1}' --json copy
gitlab.gitlab_list_project_members Read read List members of a GitLab project and their access levels. Paginated.
project_id, page kosmo integrations:call gitlab.gitlab_list_project_members '{"project_id":"example_project_id","page":1}' --json copy kosmo integrations:gitlab gitlab_list_project_members '{"project_id":"example_project_id","page":1}' --json copy
gitlab.gitlab_list_labels Read read List all labels for a GitLab project, including name, color, description, and open/closed issue counts.
project_id kosmo integrations:call gitlab.gitlab_list_labels '{"project_id":"example_project_id"}' --json copy kosmo integrations:gitlab gitlab_list_labels '{"project_id":"example_project_id"}' --json copy Function Schemas Use these parameter tables when building CLI payloads without calling integrations:schema first.
Operation Write write
Schema command kosmo integrations:schema gitlab.gitlab_create_issue --json
Operation Read read
Schema command kosmo integrations:schema gitlab.gitlab_get_issue --json
Operation Write write
Schema command kosmo integrations:schema gitlab.gitlab_update_issue --json
Operation Read read
Schema command kosmo integrations:schema gitlab.gitlab_list_issues --json
Operation Read read
Schema command kosmo integrations:schema gitlab.gitlab_search_issues --json
Operation Write write
Schema command kosmo integrations:schema gitlab.gitlab_create_issue_comment --json
Operation Write write
Schema command kosmo integrations:schema gitlab.gitlab_create_merge_request --json
Operation Read read
Schema command kosmo integrations:schema gitlab.gitlab_get_merge_request --json
Operation Read read
Schema command kosmo integrations:schema gitlab.gitlab_list_merge_requests --json
Operation Write write
Schema command kosmo integrations:schema gitlab.gitlab_update_merge_request --json
Operation Write write
Schema command kosmo integrations:schema gitlab.gitlab_accept_merge_request --json
Operation Read read
Schema command kosmo integrations:schema gitlab.gitlab_list_branches --json
Operation Write write
Schema command kosmo integrations:schema gitlab.gitlab_create_branch --json
Operation Read read
Schema command kosmo integrations:schema gitlab.gitlab_list_commits --json
Operation Read read
Schema command kosmo integrations:schema gitlab.gitlab_get_file --json
Operation Read read
Schema command kosmo integrations:schema gitlab.gitlab_list_projects --json
Operation Read read
Schema command kosmo integrations:schema gitlab.gitlab_get_project --json
Operation Read read
Schema command kosmo integrations:schema gitlab.gitlab_list_groups --json
Operation Read read
Schema command kosmo integrations:schema gitlab.gitlab_list_project_members --json
Operation Read read
Schema command kosmo integrations:schema gitlab.gitlab_list_labels --json Permissions
Headless calls still follow the integration read/write permission policy. Configure read/write defaults
with integrations:configure. Add --force only for trusted automation that should bypass that policy.