簡體   English   中英

如何根據條件觸發 codefresh 鈎子

[英]How to trigger codefresh hooks based on condition

我試圖確保如果我們的構建失敗,我們會收到 slack 的通知,但僅限於我們的主分支。

這是我們的松弛通知代碼:

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

目前它仍然在尋找功能分支。 任何幫助將不勝感激。

您可以以與正常步驟相同的方式處理實際的 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/

斯蒂芬,我想知道這是不是一個已經修復的錯誤,因為我運行了幾乎相同的代碼(至少相同的條件)

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 Hooks =================
[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 /松弛

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM