Determination of last successful pipeline run fails
The script git_pipeline_hash_detector.py
determines the last successful pipeline run for a given project and a given branch. The GitLab-REST-API returns the information of 20 pipelines by default (line 12 in the script, see https://docs.gitlab.com/ee/api/rest/#pagination).
If - for whichever reason - between the last successful pipeline run of the given branch and the current commit more than 20 pipelines (in other branches) were executed, no pipeline can be detected for the given branch resulting in no pipeline sha could be determined
.
Proposed solution: simply use GitLab-API pagination in order to check all available pipelines until either all pipelines have been checked or a successful pipeline run for that branch has been determined.
From #62 (closed): In git_pipeline_hash_detector.py when detecting the hash of the last successful pipeline the pagination of the GitLab REST API (see https://docs.gitlab.com/ee/api/rest/#pagination) shall be used to detect old pipelines. Alternatively, see also https://gitlab.com/elga-gmbh/stups-terminologit-ums-ping-service and its pipeline.