gitlabgitlab-ci

Where do I find the project ID for the GitLab API?


I use GitLab on their servers. I would like to download my latest built artifacts (build via GitLab CI) via the API like this:

curl --header "PRIVATE-TOKEN: 9koXpg98eAheJpvBs5tK" "https://gitlab.com/api/v3/projects/1/builds/8/artifacts"

Where do I find this project ID? Or is this way of using the API not intended for hosted GitLab projects?


Solution

  • You can query for your owned projects:

    curl -XGET --header "PRIVATE-TOKEN: XXXX" "https://gitlab.com/api/v4/projects?owned=true"
    

    You will receive JSON with each owned project:

    [
      {
        "id":48,
        "description":"",
        "default_branch":"master",
        "tag_list":[
    ...
    

    You are also able to get the project ID from the triggers configuration in your project which already has some sample code with your ID.

    From the Triggers page:

    curl -X POST \
         -F token=TOKEN \
         -F ref=REF_NAME \
         https://<GitLab Installation>/api/v3/projects/<ProjectID>/trigger/builds