ChatからGitHub Issueをつくる

最近EllenというChatterbotをつくってて、その拡張でEllen::Githubというのをつくった。Private ChatなどでGitHubのAccess Tokenを教えると脳に記憶してくれて、依頼すると指定したレポジトリにGitHub Issueを登録してくれる。脳に保存された記憶はEllen::Redisを利用して定期的に永続化される。最近Slackに乗り換えたのでEllen::Slackを使ってSlackでEllenを動かしている。

いま動いているBotのコードはr7kamura/tqbotに置いていて、masterにpushするとTravisCI経由でHerokuにデプロイされる。SlackのGitHub, Travis, Heroku連携でコードがmasterにpushされてからHerokuにdeployされるまでの様子が可視化されてる。上の図はEllen::Githubを導入したときの様子。Travisの存在忘れてて手動でHerokuにデプロイしたら、後からTravisでCIが通って再度追いデプロイされた。コードと言っても実装は無くてGemfileしか編集するところは無い (設定には環境変数を使う)。もし面白拡張Gemみたいなのが開発されたときに、Pull Request経由で追加依頼を出してもらえば拝承してMergeボタンを押すだけでデプロイされるという形にしたかったのでこういう感じにした。

これは自宅での使われ方です。