gitlab restful API
利用GitLab API,用户可以自动化诸如仓库管理、代码提交、合并请求、CI/CD管道、项目监控、项目导出导入以及用户管理等任务。通过编写脚本或程序调用GitLab API,开发者可以大大简化日常操作、保持数据同步、快速生成报告、及时响应项目事件。大多数API接口需要一个TOKEN来获取访问权限。创建Project Access Tokens。master branch上创建一个tag。获取一个
·
利用GitLab API,用户可以自动化诸如仓库管理、代码提交、合并请求、CI/CD管道、项目监控、项目导出导入以及用户管理等任务。通过编写脚本或程序调用GitLab API,开发者可以大大简化日常操作、保持数据同步、快速生成报告、及时响应项目事件。
jjing@abc:~$ curl “192.168.3.89:8081/api/v4/projects”
[]
大多数API接口需要一个TOKEN来获取访问权限。
# 查看gitlab version
URL="192.168.3.89:8081/api/v4/version"
TOKEN=glpat-xxx
jjing@abc:~$ curl --header "PRIVATE-TOKEN: ${TOKEN}" "${URL}" | jq .
{
"version": "16.9.0",
"revision": "969e1ff3ab9",
"kas": {
"enabled": true,
"externalUrl": "ws://192.168.3.89:/-/kubernetes-agent/",
"version": "v16.9.2"
},
"enterprise": false
}
Access Tokens 分为
- Personal Access Tokens
- Project Access Tokens
- Group Access Tokens
创建Project Access Tokens
Settings -> Access Tokens
下面给几个实际的使用例子。
# using the access token in a header
curl --header "PRIVATE-TOKEN: ${TOKEN}" "${URL}"
获取一个MR对应的commits
Get single merge request commits
# Get commits in MR
URL="https://www.example.com/api/v4/projects/$PROJECT_ID/merge_requests/$MR_ID/commits"
curl --header "PRIVATE-TOKEN: ${TOKEN}" "${URL}"
获取一个project的所有tags
/projects/:id/repository/tags
# Get repo tags
URL="https://www.example.com/api/v4/projects/$PROJECT_ID/repository/tags"
curl --header "PRIVATE-TOKEN: ${TOKEN}" "${URL}"
master branch上创建一个tag
POST /projects/:id/repository/tags
# Create a new tag
TAG_NAME="test tag"
MESSAGE="this is a tag test"
URL="https://www.example.com/api/v4/projects/$PROJECT_ID/repository/tags?tag_name=$TAG_NAME&ref=master&message=$MESSAGE"
curl --request POST --header "PRIVATE-TOKEN: ${TOKEN}" "${URL}"
更多推荐
已为社区贡献2条内容
所有评论(0)