我想使用run API运行rundeck作业。想要在运行时将少量参数传递给runDeck作业。
我是否需要将作业配置为接受参数? 如何传递参数来运行API?
提前致谢
此致 SJ
答案 0 :(得分:5)
选项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"
答案 1 :(得分:2)
Rundeck的API文档描述了如何运行作业:
是的,您需要创建参数化作业并在API调用中传入参数。这可以被认为是一种安全措施,只能接受预期的参数。