2019年3月5日火曜日

Hubotの設定

概要

仕事のSlackのワークスペースを作成したので、そこにbotを使って作業効率を上げようと考えた。実際のところ、チャネルごとに発言をしてハッシュタグのようなゆるい分類を入れる仕組みが作りたい。以下のサイトのようなもの。

Slackにハッシュタグ的な「ゆるく情報をまとめる方法」が欲しかった話 - コネヒト開発者ブログ

そのためには、hubotをHerokuにデプロイして、CoffeeScript(かJS)でbotを記述しないといけないようだ。色々調べながらチャレンジ。


Hubotのドキュメント(英文)



Windows 10のネイティブでビルドしたためnode.jsやgitはChocolatelyパッケージマネージャを使った。
そのため、HubotのAPIキーを環境変数にセットする際に、管理者権限を持つPowerShellでセットする必要が出た。長いコマンドで面倒^^;

[System.Environment]::SetEnvironmentVariable("HUBOT_SLACK_TOKEN","HubotのAPIキー")


このWindowsでの環境変数のセットについては以下のサイトに説明がある。
WSLをインストールしてbashで操作したほうがよっぽど楽だ。

以下、slackのアダプタ実行(ローカルテスト)とherokuのアプリとの連携(?)
.\bin\hubot --adapter slack
heroku git:remote -a hubotuse2

ビルドの際にnode.jsとnpmのバージョンをローカルPCのものに統一する
  "engines": {
    "node": "11.10.1",
    "npm": "6.7.0"
  }

git add .\package.json

以下、botのスクリプトをVSCodeで編集&保存した後にデプロイする流れ。
git add .\scripts\hubotuse2.coffee
git commit -m 'コミットの際のメッセージ'
git push heroku master


botスクリプトはCoffeeScriptで書くのが普通らしいので、文法などを調べた
Gitのコマンドも忘れがちなのでこちらなどを見た。


Slackとhubotに関する以下のサイトもメモとした残しておく。
hubotスクリプトの書き方とサンプル集 | mitc
hubotを用いた楽しいslackLife(入門編) - akiranetの日々淡々と頑張っていこう

hubotの永続化について。無料のHerokuサービスでスリープしない指定方法
hubotをherokuにデプロイして、slackと連携してみた|オーマイガー東京
hubot-scripts/hubot-heroku-keepalive: A hubot script that keeps the hubot Heroko web dyno alive 



0 件のコメント:

コメントを投稿