返回顶部
g

gitlab-apiGitLab 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
安全检测
已通过
2,049
下载量
免费
免费
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

Archiver·手机版·闲社网·闲社论坛·羊毛社区· 多链控股集团有限公司 · 苏ICP备2025199260号-1

Powered by Discuz! X5.0   © 2024-2025 闲社网·线报更新论坛·羊毛分享社区·http://xianshe.com

p2p_official_large
返回顶部