Show More
@@ -0,0 +1,36 | |||
|
1 | #!/bin/bash | |
|
2 | # A small script to cleanup old CI-pipeline that accumulate over time | |
|
3 | ||
|
4 | ||
|
5 | d="`date -d '-1 month' --iso-8601`T00:00:00Z" | |
|
6 | ||
|
7 | PROJECT_ID=22 | |
|
8 | ||
|
9 | token=$1 | |
|
10 | ||
|
11 | if [ -z $token ]; then | |
|
12 | echo "USAGE: $0 GITLAB_TOKEN" >&2 | |
|
13 | exit 64 | |
|
14 | fi | |
|
15 | ||
|
16 | get_ids() { | |
|
17 | curl --silent "https://foss.heptapod.net/api/v4/projects/$PROJECT_ID/pipelines?updated_before=$d&per_page=100" | python3 -m json.tool | grep -E '"\bid": ([0-9]+),' | grep -oE '[0-9]+' | |
|
18 | } | |
|
19 | ||
|
20 | ids=`get_ids` | |
|
21 | while [ -n "$ids" ]; do | |
|
22 | echo '#########' | |
|
23 | for pipeline_id in $ids; do | |
|
24 | echo "deleting pipeline #$pipeline_id" | |
|
25 | url="https://foss.heptapod.net/api/v4/projects/$PROJECT_ID/pipelines/$pipeline_id" | |
|
26 | echo $url | |
|
27 | curl \ | |
|
28 | --header "PRIVATE-TOKEN: $token"\ | |
|
29 | --request "DELETE"\ | |
|
30 | $url | |
|
31 | done | |
|
32 | ids=`get_ids` | |
|
33 | if [ -n "$ids" ]; then | |
|
34 | sleep 1 | |
|
35 | fi | |
|
36 | done |
General Comments 0
You need to be logged in to leave comments.
Login now