5

Slack 上 Travis-CI 通知的在线文档说:

也可以覆盖通道,只需将其添加到配置中,并用 # 将它们与帐户和令牌分开。

notifications:
  slack: '<account>:<token>#development'

但是,如果我想按照推荐的方式加密凭据:

travis encrypt "<account>:<token>" --add notifications.slack

会工作得很好。但是当我尝试时:

travis encrypt "<account>:<token>#development" --add notifications.slack

我得到了一个新的加密令牌,但通知来自集成时设置的默认通道。我究竟做错了什么?

注意:我们使用所有东西的企业版本(Slack、Travis、GitHub),以防这可能发挥作用。

4

3 回答 3

6

该命令正确,最后缺少该.rooms属性。它应该是

travis encrypt "account:token#channel" --add notifications.slack.rooms
于 2016-03-08T22:25:03.987 回答
2

加密命令是正确的:

travis encrypt "account:token#channel" --add notifications.slack

但是 .travis.yml 中的结果将是(错误的,这就是问题所在):

notifications:
    slack: 
       secure: xxxxxxxxxxxxxxxxxxxxxx

您必须在 encrypt 命令后手动编辑 .travis.yml并添加 rooms,所以正确的是:

notifications:
  slack:
    rooms:
      secure: xxxxxxxxxxxxxx
于 2015-09-02T13:51:23.897 回答
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
于 2017-02-24T18:19:11.997 回答