6

我想使用 run API 运行 rundeck 作业。还想在运行时将一些参数传递给 runDeck 作业。

我需要将作业配置为接受参数吗?如何传递参数来运行 API?

提前致谢

问候 SJ

4

2 回答 2

9

选项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"
于 2016-11-16T06:18:35.947 回答
2

Rundeck 的 API 文档描述了如何运行作业:

是的,您需要创建一个参数化作业并作为 API 调用的一部分传入参数。这可以被认为是一种安全措施,只有预期的参数才能被接受。

于 2014-12-27T14:09:11.623 回答