我想使用 run API 运行 rundeck 作业。还想在运行时将一些参数传递给 runDeck 作业。
我需要将作业配置为接受参数吗?如何传递参数来运行 API?
提前致谢
问候 SJ
我想使用 run API 运行 rundeck 作业。还想在运行时将一些参数传递给 runDeck 作业。
我需要将作业配置为接受参数吗?如何传递参数来运行 API?
提前致谢
问候 SJ
选项1:在没有令牌的情况下,首先登录获取cookie
curl \
-D - \
-X POST \
-H "Content-Type: application/x-www-form-urlencoded" \
-H "Cache-Control: no-cache" \
-d "j_username=${RD_USER}&j_password=${RD_PASSWORD}" \
--cookie-jar rd_cookie \
"${RD_URL}/j_security_check"
然后,使用成功登录收到的cookie进行后续交易
curl \
-D - \
-X "POST" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-d "{\"argString\":\"-arg1 val1 -arg2 val2 -arg3 val-3 -arg4 val4 \"}" \
--cookie "@rd_cookie" \
"${RD_URL}/api/16/job/${RD_JOB_ID}/executions"
选项2:使用令牌,更简单
curl \
-D - \
-X "POST" -H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "X-Rundeck-Auth-Token: ${RD_TOKEN}" \
-d "{\"argString\":\"-arg1 val1 -arg2 val2 -arg3 val-3 -arg4 val4 \"}" \
"${RD_URL}/api/16/job/${RD_JOB_ID}/executions"
Rundeck 的 API 文档描述了如何运行作业:
是的,您需要创建一个参数化作业并作为 API 调用的一部分传入参数。这可以被认为是一种安全措施,只有预期的参数才能被接受。