Rundeck UI插件配置全页面加载却无法在项目页面运行问题咨询
Rundeck 项目页面没有默认禁用 UI 插件,你遇到的加载异常问题是官方 UI 插件的路由匹配规则特殊逻辑导致的。
问题原因
Rundeck 中 plugin.yaml 配置的 pages: '*' 通配符不会匹配所有路由,仅能匹配根路径下的一级路由(如首页、任务列表页等)。而项目相关页面的路由均为 /project/[项目标识]/xxx 格式的嵌套路由,不在 * 的默认匹配范围内,因此你的脚本不会被注入到项目页面中。
修复方案
修改 plugin.yaml 的 pages 配置,新增嵌套路由的匹配规则即可,参考配置如下:
ui: - pages: - '*' - '/project/*' scripts: - js/main.js
如果仅需要在项目仪表盘页面注入脚本,还可以把规则写的更精确:/project/*/dashboard,避免不必要的资源加载。
额外注意事项
项目仪表盘的内容是异步动态渲染的,脚本注入成功后如果直接在初始化阶段操作 DOM 会找不到对应元素,建议用 MutationObserver 监听目标 DOM 节点生成后再执行自定义内容注入逻辑,避免出现脚本执行无效果的问题。
修改配置后重新打包插件、重启 Rundeck 服务并清空浏览器缓存即可验证效果。
内容的提问来源于stack exchange,提问作者harry-mj
相关产品推荐
相关产品推荐

