如何从特定的云生成触发器作业中删除云函数(松弛通知)



我有一个云函数,它配置为松弛通知,并且还有两个针对同一存储库的云构建触发器(一个用于来自git的推送活动,另一个用于来自任何分支的拉取请求活动(。

现在,当任何作业被触发时,云函数将使用发布/订阅在 Slack 中推送消息。但我只想要针对推送活动云构建触发器发生任何进程失败或通过活动时的通知,而不是拉取请求活动触发器。如何删除仅拉取请求活动的云函数。我可以这样配置吗?

提前谢谢。 :)

要仅根据构建状态发送松弛通知,您可以检测事件的类型并选择是否发送松弛通知。

在订阅方法中接收的event.data变量上,您可以读取变量status以检查构建的状态,因此您只能在成功或失败状态时发送松弛通知。

我通过添加一个替换变量(在构建触发器配置 (UI( 或 cloudbuild.yaml 本身中(来做到这一点:

substitutions:
_DISABLE_SLACK: 'true'

然后在你的 slack 网络钩子代码中:

// don't send slack messages if we have _DISABLE_SLACK in `cloudbuild.yaml` file -- any value is accepted
if (build && build.substitutions && build.substitutions['_DISABLE_SLACK']) {
return;
}

PS - 我还有另一种方法,您想为构建禁用松弛消息,但您仍然想要错误......如果您有兴趣,可以发布:)
[基本上,如果build.status !='WORKING', 'QUEUED', 'CANCEL ' &&如果build.buildTriggerId在[array]中,那么我们继续使用slack消息(覆盖DISABLE_SLACK(]

最新更新