【问题标题】:CircleCI Slack Orbs. How to mention a user in a Slack message on a CircleCI failure? (solved)CircleCI 松弛球体。如何在 CircleCI 失败的 Slack 消息中提及用户? (解决了)
【发布时间】:2021-10-26 18:11:34
【问题描述】:

CircleCI slack orbs 文档可以在这里找到:https://circleci.com/developer/orbs/orb/circleci/slack。在only_notify_on_branch 示例中,他们展示了如何手动将用户 ID 硬编码到通知模板中,即:mentions: '<@U8XXXXXXX> 但如果您尝试在此位置添加变量,例如mentions: <@SLACK_USER_ID> 它只会在模板中打印出用户 id 而不会真正提及用户

【问题讨论】:

  • 请澄清您的具体问题或提供其他详细信息以准确突出您的需求。正如目前所写的那样,很难准确地说出你在问什么。

标签: slack circleci


【解决方案1】:

这个答案在使用像basic_fail_1这样的内置CircleCI slack模板时有效,我不知道它在使用自定义块时是否有效。

短版:
需要直接导出一个slack用户id到SLACK_PARAM_MENTIONS变量(CircleCI模板识别这个环境变量):echo "export SLACK_PARAM_MENTIONS='<@$SLACK_USER_ID>'" >> $BASH_ENV。这需要在任何可能失败的步骤之前在作业步骤中完成。

更长的版本和代码:
.circleci/config.yml 文件中,您将可以访问$CIRCLE_USERNAME 变量,该变量将是提交者的bitbucket/github 用户名。这需要映射到您希望在失败时收到通知的所有用户的用户 ID。用户的 Slack ID 可以在桌面应用的 Slack 个人资料中找到。

jobs:
  build_app:
    ...
    steps:
      - ...
      - map_circle_to_slack
      - run: yarn install
      - run: yarn build
      - slack/notify:
          event: fail
          channel: '<slack-channel-id>'
          template: basic_fail_1
commands:
    map_circle_to_slack:
        steps:
          - run:
              name: Map circle username to slack user id
              command: |
                case $CIRCLE_USERNAME in
                              'user1-bitbucket-or-github-username')
                                  SLACK_USER_ID='user1-slackid'
                                    ;;
                              'user2-bitbucket-or-github-username')
                                  SLACK_USER_ID='user2-slackid'
                                    ;;
                              'user3-bitbucket-or-github-username')
                                    SLACK_USER_ID='user3-slackid'
                                      ;;
                                *)
                          esac
                echo "export SLACK_PARAM_MENTIONS='<@$SLACK_USER_ID>'" >> $BASH_ENV 

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-04-16
    • 1970-01-01
    • 2014-08-28
    • 2022-08-05
    • 1970-01-01
    相关资源
    最近更新 更多