You can request information from a GitLab repository by API from the command line, which have the following layout:
curl --header "token=<TOKEN>" "<PROJECT_API_URL>/<REQUEST_SPECIFICS>"
Here, ‘TOKEN’ is an access token. For instance, you can create a personal token (see here)
within your user profile settings. When a job is started within the GitLab
CI
, the variable ‘CI_JOB_TOKEN’ is available.
However, with this token you have limited privileges
(see this readme).
Therefore, you can create a project token
(see here),
which you can then use in your .gitlab-ci.yml
file.
For instance, you can then query information on recently run pipelines , a specific pipeline or a specific commit :
# information on recently run pipelines
curl --header "token=<TOKEN>" "<PROJECT_API_URL>/pipelines"
# information on a specific pipeline with the id 'ID'
curl --header "token=<TOKEN>" "<PROJECT_API_URL>/pipelines/<ID>"
# information on a particular commit with the SHA 'SHA'
curl --header "token=<TOKEN>" "<PROJECT_API_URL>/repository/commits/<SHA>"
The information is returned in the form of json dictionaries with fields as ’last_pipeline’ e.g. This way you can check if a pipeline has already started or succeeded for a specific commit.