如何根据条件触发代码刷新钩子



我正在努力确保如果我们的构建失败,我们得到slack的通知,但只针对我们的主分支。

下面是我们的slack通知代码:

hooks:
on_fail:
steps:
notify:
image: codefresh/slacknotifier
environment:
- SLACK_HOOK_URL=<webhook url>
- SLACK_ATTACHMENTS=<slack message>
when:
branch:
only:
- /^(main)/i

目前,它仍然是懒散的特性分支。如有任何帮助,不胜感激。

你可以像对待普通步骤一样对待实际的代码刷新钩子步骤,所以你可以尝试在管道上调用或设置一个条件,或者与分支一起设置另一个读取branch属性的步骤。

通用

on_fail:
steps:
notify:
image: codefresh/slacknotifier
environment:
- SLACK_HOOK_URL=<webhook url>
- SLACK_ATTACHMENTS=<slack message>
when:
condition:
any:
myCondition3: workflow.result == 'approval'

基于分支:

on_fail:
steps:
notify:
image: codefresh/slacknotifier
environment:
- SLACK_HOOK_URL=<webhook url>
- SLACK_ATTACHMENTS=<slack message>
when:
branch:
only:
- /^FEATURE-.*/i

最后一个应该适用于所有FEATURE-*正则表达式,祝你好运lml

参考:https://codefresh.io/docs/docs/ci-cd-guides/pull-request-branches/

我想知道如果这是一个bug,已经修复,因为我运行了几乎相同的代码(至少相同的条件)

version: "1.0"
hooks:
on_fail:
steps:
notify:
type: slack-notifier
arguments:
MODE: text
SLACK_TEXT: "stackoverflow test"
SLACK_HOOK_URL: ${{SLACK_HOOK_URL}}
when:
branch:
only:
- /^(main)/i

,它工作如预期的我

当我不在main上时,我可以在日志中看到:

================ 执行职务挂钩 =================
(2022 - 02 - 28 - t22:48:33.892z)检查部门只在白名单……
[2022-02-28T22:48:33.893Z]正则表达式/^(main)/i的结果:no match
[2022-02-28T22:48:33.894Z]跳过执行。

可能通知来自用户通知设置(https://g.codefresh.io/user/settings)或Slack集成设置(https://g.codefresh.io/account-admin/account-conf/integration/slack)

最新更新