日頃の行い

個人的な日頃の行いをつらつら書いてます\\\\ ٩( 'ω' )و ////

Travis CIからSlackに通知できなくて困った

個人のレポジトリからタイトル通り通知させようとしたら全然できなくて困った話です。
結論Slackのドキュメントが少し古いのか間違っていて、
.travis.ymlに生成される設定が間違ったものになってしまうことが原因でした。

Slackの設定(間違ってるやつ)

TravisCIのSlackの設定はここですね。
https://my.slack.com/apps/A0F81FP4N-travis-ci

追加しようとするとこんなコマンドを打ってねと出てきます。
accountの部分が間違ってるのかと思ったんですが、URLのslack.comの前のやつでいいみたいですね。

travis encrypt "<account>:<見せられないよのやつ1>" --add notifications.slack

このコマンドだとこんなのが生成されます。

 notifications:
  slack:
    secure: 見せられないよのやつ2

ここで便利だったのが travis lint というコマンドで、間違ってる項目がある場合教えてくれます。

$travis lint
Warnings for .travis.yml:
[x] in notifications.slack section: unexpected key secure, dropping

そんなものはないからdropしたよって話でした。
つらい。

Travisのドキュメント(合ってるやつ)

TravisCI上のドキュメントを読むと正しいコマンドがあって、 roomsを付ける必要があるようです。

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

docs.travis-ci.com

notifications:
    slack:
        rooms:
            secure: 見せられないよのやつ3

lintも試しに見てみると大丈夫そうです。

$travis lint
Hooray, .travis.yml looks valid :)

その後pushしたら通知されました。
でめたしでめたし。
その後一応Slackにも問い合わせしたので、もしかしたらこれを見てることには直っているかもしれません。