gitlab restful API

利用GitLab API,用户可以自动化诸如仓库管理、代码提交、合并请求、CI/CD管道、项目监控、项目导出导入以及用户管理等任务。通过编写脚本或程序调用GitLab API,开发者可以大大简化日常操作、保持数据同步、快速生成报告、及时响应项目事件。

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}"
  • 8
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值