從Gitlab中匯出issue到Excel檔案中

xjbclz發表於2017-06-11

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檔案中。





相關文章