安装与下载
1 ClawHub CLI
从源直接安装技能的最快方式。
npx clawhub@latest install gitlab-devops-skill
2 手动安装
将技能文件夹复制到以下位置之一
~/.openclaw/skills/
{'/skills/'}
优先级:工作区 › 全局 › 内置
3 提示词安装
将此提示词复制到 Openclaw 即可自动安装。
请帮我使用 Clawhub 安装 skill-gitlab-devops-skill。如果尚未安装 Clawhub,请先安装(npm i -g clawhub)。
更倾向于下载?
获取包含原生技能文件的ZIP压缩包。
基本信息
gitlab-devops-skill
安装指南
- ClawHub CLI
从源直接安装技能的最快方式。
npx clawhub@latest install gitlab-devops-skill - 手动安装
将技能文件夹复制到以下位置之一
全局模式
~/.openclaw/skills/
工作区
/skills/
优先级:工作区 > 本地 > 内置 - 提示词安装
将此提示词复制到 OpenClaw 即可自动安装。
请帮我使用 Clawhub 安装 gitlab-devops-skill。如果尚未安装 Clawhub,请先安装(npm i -g clawhub)。
更倾向于下载?
获取包含原生技能文件的ZIP压缩包。
下载技能 (.zip)
什么是
GitLab Skills 让 AI 编码代理能够通过 GitLab REST API v4 和捆绑的 scripts/gitlab_cli.py 命令行界面与 GitLab 交互。可使用它查找和检查项目、列出或创建议题和合并请求、合并符合条件的 MR,以及检查或触发 GitLab.com 或兼容的自托管实例上的 CI/CD 流水线。
作为面向开发者工作流程的 Openclaw Skills 之一,它会将命令结果以 JSON 格式返回,以便可靠地进行自动化和脚本编写。凭据从环境变量或可选的本地配置文件中读取;执行写操作前,必须由用户确认目标项目和分支。
应用场景
按搜索词查找项目,或使用数字 ID 或
group/subgroup/project
路径检查项目。
查看未关闭的议题,或创建议题以跟踪错误或任务。
列出合并请求、从源分支向目标分支创建 MR,或合并已就绪的 MR。
检查分支或 ref 的流水线活动,并确定流水线是否已成功完成。
当项目含有
.gitlab-ci.yml
文件时,在指定 ref 上触发流水线。
通过 AI 代理、终端工作流程或脚本自动执行 GitLab.com 或自托管 GitLab 任务。
工作原理
从 GITLAB_URL 和 GITLAB_TOKEN 环境变量,或 ~/.devops-skills/gitlab.json 中读取 GitLab 实例 URL 和 API 令牌。
使用受支持的命令和项目标识符运行 scripts/gitlab_cli.py。使用数字项目 ID 或类似 group/subgroup/project 的路径。
发出命令前,通过 /api/v4/version 检查 GitLab 版本;除非明确跳过版本检查,否则会拒绝低于 GitLab 9.0 的实例。
将请求的操作发送至 GitLab REST API v4。读取操作会获取项目、议题、MR 或流水线信息;写操作会创建议题或 MR、合并 MR,或触发流水线。
在 stdout 上以 JSON 格式返回结果。失败时以非零状态退出。合并和流水线操作受 GitLab 的项目、分支、MR 和 CI 配置要求约束。
配置指南
在 用户设置 → 访问令牌 中创建 GitLab 访问令牌,并授予 api 范围。
将 GitLab URL 和令牌配置为环境变量,或使用 ~/.devops-skills/gitlab.json 中的可选配置文件。不要将令牌直接放在命令行参数中。
使用安装了 requests 依赖项的 Python 环境。技能文档建议在可用时使用提供的绝对 Python 路径调用 CLI。
使用项目 ID 或路径运行 CLI 命令。执行任何写操作前,请与用户确认目标项目和分支。
export GITLAB_URL="https://gitlab.com" # 对于自托管 GitLab,请使用其实例 URL
export GITLAB_TOKEN="" # 需要 api 范围
PY="$HOME/.workbuddy/binaries/python/envs/default/bin/python"
如果缺少 requests,请在同一 Python 环境中安装:
"$PY" -m pip install requests
"$PY" scripts/gitlab_cli.py list-projects --search app
"$PY" scripts/gitlab_cli.py get-project group/app
"$PY" scripts/gitlab_cli.py list-issues group/app --state opened
"$PY" scripts/gitlab_cli.py create-issue group/app --title "Bug" --description "..."
"$PY" scripts/gitlab_cli.py list-mrs group/app --state opened
"$PY" scripts/gitlab_cli.py create-mr group/app --source feat --target main --title "Add feature"
"$PY" scripts/gitlab_cli.py merge-mr group/app 42
"$PY" scripts/gitlab_cli.py list-pipelines group/app --ref main
"$PY" scripts/gitlab_cli.py trigger-pipeline group/app --ref main
该 CLI 通过 REST API v4 支持 GitLab.com 和 GitLab 9.0+ 自托管实例。有关详细配置、字段和故障排除,请参阅 references/USAGE.md。
数据架构
该技能使用 GitLab API 资源,不涉及本地数据库或生成的项目文件。CLI 响应以 JSON 格式写入 stdout;失败通过非零退出代码表示。
资源或文件 用途
scripts/gitlab_cli.py 用于项目、议题、MR 和流水线操作的捆绑 Python CLI。
~/.devops-skills/gitlab.json 用于 GitLab 连接设置的可选本地配置文件。
references/USAGE.md 详细的配置、字段和故障排除文档。
GitLab 项目 使用数字 ID 或 URL 编码的 group/subgroup/project 路径标识目标。
议题 可针对项目列出或创建;创建时可指定标题和描述。
合并请求 可列出、从源分支和目标分支创建,或在符合条件时按 MR 编号合并。
流水线 可按项目和 ref 列出;当项目包含 .gitlab-ci.yml 时,也可针对 ref 触发。
连接元数据包括 GitLab 实例 URL 和访问令牌。请将令牌保存在环境变量或本地配置中,而不要将其作为 CLI 参数传递。
高级特性
通过 REST API v4 支持 GitLab.com 和 GitLab 9.0+ 自托管实例;项目路径由 CLI 编码。
执行命令前检查 GitLab 版本。必要时设置
GITLAB_SKIP_VERSION_CHECK=1
DEVOPS_SKILLS_SKIP_VERSION_CHECK=1
以跳过检查。
将 JSON 输出到 stdout,并在失败时使用非零退出代码,便于下游自动化处理结果。
覆盖项目、议题、合并请求和 CI/CD 流水线的读取与写入工作流程。
写操作——创建议题或 MR、合并 MR 以及触发流水线——都要求用户确认目标项目和分支。MR 必须可合并,且触发流水线要求存在
.gitlab-ci.yml
文件。
name: gitlab-skills description: Manage GitLab projects from the command line — list/inspect projects, list and create issues, list/create/merge merge requests, and list or trigger CI/CD pipelines. Use whenever the user wants to work with a GitLab repo, file an issue, open or merge an MR, or kick off / check a pipeline on GitLab.com or a self-hosted GitLab. 中文触发场景:查 GitLab 项目、建 issue、开/合并 MR、查流水线、触发流水线、看流水线是否通过。
GitLab 技能(命令行实操)
通过 GitLab REST API v4 操作项目,入口是单一自包含的 Python CLI:scripts/gitlab_cli.py。 兼容 GitLab.com SaaS 与私有化部署实例。License: MIT。
何时使用
用户提出以下需求时调用本技能:
查找或查看项目("列一下我的项目""看 group/app 的详情")
列出或创建 issue
列出、创建、合并 MR(合并请求)
列出或触发 CI/CD 流水线("在 main 上跑一次流水线""流水线绿了吗")
环境配置(首次)
连接信息从环境变量读取,或放在配置文件 ~/.devops-skills/gitlab.json。 禁止把 token 直接写在命令行参数里。
export GITLAB_URL="https://gitlab.com" # 私有化部署填自己的地址
export GITLAB_TOKEN="" # 需要 api 权限
Token 创建位置:User Settings → Access Tokens(勾选 api)。
运行方式
脚本依赖 requests。本机受管 Python 环境已安装(requests 2.34.2),推荐直接用绝对路径调用, 避免默认的 python3 缺少依赖而失败:
PY=~/.workbuddy/binaries/python/envs/default/bin/python
# 若报 Missing dependency,用同一个解释器装:
# $PY -m pip install requests -i https://mirrors.aliyun.com/pypi/simple/
项目参数可以是数字 ID,也可以是 group/subgroup/project 路径(脚本自动做 URL 编码)。
$PY scripts/gitlab_cli.py list-projects --search app
$PY scripts/gitlab_cli.py get-project group/app
$PY scripts/gitlab_cli.py list-issues group/app --state opened
$PY scripts/gitlab_cli.py create-issue group/app --title "Bug" --description "..."
$PY scripts/gitlab_cli.py list-mrs group/app --state opened
$PY scripts/gitlab_cli.py create-mr group/app --source feat --target main --title "Add feature"
$PY scripts/gitlab_cli.py merge-mr group/app 42
$PY scripts/gitlab_cli.py list-pipelines group/app --ref main
$PY scripts/gitlab_cli.py trigger-pipeline group/app --ref main
所有命令把 JSON 打到 stdout,失败时以非零退出码结束。
兼容性
GitLab.com
私有化 GitLab 9.0+(REST API v4)
执行命令前会先请求 /api/v4/version 做版本校验,检测到低于 9.0 会输出明确的兼容性提示并退出。 确需绕过时可设 GITLAB_SKIP_VERSION_CHECK=1 或 DEVOPS_SKILLS_SKIP_VERSION_CHECK=1。
注意事项
merge-mr 要求 MR 处于可合并状态(审批规则、流水线状态都会影响)。
触发流水线要求项目里存在 .gitlab-ci.yml。
写操作(建 issue、建 MR、合并、触发流水线)属于 🟡 级变更,执行前跟用户确认目标项目与分支。
详细文档
完整的配置方式、字段说明与排错见 references/USAGE.md。
联系与支持
GitLab、CI/CD、DevOps 平台或研发效能问题需要人工支持时联系: 📧 77890866@qq.com | 🌐 https://www.restartx.top
投资者搜索
Jenkins 技能