GitLab API使用小结
GitLab API使用小结
背景描述
需求描述:
最近因为工作上的需求,需要对GitLab进行大批量的操作,又因为服务器不在境内,所以所有的操作都需要连接VPN来进行FQ访问。目前大概有6000多个合并请求,需要审核后处理,需要在指定项目,指定筛选条件后,获取到的清单列表,然后按照公司要求的分支策略去操作。由于公司有自己的分支策略,每个分支和受保护的分支都有大批量的Commit Diff.
经高人指点:
让我直接调用API试试。原来可以直接调用服务器的API来直接对GitLab服务器进行访问,避免页面中无效的操作,如每次打开Merge Request的时候就要比对差异等。

好处:
调用API可以完全用命令操作,减少了Web端无用的功能,大大提高了服务器的访问效率。
说明:
首先我想说的是,我这里只是根据我的使用过程简单的提一下,不要过度依赖此篇文章,因为我提到的也只是冰山一角,文中所有的案例都来自于官方API文档。(文档没有中文版本)
GitLab API文档地址:https://docs.gitlab.com/ee/api/README.html
Merge Request 操作API:https://docs.gitlab.com/ee/api/merge_requests.html
详细说明
具体使用过程
- 在GitLab中生成个人的Token。(操作的时候要使用Token来做令牌,所以生成Token的账号需要有操作此项目的权限)。
- 查看我想用的功能说明和参数说明,调用对应的API。
- 在命令行 将编写好的命令执行。
教程说明
API文档每个功能都有详细的说明。功能描述,案例说明,参数说明。
API功能描述和举例说明:

API功能对应的参数清单:

获取到的结果截图

案例
我这里拿一个需求来举例说明:我想要获取GitLab中A项目中,所有的指给我的任务,Title中有指定字符标记的,又或者是指定作者的。
在功能里的获取所有的合并请求叫做:list-merge-requests
用到的参数如下:
target_branch=master:目标分支为master分支的
scope=assigned_to_me:指派给自己的
search=xxx : 搜Title和Description 中的关键字的
state=opened:状态为开放的
author_id=281:指定作者ID的
汇总如下:
curl --request GET --header "PRIVATE-TOKEN: 8zQsjXXXQsiu8" http://10.X.XXX.XX/api/v4/projects/37/merge_requests?scope=assigned_to_me&search=NCSCMPT&target_branch=master&state=opened
结果就是如下所示的JSON中的一个,其中信息已经打马赛克。可以看到所有的信息。

然后,各位就根据自己的需求去研究API文档吧。
我用到的功能有:
获取指定条件的清单
删除MR请求
发起MR请求
这几个简单的日常批量操作,极大的增加了工作效率。
GitLab API使用小结的更多相关文章
- 教你怎么调用Gitlab API
1.生成Personal Access Tokens 选择右上角用户信息setting—>Access Tokens 2.常用Gitlab API #获取所有的项目信息 #private_tok ...
- GitLab: API is not accessibl
git push -u origin masterGitLab: API is not accessiblefatal: Could not read from remote repository. ...
- Could not find modernizr-2.6.2 in any of the sources GitLab: API is not accessible
Could not find modernizr-2.6.2 in any of the sources GitLab: API is not accessible bundle exec rake ...
- docker gitlab and gitlab api
https://docs.gitlab.com/ee/api/repositories.html curl --header "PRIVATE-TOKEN: fxhDXPRJAowCouXE ...
- 【转】教你怎么调用Gitlab API
官方文档: https://docs.gitlab.com/ce/api/ https://docs.gitlab.com/ee/api/branches.html#list-repository-b ...
- [技术博客]大闸蟹的技术博客,通过gitlab api进行用户批量创建
技术博客--通过gitlab api批量注册用户 gitlab登录界面本身提供了register功能,但需要手工一个个添加,对于一次性会添加整个班级的学生的软工平台来说并不科学合理.使用gitlab ...
- gitlab api 使用
api文档:https://docs.gitlab.com/ee/api/projects.html#project-visibility-level 1.项目查询 http://127.0.0.1: ...
- gitlab Api接口使用
官方文档 https://docs.gitlab.com/search/?q=api&idx=gitlab&p=1 示例:获取每个项目下的用户信息 #!/usr/bin/env pyt ...
- 高德地图JS API 开发小结
项目中有一块功能要用到高德地图,所以,想把编码小结一下. 首先是地图的初始化 var map = new AMap.Map("mapDiv", { ...
随机推荐
- Visual Studio 2022(VS2022)激活密钥
Visual Studio 2022(VS2022) 激活码: 专业版 Pro: TD244-P4NB7-YQ6XK-Y8MMM-YWV2J 企业版 Enterprise: VHF9H-NXBBB-6 ...
- Keil MDK STM32系列(七) STM32F4基于HAL的PWM和定时器
Keil MDK STM32系列 Keil MDK STM32系列(一) 基于标准外设库SPL的STM32F103开发 Keil MDK STM32系列(二) 基于标准外设库SPL的STM32F401 ...
- Idea操作Maven详细使用:
Idea操作Maven详细使用: Maven简介 什么是 Maven Maven 的正确发音是[ˈmevən] "卖v",而不是"马瘟"以及其他什么瘟. Mav ...
- RHCSA 第一天
1.修改主机名: 查看主机名 2.查看日期 使用指定格式输出日期 YY-mm-DD HH:MM:SS 3.将"We are learning RHCSA"输出在屏幕上 4.使用ti ...
- 《剑指offer》面试题03. 数组中重复的数字
问题描述 找出数组中重复的数字. 在一个长度为 n 的数组 nums 里的所有数字都在 0-n-1 的范围内.数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次.请找出数组中 ...
- 如何管理leader对你的能力预期?
在内网看到一个讨论帖,原文如下: 如何管理leader对你的能力预期? 你一个项目做得好,之后类似项目,leader认为你也就是合格水平,而且认为你只会做这种项目. SAD.. 思考 在开始之前先想下 ...
- 【笔记】对golang的大量小对象的管理真的是无语了……
业务中有这样一个struct: type bizData struct{ A uint64 B uint64 C int32 D uint32 } 虽然没有实测,但我猜测这样的对齐方式,这个struc ...
- vscode控制台中文乱码
原因 vscode中文控制台乱码原因是调用的cmd的显示. 所以问题实际上是cmd的显示中文乱码问题.当然还有其他方法仅仅修改vscode的显示,这里不在说明. cmd中国版本windows默认是93 ...
- pytest文档1-环境搭建
1.安装方法 pip install -U pytest 2.查看安装版本 pip show pytest pytest -version 3.快速开始 新建test开头py文件 打开test_sam ...
- js生成指定范围的随机整数
定义一个random()函数,原理是 随机数和最大值减最小值的差相乘 最后再加上最小值. function random(min, max) { return Math.floor(Math.rand ...