闲社服务运行正常AI智能体自动化平台
g

GitLab API集成

技能标识:gitlab-api

GitLab API integration for repository operations. Use when working with GitLab repositories for reading, writing, creating, or deleting files, listing projects, managing branches, or any other GitLab repository operations.

作者:admin | 来源记录:ClawHub
登记来源
ClawHub
版本
V 0.1.0
检测标记
后台标记通过
免费
免费获取
1
收藏
来源与检测标记为平台登记信息,并不代表已展示可复核的检测报告。使用前请核对版本、依赖和所需权限,建议先在隔离环境中运行。
概述
安装方式
版本历史

GitLab API集成

GitLab API

通过REST API与GitLab仓库交互。支持GitLab.com和自托管实例。

设置

存储您的GitLab个人访问令牌:

bash
mkdir -p ~/.config/gitlab
echo glpat-YOURTOKENHERE > ~/.config/gitlab/api_token

所需令牌范围: api 或 readapi + writerepository

获取令牌:

  • - GitLab.com:https://gitlab.com/-/usersettings/personalaccesstokens
  • 自托管:https://YOURGITLAB/~/-/usersettings/personalaccess_tokens

配置

默认实例:https://gitlab.com

对于自托管GitLab,创建配置文件:

bash
echo https://gitlab.example.com > ~/.config/gitlab/instance_url

常用操作

列出项目

bash
GITLABTOKEN=$(cat ~/.config/gitlab/apitoken)
GITLABURL=$(cat ~/.config/gitlab/instanceurl 2>/dev/null || echo https://gitlab.com)

curl -H PRIVATE-TOKEN: $GITLAB_TOKEN \
$GITLABURL/api/v4/projects?owned=true&perpage=20

获取项目ID

项目通过ID或URL编码路径(namespace%2Fproject)进行标识。

bash

按路径


curl -H PRIVATE-TOKEN: $GITLAB_TOKEN \
$GITLAB_URL/api/v4/projects/username%2Frepo

从响应中提取ID:jq .id

读取文件

bash
PROJECT_ID=12345
FILE_PATH=src/main.py
BRANCH=main

curl -H PRIVATE-TOKEN: $GITLAB_TOKEN \
$GITLABURL/api/v4/projects/$PROJECTID/repository/files/${FILE_PATH}?ref=$BRANCH \
| jq -r .content | base64 -d

创建/更新文件

bash
PROJECT_ID=12345
FILEPATH=src/newfile.py
BRANCH=main
CONTENT=$(echo print(hello) | base64)

curl -X POST -H PRIVATE-TOKEN: $GITLAB_TOKEN \
-H Content-Type: application/json \
$GITLABURL/api/v4/projects/$PROJECTID/repository/files/${FILE_PATH} \
-d @- < {
branch: $BRANCH,
content: $CONTENT,
commit_message: 添加新文件,
encoding: base64
}
EOF

对于更新操作,使用 -X PUT 替代 -X POST。

删除文件

bash
curl -X DELETE -H PRIVATE-TOKEN: $GITLAB_TOKEN \
-H Content-Type: application/json \
$GITLABURL/api/v4/projects/$PROJECTID/repository/files/${FILE_PATH} \
-d {branch: main, commit_message: 删除文件}

列出目录中的文件

bash
curl -H PRIVATE-TOKEN: $GITLAB_TOKEN \
$GITLABURL/api/v4/projects/$PROJECTID/repository/tree?path=src&ref=main

获取仓库内容(归档)

bash
curl -H PRIVATE-TOKEN: $GITLAB_TOKEN \
$GITLABURL/api/v4/projects/$PROJECTID/repository/archive.tar.gz \
-o repo.tar.gz

列出分支

bash
curl -H PRIVATE-TOKEN: $GITLAB_TOKEN \
$GITLABURL/api/v4/projects/$PROJECTID/repository/branches

创建分支

bash
curl -X POST -H PRIVATE-TOKEN: $GITLAB_TOKEN \
-H Content-Type: application/json \
$GITLABURL/api/v4/projects/$PROJECTID/repository/branches \
-d {branch: feature-xyz, ref: main}

辅助脚本

使用 scripts/gitlab_api.sh 进行常用操作:

bash

列出项目


./scripts/gitlab_api.sh list-projects

读取文件

./scripts/gitlab_api.sh read-file <项目ID> <文件路径> [分支]

写入文件

./scripts/gitlab_api.sh write-file <项目ID> <文件路径> <内容> <提交信息> [分支]

删除文件

./scripts/gitlab_api.sh delete-file <项目ID> <文件路径> <提交信息> [分支]

列出目录

./scripts/gitlab_api.sh list-dir <项目ID> <目录路径> [分支]

速率限制

  • - GitLab.com:300次请求/分钟(已认证)
  • 自托管:由管理员配置

API参考

完整API文档:https://docs.gitlab.com/ee/api/api_resources.html

关键端点:

  • - 项目:/api/v4/projects
  • 仓库文件:/api/v4/projects/:id/repository/files
  • 仓库目录树:/api/v4/projects/:id/repository/tree
  • 分支:/api/v4/projects/:id/repository/branches

标签

skill ai

通过对话安装

以下为平台配置的接入选项,并非逐项实测通过。能否安装取决于客户端支持、技能来源和运行环境:

OpenClaw WorkBuddy QClaw Kimi Claude

方式一:安装 SkillHub 和技能

帮我安装 SkillHub 和 gitlab-api-1776363678 技能

方式二:设置 SkillHub 为优先技能安装源

设置 SkillHub 为我的优先技能安装源,然后帮我安装 gitlab-api-1776363678 技能

通过命令行安装

skillhub install gitlab-api-1776363678

下载

⬇ 下载 gitlab-api v0.1.0(免费)

文件大小: 3.32 KB | 发布时间: 2026-4-17 15:04

v0.1.0 最新 2026-4-17 15:04
Basic GitLab repository operations
返回顶部