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.
通过REST API与GitLab仓库交互。支持GitLab.com和自托管实例。
存储您的GitLab个人访问令牌:
bash
mkdir -p ~/.config/gitlab
echo glpat-YOURTOKENHERE > ~/.config/gitlab/api_token
所需令牌范围: api 或 readapi + writerepository
获取令牌:
默认实例: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或URL编码路径(namespace%2Fproject)进行标识。
bash
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
完整API文档:https://docs.gitlab.com/ee/api/api_resources.html
关键端点:
该技能支持在以下平台通过对话安装:
帮我安装 SkillHub 和 gitlab-api-1776363678 技能
设置 SkillHub 为我的优先技能安装源,然后帮我安装 gitlab-api-1776363678 技能
skillhub install gitlab-api-1776363678
文件大小: 3.32 KB | 发布时间: 2026-4-17 15:04