如何使用 gitlab 删除每个已关闭的里程碑 api
How to delete every closed milestone with gitlab api
由于我们是一个小团队,我们将里程碑设置为周数。例如:week - 12
.
但是,当新的一年开始时,我们无法再创建这些里程碑,因为它们已经存在并且已关闭。
我想删除每个已关闭的里程碑并尝试使用 giltab API 来达到这个目的。
我创建了以下脚本:
请求每个关闭的里程碑工作
# global.sh
get_closed_milestones(){
curl -s -H "$private_token" \
-X GET \
"${base_url}groups/${group_name}/milestones?state=closed"
}
remove_milestone() {
# echo result: https://gitlab.entepriseName.ch/api/v4/groups/entepriseName/milestones/279
curl -H "$private_token" \
-X DELETE \
"${base_url}groups/${group_name}/milestones/"
}
制作一个循环并删除它
# milestone-remover.sh
#!/bin/bash
# Importes
source ./includes/global.sh
issues=$(get_closed_milestones)
for milestone_id in $(jq -c '.[] | .id'<<< "$issues"); do
milestone_id=${milestone_id%/r}
# If not null
if [ ! "$milestone_id" == "null/r" ];
then
remove_milestone "$milestone_id"
fi
done
我不得不使用 ! "$milestone_id" == "null/r"
因为我意识到我确实像这样得到了 null。
它看起来有点奇怪,但它确实发送了请求。然后我会收到这样的回复
+ curl -H 'PRIVATE-TOKEN: xxxxx' -X DELETE $'https://gitlab.entepriseName.ch/api/v4/groups/entepriseName/milestones/293\r'
curl: (3) URL using bad/illegal format or missing URL
有人看到错误了吗?
我必须使用以下代码删除 $milestone_id
变量中的 /r
milestone_id="${milestone_id%%[[:cntrl:]]}"
这是最终代码
issues=$(get_closed_milestones)
for milestone_id in $(jq -c '.[] | .id'<<< "$issues"); do
milestone_id="${milestone_id%%[[:cntrl:]]}"
# If not null
if [ ! "$milestone_id" == "null/r" ];
then
remove_milestone "$milestone_id"
fi
done
由于我们是一个小团队,我们将里程碑设置为周数。例如:week - 12
.
但是,当新的一年开始时,我们无法再创建这些里程碑,因为它们已经存在并且已关闭。
我想删除每个已关闭的里程碑并尝试使用 giltab API 来达到这个目的。
我创建了以下脚本:
请求每个关闭的里程碑工作
# global.sh
get_closed_milestones(){
curl -s -H "$private_token" \
-X GET \
"${base_url}groups/${group_name}/milestones?state=closed"
}
remove_milestone() {
# echo result: https://gitlab.entepriseName.ch/api/v4/groups/entepriseName/milestones/279
curl -H "$private_token" \
-X DELETE \
"${base_url}groups/${group_name}/milestones/"
}
制作一个循环并删除它
# milestone-remover.sh
#!/bin/bash
# Importes
source ./includes/global.sh
issues=$(get_closed_milestones)
for milestone_id in $(jq -c '.[] | .id'<<< "$issues"); do
milestone_id=${milestone_id%/r}
# If not null
if [ ! "$milestone_id" == "null/r" ];
then
remove_milestone "$milestone_id"
fi
done
我不得不使用 ! "$milestone_id" == "null/r"
因为我意识到我确实像这样得到了 null。
它看起来有点奇怪,但它确实发送了请求。然后我会收到这样的回复
+ curl -H 'PRIVATE-TOKEN: xxxxx' -X DELETE $'https://gitlab.entepriseName.ch/api/v4/groups/entepriseName/milestones/293\r'
curl: (3) URL using bad/illegal format or missing URL
有人看到错误了吗?
我必须使用以下代码删除 $milestone_id
变量中的 /r
milestone_id="${milestone_id%%[[:cntrl:]]}"
这是最终代码
issues=$(get_closed_milestones)
for milestone_id in $(jq -c '.[] | .id'<<< "$issues"); do
milestone_id="${milestone_id%%[[:cntrl:]]}"
# If not null
if [ ! "$milestone_id" == "null/r" ];
then
remove_milestone "$milestone_id"
fi
done