В нашем Gitlab очень много pipeline’ов с неуспешными статусами. Проблемы давно исправлены и хотелось бы почистить старые pipeline’ы от мусора (пайплайны со статусами failed, canceled, skipped, blocked).
Вот команды, что бы сделать массовое удаление таких пайпланов. Требуется curl и jq.
1 2 |
PROJECT_ID=217 for i in $(curl -s --header "PRIVATE-TOKEN:ВАШ_ПРИВАТНЫЙ_ТОКЕН" "https://gitlab.clive.tk/api/v4/projects/${PROJECT_ID}/pipelines?per_page=500" | jq -c '[ .[] | select( .status as $a | ["failed", "canceled", "skipped", "blocked"] | index($a) ) ]' | jq .[].id) ; do curl --header "PRIVATE-TOKEN:ВАШ_ПРИВАТНЫЙ_ТОКЕН" --request "DELETE" "https://gitlab.clive.tk/api/v4/projects/${PROJECT_ID}/pipelines/$i" ; done |
Соответственно, PROJECT_ID — это ID проекта. Посмотреть можно на главной странице нужного репозитория.
Если у вас ну очень много пайпланов, то измените значение per_page=500 на что-то побольше. Или запустите команды пару раз подряд.