Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Bash 如何使用gitlab api删除每个已关闭的里程碑_Bash_Gitlab_Gitlab Api - Fatal编程技术网

Bash 如何使用gitlab api删除每个已关闭的里程碑

Bash 如何使用gitlab api删除每个已关闭的里程碑,bash,gitlab,gitlab-api,Bash,Gitlab,Gitlab Api,因为我们是一个小团队,所以我们用每周的次数来设定里程碑。例:第12周 但是,当新的一年开始的时候,我们不能再创造那些里程碑了,因为它们已经存在并且已经结束了 我想删除每个已关闭的里程碑,并尝试为此目的使用 我创建了以下脚本: 请求每个已关闭的里程碑工作 #global.sh 关闭里程碑(){ curl-s-H“$private_token”\ -X得到\ “${base\u url}组/${group\u name}/里程碑?状态=关闭” } 删除_里程碑(){ #回波结果:https://gi

因为我们是一个小团队,所以我们用每周的次数来设定里程碑。例:
第12周

但是,当新的一年开始的时候,我们不能再创造那些里程碑了,因为它们已经存在并且已经结束了

我想删除每个已关闭的里程碑,并尝试为此目的使用

我创建了以下脚本:

请求每个已关闭的里程碑工作

#global.sh
关闭里程碑(){
curl-s-H“$private_token”\
-X得到\
“${base\u url}组/${group\u name}/里程碑?状态=关闭”
}
删除_里程碑(){
#回波结果:https://gitlab.entepriseName.ch/api/v4/groups/entepriseName/milestones/279  
curl-H“$private_代币”\
-X删除\
“${base\u url}组/${group\u name}/里程碑/$1”
}
创建循环并删除它

#milestone-remover.sh
#!/bin/bash
#进口
来源./includes/global.sh
问题=$(完成里程碑)

对于$(jq-c.[].\id'中的里程碑id,我必须删除
$milestone\u id
变量中的
/r
,该变量包含以下代码
milestone\u id=“${milestone\u id%[:cntrl:][]代码>

这是最后的代码

issues=$(完成里程碑)

对于里程碑_id,单位为$(jq-c.“[]..id”
“'/millements/”,单位为$1"“
那里的引号是怎么回事?你看到这里突出显示的语法了吗?
milestone\u id=echo
这不是你设置变量的方式。检查你的脚本。而
/r
实际上是
/
r
。要有CR字符,请执行
$\r'
。但我认为不应该有CR字符来自gitlab的g,那将是stranfe..我是bash脚本的初学者,sry.
“'/millements/”,1美元"“
获取
$milestone\u id
并在请求结束时分配它。
milestone\u id=echo
我在另一次聊天中看到了这一点。`To have CR character,do$'\r'`我想删除这些字符,不知道为什么它会出现在gitlab中,可能是因为我执行循环的方式?你能帮我吗?要删除do
mil吗estone_id=${milestone_id%$'/r'}
或使用
dox2unix
当然会使用$milestone_id
但是为什么所有的
引号到处都是?只要
“${base_url}组/$group_name/milestles/$1”
-只有两个
"
。你没有看到未关闭的
?state=closed'
'
引用吗?你有没有用shellcheck.net检查你的脚本?Thx为了你的解释,我重构了我的代码,不再从shellcheck收到警告。但是代码仍然不工作,现在你去调试。研究如何调试bash脚本-添加
集-x
并发布输出-curl调用有问题。
+ 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