首页 > 解决方案 > 检查 Jenkins 节点是否为作业在线,否则发送电子邮件警报

问题描述

让 Jenkins 作业专门用于特殊节点,如果由于节点脱机而无法运行作业,我希望收到通知。是否可以设置此功能?

换句话说,如果在节点离线(“待定”作业状态)时已启动作业,则默认的 Jenkins 行为是等待节点。在这种情况下,我想使工作失败(或根本不开始)并发送“节点离线”邮件。

该节点检查内容应该在作业内部,因为该作业很少执行,并且我不在乎该节点在不需要该作业时是否处​​于脱机状态。我已经尝试过外部节点监视插件,但它并不能完全满足我的要求 - 每次节点离线时它都会触发电子邮件,在我的情况下它是多余的。

标签: jenkinscontinuous-integrationoffline

解决方案


我在这里找到了答案。您可以添加调用curl命令并处理结果的命令行或 PowerShell 块

curl --silent $JENKINS_URL/computer/$JENKINS_NODENAME/api/json

结果 json 包含具有 true/false 值的离线属性


推荐阅读