如何在Rundeck中创建可直接触发指定任务执行的外部跳转链接
Rundeck外部直接触发任务并跳转执行结果页实现方案
首先明确:你提到的https://host/rundeck/project/myproject/execution/show/$new&jobuuid=xxx格式的链接无法直接使用,Rundeck没有原生支持直接通过GET请求触发任务并自动填充新执行ID的路由,但有两种成熟的落地方案可以完全满足你的需求:
方案1:使用Rundeck原生Job Webhook(推荐,无需额外开发)
这是最简便的实现方式,全程只需要在Rundeck后台配置即可:
- 进入目标任务的配置页面,切换到「Webhook」标签,勾选启用Webhook,系统会自动生成专属的webhook调用地址,格式如下:
https://<你的Rundeck域名>/api/<API版本号>/webhook/<随机校验token>/<hook唯一标识> - 在Webhook的「后置行为」配置项中,选择触发后返回302重定向,重定向地址填写:
/project/<你的项目名>/execution/show/${execution.id}#output
其中Rundeck原生支持${execution.id}变量,会自动替换为新生成的任务执行ID - 外部HTML页面直接插入跳转链接即可:
<a href="你生成的Webhook地址" target="_blank">启动任务</a> - 可选配置:可以在Webhook权限配置中设置IP白名单、可访问角色,避免任务被恶意触发
方案2:自行开发轻量中转接口(适合需要自定义逻辑的场景)
如果你需要加入额外的鉴权、参数校验等逻辑,可以调用Rundeck OpenAPI实现:
- 首先在Rundeck个人设置页面生成有任务执行权限的API Token
- 开发一个简单的HTTP接口,逻辑如下:
- 调用Rundeck任务执行接口:
POST /api/<API版本号>/job/<你的任务UUID>/run,请求头携带X-Rundeck-Auth-Token: <你生成的Token>、Accept: application/json - 接口返回体中可以直接获取到新生成的执行ID:
response.id - 返回302重定向响应,跳转地址为
https://<你的Rundeck域名>/project/<你的项目名>/execution/show/${刚获取的执行ID}#output
- 调用Rundeck任务执行接口:
- 外部HTML页面的跳转地址指向你自己开发的中转接口即可
注意事项
- 以上方案均支持无参数任务直接使用,若后续任务新增参数,只需在Webhook配置或API调用时补充参数映射即可
- Rundeck API版本建议和你当前部署的Rundeck版本匹配,4.x及以上版本推荐使用v41版API,版本号可在Rundeck系统信息页查询
内容的提问来源于stack exchange,提问作者C. Ramseyer
相关产品推荐
相关产品推荐

