← 返回
未分类 Key 中文

GitLab API Client

Interact with GitLab API for managing projects, issues, merge requests, branches, pipelines, users, groups, and more. Use when the user needs to perform GitL...
通过 GitLab API 管理项目、议题、合并请求、分支、流水线、用户、群组等,用于用户需要执行 GitL 相关操作时。
jonasgao
未分类 clawhub v1.0.0 1 版本 100000 Key: 需要
★ 0
Stars
📥 373
下载
💾 0
安装
1
版本
#latest

概述

GitLab API Skill

Node.js client for the GitLab REST API (v4). Reads config from ./.env.

Security Rules

  • NEVER read, cat, print, grep, or expose the GITLAB_TOKEN value.
  • NEVER use curl, wget, or any tool to call GitLab API directly. All access MUST go through gitlab-client.
  • AI may read/write .env to manage GITLAB_URL, but GITLAB_TOKEN must be set by the user manually.

Setup

Requires ./.env with:

GITLAB_URL=https://gitlab.fullnine.com.cn
GITLAB_TOKEN=<your-personal-access-token>

If token is missing, prompt the user to edit ./.env and create a token at /-/profile/personal_access_tokens (scope: api).

Install (first time): source ~/.nvm/nvm.sh && npm install

Quick Start

gitlab-client users me                                    # Current user
gitlab-client projects list --owned                       # My projects
gitlab-client issues list --project 42 --state opened     # Project issues
gitlab-client mrs create --project 42 --source-branch feat --target-branch main --title "My MR"

Commands Reference

Format: gitlab-client [id] [--key value ...]

All list actions support --page N --per-page N (default 20, max 100).

Projects

ActionUsageOptions
------------------------
listprojects list--search --owned --membership --visibility
getprojects get
searchprojects search "term"
createprojects create --name "name"--description --visibility --namespace-id --initialize-with-readme
editprojects edit --name --description --visibility
deleteprojects delete
forkprojects fork --namespace
membersprojects members
hooksprojects hooks

Issues

ActionUsageOptions
------------------------
listissues list --project --state --labels --milestone --assignee-id --search
getissues get --project --iid
createissues create --project --title "T"--description --labels --assignee-ids --milestone-id --due-date --confidential
editissues edit --project --iid --title --description --state-event --labels --assignee-ids
closeissues close --project --iid
reopenissues reopen --project --iid
deleteissues delete --project --iid
notesissues notes --project --iid
add-noteissues add-note --project --iid --body "text"

Merge Requests

ActionUsageOptions
------------------------
listmrs list --project --state --labels --milestone --source-branch --target-branch --search
getmrs get --project --iid
createmrs create --project --source-branch "src" --target-branch "tgt" --title "T"--description --assignee-id --reviewer-ids --labels --milestone-id --remove-source-branch --squash
editmrs edit --project --iid --title --description --state-event --labels --assignee-id
mergemrs merge --project --iid --merge-commit-message --squash --should-remove-source-branch
changesmrs changes --project --iid
commitsmrs commits --project --iid
notesmrs notes --project --iid
add-notemrs add-note --project --iid --body "text"
approvemrs approve --project --iid
pipelinesmrs pipelines --project --iid

Branches

ActionUsageOptions
------------------------
listbranches list --project --search
getbranches get --project --branch "name"
createbranches create --project --branch "name" --ref "main"
deletebranches delete --project --branch "name"
delete-mergedbranches delete-merged --project

Commits

ActionUsageOptions
------------------------
listcommits list --project --ref-name --since --until --path
getcommits get --project --sha "abc123"
diffcommits diff --project --sha "abc123"
commentscommits comments --project --sha "abc123"
add-commentcommits add-comment --project --sha "abc123" --note "text"

Repository / Files

ActionUsageOptions
------------------------
treerepo tree --project --path --ref --recursive
filerepo file --project --file-path "path"--ref
rawrepo raw --project --file-path "path"--ref
create-filerepo create-file --project --file-path "p" --branch "b" --content "c" --commit-message "m"
update-filerepo update-file --project --file-path "p" --branch "b" --content "c" --commit-message "m"
delete-filerepo delete-file --project --file-path "p" --branch "b" --commit-message "m"
comparerepo compare --project --from "main" --to "feat"

Pipelines

ActionUsageOptions
------------------------
listpipelines list --project --status --ref
getpipelines get --project --pipeline-id
jobspipelines jobs --project --pipeline-id
job-logpipelines job-log --project --job-id
retrypipelines retry --project --pipeline-id
cancelpipelines cancel --project --pipeline-id
createpipelines create --project --ref "main"--variables "K1=v1,K2=v2"

Groups

ActionUsageOptions
------------------------
listgroups list--search --owned
getgroups get
projectsgroups projects --search
membersgroups members
issuesgroups issues --state
mrsgroups mrs --state

Users

ActionUsage
---------------
meusers me
listusers list [--search "john"]
getusers get
projectsusers projects

Labels

ActionUsageOptions
------------------------
listlabels list --project
createlabels create --project --name "bug" --color "#FF0000"--description
editlabels edit --project --name "bug"--new-name --color
deletelabels delete --project --name "bug"

Milestones

ActionUsageOptions
------------------------
listmilestones list --project --state
getmilestones get --project --milestone-id
createmilestones create --project --title "v1.0"--description --due-date --start-date
editmilestones edit --project --milestone-id --title --state-event
deletemilestones delete --project --milestone-id

Tags & Releases

ActionUsageOptions
------------------------
tags listtags list --project --search
tags createtags create --project --tag-name "v1.0" --ref "main"--message
tags deletetags delete --project --tag-name "v1.0"
releases listreleases list --project
releases createreleases create --project --tag-name "v1.0" --name "R1"--description

Snippets

ActionUsageOptions
------------------------
listsnippets list --project
getsnippets get --project --snippet-id
createsnippets create --project --title "T" --file-name "f" --content "c"--visibility

Search

ActionUsage
---------------
globalsearch global --scope --search "query"
projectsearch project --project --scope --search "query"
groupsearch group --group --scope --search "query"

Scopes — global: projects|issues|merge_requests|milestones|snippet_titles|users. Project: issues|merge_requests|milestones|notes|wiki_blobs|commits|blobs. Group: projects|issues|merge_requests|milestones.

Runners

ActionUsageOptions
------------------------
listrunners list --project
allrunners all--type --status

Webhooks

ActionUsageOptions
------------------------
listhooks list --project
createhooks create --project --url "url"--push-events --merge-requests-events --issues-events --token
deletehooks delete --project --hook-id

Usage Notes

  • Auth: Uses PRIVATE-TOKEN header. Scopes: api (full), read_api (read-only), read_user, read_repository.
  • Project ID: Use numeric ID or URL-encoded path (my-group%2Fmy-project).
  • Output: JSON. Pipe to jq for filtering: gitlab-client projects list | jq '.[].name'
  • Dates: ISO 8601 format (YYYY-MM-DDTHH:MM:SSZ).
  • Labels: Comma-separated: --labels "bug,feature,urgent".
  • Errors: 401 unauthorized, 403 forbidden, 404 not found, 422 validation, 429 rate limited.

版本历史

共 1 个版本

  • v1.0.0 当前
    2026-05-07 07:37 安全 安全

安全检测

腾讯云安全 (Keen)

安全,无风险
查看报告

腾讯云安全 (Sanbu)

安全,无风险
查看报告

🔗 相关推荐

云效 DevOps MCP

jonasgao
阿里云云效MCP工具,通过MCP SSE协议操作云效平台,支持项目管理、工作项、流水线、代码仓库等165+工具。
★ 0 📥 474

Consul API

jonasgao
Consul HTTP API 操作,用于服务发现、键值存储、健康检查和服务网格管理。使用场景包括:(1)…
★ 0 📥 394

Consul CLI

jonasgao
Consul CLI 命令参考,涵盖服务发现、键值存储、健康检查、集群管理及服务网格操作。用于执行 Consul 命令。
★ 0 📥 362