关于Slack的Travis-CI通知的在线文档说:
也可以覆盖频道,只需将#添加到配置中,将#与帐户和令牌分开。
array_walk
但是,如果我想以建议的方式加密凭据:
notifications:
slack: '<account>:<token>#development'
工作得很好。但是当我尝试:
travis encrypt "<account>:<token>" --add notifications.slack
我获得了一个新的加密令牌,但通知是在集成时设置的默认通道上。我做错了什么?
注意:我们使用企业版的所有东西(Slack,Travis,GitHub),以防这可能发挥作用。
答案 0 :(得分:6)
命令不是正确,它最后缺少.rooms
属性。它应该是
travis encrypt "account:token#channel" --add notifications.slack.rooms
答案 1 :(得分:2)
encrypt命令是正确的:
travis encrypt "account:token#channel" --add notifications.slack
但.travis.yml中的结果将是(错误的,这就是问题所在):
notifications:
slack:
secure: xxxxxxxxxxxxxxxxxxxxxx
你必须在加密命令之后手动编辑.travis.yml并添加房间,所以正确的是:
notifications:
slack:
rooms:
secure: xxxxxxxxxxxxxx
答案 2 :(得分:1)
您需要为要包含在通知中的每个松弛通道运行以下加密命令。 确保保留每封安全加密邮件的副本,因为该命令会在每次运行时覆盖travis.yml
。
travis encrypt "account:token#channel1" --add notifications.slack.rooms
travis encrypt "account:token#channel2" --add notifications.slack.rooms
最后按以下格式添加每个频道的令牌:
notifications:
slack:
rooms:
- secure: secure_token_for_channel1
- secure: secure_token_for_channel2