6

I would like to count all issues on my gitlab project using api.

Below the command that I'm using:

curl --header "PRIVATE-TOKEN:xxxxxxx" https://gitlab.myapp.com/api/v4/groups/xx/issues?scope=all

I've also tried to replace groups with project.

We would like to bypass the pagination problem: the displayed results are always 100 (the max number).

How can we could get more than 100 ?

I would like to have as result only the total number of issue on my project.

ClaudioM
  • 1,418
  • 2
  • 16
  • 42

1 Answers1

6

for anyone interestered I fixed it with this:

  1. get the project ids of my gitlab

    curl -s -L --header "PRIVATE-TOKEN:XXXXXX" "https://gitlab.XXXXX/api/v4/projects/"

combined with python -m json.tool and sed and jq and grep to get a list of ids and names.

then

I get the number of total pages of issues for project ids

curl -s --head --header "PRIVATE-TOKEN:XXXXXX" "https://gitlab.XXXXX/api/v4/projects/${id}/issues?state=all&per_pages=100"
    | grep "X-Total-Pages"

then I extract all the issues with a while cycle:

 curl -s --header "PRIVATE-TOKEN:XXXXX" "https://gitlab.XXXX/api/v4/projects/${id}/issues?scope=all&state=all&label_name\[\]=BU
    G&page=${i}&per_page=100"

$i is the page counter 

I hope this could help someone else!

If you have questions, feel free to ask!

Nam G VU
  • 33,193
  • 69
  • 233
  • 372
ClaudioM
  • 1,418
  • 2
  • 16
  • 42
  • 3
    Clever idea. Why wouldn't the developers simply include an endpoint in the API to get the total number of issues or even the information being set in headers in each request? How hard could that be?!! – Fr0zenFyr May 17 '18 at 08:58
  • See also https://stackoverflow.com/questions/61664510/fatch-projects-greater-than-100-from-gitlab-for-sourcegraph-projectquery – Aleksey Tsalolikhin May 07 '20 at 22:58
  • maybe no need to do the cycle.. there is a 'X-Total' field in ther response header :-) – tomy0608 Mar 21 '22 at 08:27