gitlab中的issue管理模块功能很弱,连把issue导出到excel表格中的功能都没有,需要使用者自己实现。

gitlab提供了API接口可以对gitlab里的数据进行各种操作,对应的说明文档网址为:https://docs.gitlab.com/ce/api/

可以利用gitlab提供的API接口实现导出某个project的issue功能。

1 首先要获取gitlab里所有group的id

  curl --header "PRIVATE-TOKEN: xxx" http://xxxxx/api/v3/groups/

  PRIVATE-TOKEN 的值是在gitlab里的 http://xxxxx/profile/personal_access_tokens 页面生成的

  v3 表示API的版本

  gitlab返回的数据是json格式的字符串,可以用如下方式直接在本地生成一个json文件,以方便后续处理:

  curl --header "PRIVATE-TOKEN: xxx" http://xxxxx/api/v3/groups > /Users/xxx/Downloads/group.json


2 如project所属的group id为10,用以下方式可以获得project的id

curl --header "PRIVATE-TOKEN: xxx" http://xxxxx/api/v3/groups/10/projects /Users/xxx/Downloads/project.json

  project.json中包含此group里所有project的信息


3 如project的id是100,用以下方式可以获得project的issue

curl --header "PRIVATE-TOKEN: xxx" http://xxxxx/api/v3/projects/100/issues >/Users/ruwang/Downloads/issue.json

gitlab默认服务器端每次只返回20条数据给客户端,可以用设置page和per_page参数的值,指定服务器端返回的数据个数。

curl --header "PRIVATE-TOKEN: xxx" http://xxxxx/api/v3/projects/100/issues?per_page=50&page=2 >/Users/ruwang/Downloads/issue.json

执行上述代码,服务器端会返回50条数据,且是在服务器端对数据进行分页处理后,第二页的50条数据。


4 把issue.json文件上传到:https://json-csv.com/,就会自动生成excel文件,然后可以下载到本机。


这样就实现了把gitlab的issue导出到excel文件中。





Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐