2015-06-25 28 views
5

特拉維斯-CI通知上鬆弛的在線文檔說:如何在加密令牌時覆蓋Travis-CI通知中的Slack頻道?

重寫通道也是可以的,只是它以#從帳戶和令牌分開它們添加到配置。

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

但是,如果我想加密憑據的方式建議:

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

會工作得很好。但是,當我嘗試:

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

我得到一個新的加密令牌,但該通知來的在積分時間設置默認通道。我究竟做錯了什麼?

注意:我們使用企業版本的任何東西(Slack,Travis,GitHub),以防這可能會發揮作用。

回答

5

命令不是正確,它最後缺少.rooms屬性。它應該是

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

encrypt命令是正確的:

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

但.travis.yml裏面的結果將是(錯了,這就是問題所在):你必須編輯

notifications: 
    slack: 
     secure: xxxxxxxxxxxxxxxxxxxxxx 

.travis.yml手動加密命令後並增加房間號,所以正確的是:

notifications: 
    slack: 
    rooms: 
     secure: xxxxxxxxxxxxxx 
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