Gitlab
Interact with GitLab using the `glab` CLI. Use when Claude needs to work with GitLab merge requests, CI/CD pipelines, issues, releases, or make API requests. Supports gitlab.com an…
Portavion
@portavion
Install
$ openclaw skills install @portavion/glab-cliGitLab Skill
Use the glab CLI to interact with GitLab. Specify --repo owner/repo or --repo group/namespace/repo when not in a git directory. Also accepts full URLs.
Merge Requests
List open merge requests:
glab mr list --repo owner/repo
View MR details:
glab mr view 55 --repo owner/repo
Create an MR from current branch:
glab mr create --fill --target-branch main
Approve, merge, or check out:
glab mr approve 55
glab mr merge 55
glab mr checkout 55
View MR diff:
glab mr diff 55
CI/CD Pipelines
Check pipeline status for current branch:
glab ci status
View pipeline interactively (navigate jobs, view logs):
glab ci view
List recent pipelines:
glab ci list --repo owner/repo
Trace job logs in real time:
glab ci trace
glab ci trace 224356863 # specific job ID
glab ci trace lint # by job name
Retry a failed pipeline:
glab ci retry
Validate .gitlab-ci.yml:
glab ci lint
Issues
List and view issues:
glab issue list --repo owner/repo
glab issue view 42
Create an issue:
glab issue create --title "Bug report" --label bug
Add a comment:
glab issue note 42 -m "This is fixed in !55"
API for Advanced Queries
Use glab api for endpoints not covered by subcommands. Supports REST and GraphQL.
Get project releases:
glab api projects/:fullpath/releases
Get MR with specific fields (pipe to jq):
glab api projects/owner/repo/merge_requests/55 | jq '.title, .state, .author.username'
Paginate through all issues:
glab api issues --paginate
GraphQL query:
glab api graphql -f query='
query {
currentUser { username }
}
'
JSON Output
Pipe to jq for filtering:
glab mr list --repo owner/repo | jq -r '.[] | "\(.iid): \(.title)"'
Variables and Releases
Manage CI/CD variables:
glab variable list
glab variable set MY_VAR "value"
glab variable get MY_VAR
Create a release:
glab release create v1.0.0 --notes "Release notes here"
Key Differences from GitHub CLI
| Concept | GitHub (gh) | GitLab (glab) |
|---|---|---|
| Pull/Merge Request | gh pr | glab mr |
| CI runs | gh run | glab ci |
| Repo path format | owner/repo | owner/repo or group/namespace/repo |
| Interactive pipeline view | N/A | glab ci view |
Related skills
GitLab CLI Skills
@vince-winkintelComprehensive GitLab CLI (glab) command reference and workflows for all GitLab operations. Use when working with merge requests, CI/CD pipelines, issues, rel...
GitLab
@hith3shWork with GitLab projects, issues, merge requests, commits, branches, pipelines, and groups via the GitLab API. Use this skill when users want to list projec...
GitHub
@hith3shWork with GitHub repositories, issues, pull requests, commits, branches, releases, and workflows via the GitHub REST and GraphQL APIs. Use this skill when us...
GitHub
@byungkyuGitHub API integration with managed OAuth. Access repositories, issues, pull requests, commits, branches, and users. Use this skill when users want to interact with GitHub repositories, manage issues and PRs, search code, or automate workflows. For other third party apps, use the api-gateway skill (
git
@ivangdavilaCommits, branches, merges, and rebases Git repositories, resolves conflicts, and recovers lost history. Use when the work touches a repo, commit, branch, merge, rebase, stash, tag, or submodule; when Git refuses a command — index.lock exists, push rejected as non-fast-forward, detached HEAD, dubious ownership, unrelated histories, conflict markers left behind; when something looks lost after a hard reset, a bad rebase, a deleted branch, or a dropped stash; when splitting a mixed change, wording commit messages, cleaning history before review, or force-pushing without wrecking a teammate's work; when a credential or a huge file got committed; when setting up worktrees, hooks, LFS, sparse checkout, signing, or separate work and personal identities. Not for CI pipeline YAML (github-actions, gitlab) or for composing the pull request description itself (pull-request).
Gitlab Manager
@jorgermpManage GitLab repositories, merge requests, and issues via API. Use for tasks like creating repos, reviewing code in MRs, or tracking issues.