有没有办法在 Jenkins 中为 Office 365 webhook 通知设置自定义条件?

问题描述

我目前有几个 Jenkins 作业,它们会在测试结束时向 Microsoft Teams 上的一个频道发送通知。预期目标是在部署期间发送这些通知。作业配置如下图所示

enter image description here

理想情况下,如果目标环境是生产环境而不是测试环境,我希望包含一个发送此通知的条件。这样,我就不会在排查问题时向 Teams 频道发送垃圾邮件通知。

我尝试设置如下所示的宏

enter image description here

当环境参数值不匹配时,作业结束并且控制台中没有记录任何内容(未发送通知)。当值匹配时,控制台 [Office365connector] Matched template '${ENV,var="environment"}' for webhook with name ... 中会显示以下消息,其中名称与我用于测试运行的 Maven 命令中的环境相匹配。但是,通知并未发送到 Microsoft Teams 频道。显然,这是错误的。我假设这样做的原因是未定义 ENV

总而言之,我需要帮助设置这个宏。我用来设置宏的参考资料是 here

解决方法

我原来的宏设置有效。之所以不发送通知,是因为未勾选“通知重复失败”复选框,之前的作业都失败过。

一旦我选中该选项,它只会在目标环境匹配该值(即“prod”)时发送通知。

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...