Rundeck调用API时jobIdFilter参数无法过滤特定作业运行记录
问题1解答:你使用jobIdFilter参数的方式存在两处错误
- 第一种调用方式使用
-d参数传值时,curl默认会将请求转为POST方法,而该Rundeck接口仅支持GET请求,参数无法被正确识别。如果要使用-d传递GET请求参数,需要额外添加-G参数强制使用GET方法。 - 第二种调用方式在URL参数值两端加了单引号,会导致实际传入的jobIdFilter值携带多余的单引号,和真实作业UUID不匹配,因此过滤失效。同时
Content-Type: application/json头对于GET请求属于冗余配置,可以省略。
正确调用示例:
# 直接拼接查询参数 curl -s -H "X-RunDeck-Auth-Token:<token>" "https://<rundeck-url>/api/14/project/pomt/executions/running?jobIdFilter=0gad9b68f-e428-4df66-55ed-21f935551c18" # 用-G参数配合-d传值 curl -s -H "X-RunDeck-Auth-Token:<token>" -G "https://<rundeck-url>/api/14/project/pomt/executions/running" -d jobIdFilter=0gad9b68f-e428-4df66-55ed-21f935551c18
问题2解答:二者没有本质区别
jobIdFilter参数的取值就是目标作业的UUID字符串,只要填入作业对应的正确UUID即可,不需要额外添加引号、转义字符等修饰内容。
内容的提问来源于stack exchange,提问作者Manu
相关产品推荐
相关产品推荐

