2

我试图确保如果我们的构建失败,我们会收到松弛通知,但仅针对我们的主分支。

这是我们的松弛通知代码:

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

目前,它仍在为功能分支松懈。任何帮助将不胜感激。

4

2 回答 2

0

您可以像对待普通步骤一样对待实际的 codefresh 挂钩步骤,因此您可以尝试在管道上调用或设置条件,或者使用分支设置另一个读取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/

于 2021-10-21T18:55:15.843 回答
0

斯蒂芬,我想知道这是否是一个已经修复的错误,因为我运行了几乎相同的代码(至少相同的条件)

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 时,我可以在日志中看到:

================ 执行 Post Hook =================
[2022-02-28T22:48:33.892Z] 检查是否分支仅在白名单中...
[2022-02-28T22:48:33.893Z] 正则表达式的结果 /^(main)/i: 不匹配
[2022-02-28T22:48:33.894Z] 跳过执行。

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

于 2022-03-01T00:17:29.333 回答