=====Configuration===== ====.gitlab-ci.yml==== ===Windows=== Pour appeler une commande nécessitant l'opérateur ''Call'' ''&'', il faut passer par le multiligne : - | & $Env:VARIABLE =====Variables d'environnement===== ====CI_PIPELINE_SOURCE==== Les variables d'environnement ne sont pas les mêmes en fonction du pipeline source. CI_PIPELINE_SOURCE=merge_request_event CI_MERGE_REQUEST_TARGET_BRANCH_NAME=main CI_MERGE_REQUEST_SOURCE_BRANCH_NAME=125-secure_ci CI_COMMIT_BRANCH= CI_PIPELINE_SOURCE=push CI_COMMIT_BRANCH=125-secure_ci CI_MERGE_REQUEST_TARGET_BRANCH_NAME= CI_MERGE_REQUEST_SOURCE_BRANCH_NAME= =====API===== Ici, le token doit avec un accès "API". ====Admin==== ===Supprimer tous les artefacts=== curl --request DELETE --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/1/artifacts" [[https://stackoverflow.com/questions/42512733/remove-artifacts-from-ci-manually|Remove artifacts from CI manually]] {{ :prog:gitlab:api:gitlab_ci_-_remove_artifacts_from_ci_manually_-_stack_overflow_11_19_2024_10_24_25_am_.html |Archive du 28/02/2017 le 19/11/2024}} =====Python===== Utiliser [[https://github.com/gitpython-developers/GitPython|GitPython]] et sa [[https://gitpython.readthedocs.io/en/stable/|documentation]]. gl = Gitlab(url=GITLAB_URL, private_token=GITLAB_TOKEN) gl.auth() project_docker_ci = gl.projects.get(PROJECT_DOCKERCI_ID) pipeline_docker_ci = project_docker_ci.pipelines.create({"ref": REF_DOCKERCI_ID}) jobs_docker_ci = pipeline_docker_ci.jobs.list(get_all=True) # Restart all jobs for job in jobs_docker_ci: real_job = project_docker_ci.jobs.get(job.id) real_job.refresh() print(f"Starting {real_job.name} with previous status {id.status}") real_job.play() Et pour le typage: from gitlab.v4.objects import ProjectJob