Slackでカウント機能
今回はSlackで簡単なカウント機能を作ってみたいと思います。
背景
私が何に使おうと思って作ったのかを簡単に書いておきます。
私の周りでは物品貸し出しや簡単な人材派遣を行っておりまして、
その返却日時や未完の管理をしたり、これまでに行ったサポート回数のカウントをしてモチベーションアップに繋げたいという狙いがありました。
ゴール
私と同じチームに所属していて使い方だけ見たいという方はこちらをどうぞ。
完成したものの使い方です。(作り方は下のほう参照)
◆サポート依頼が来たらSlackに入力
Slackの指定チャンネルに以下のおまじないを入力(物品の場合)
! 物品 物品名 PJ名 詳細 期限
具体的には、
! 物品 プロジェクター PJ名 イベント利用 5/19
こんな風に書きます。*1
物品以外にも、
! 人材派遣 PJ名 内容 詳細
! ネット管理 PJ名 内容 詳細
といったおまじないがあります。
◆Slackに入力したらbotから返事が!
上のようにSlackに入力すると、
こんな風にbotから返事がありました。
サポート番号は後で使うので、サポートを請け負った人は覚えておきましょう。
◆終わったら忘れず書き込もう
貸し出していた物品が帰ってきたり、サポートが終了したら
サポートを登録した人はSlackの指定チャンネルに以下のように記入しましょう。
fin b サポート番号
2番目の"b"は物品を表しており、
・人材派遣なら、"j"
・ネット管理なら、"n"
を記入しましょう。
すると、
こう言って労ってくれます。
◆入力内容はここで管理している!
入力内容はスプレッドシートで管理されており、
こんな風になっています。
サポートが完了し、Slackに入力されると右端のセルに○が入力されます。
つくりかた
ここからは上の機能のつくりかたを解説したいと思います。
私たちのチーム以外で直接この機能を使うという方はほとんどいらっしゃらないでしょうが、Slackへの入力をつかったカウント機能や、Slackとスプレッドシートの連携技など参考になるところがあれば幸いです。
◆材料
・Slack
・GoogleAppsScript
・Outgoing WebHooks
◆投稿内容が書き込まれるスプレットシートを準備する。
適当にスプレットシートを作ります。作ったスプレッドシートのURLの
spreadsheets/d/(ここ)/edit#gid=123456789
(ここ)の部分をコピーして控えておきます。
これがスプレッドシートのidで、後でプログラム側から呼び出すために使います。
◆GAS(GoogleAppsScript)の準備
GoogleDriveで「左上の「新規」を選択→その他→アプリを追加」からGoogleAppsScriptを追加しておきましょう。
一度追加するとGoogleドキュメントなどと同じように「新規」からGASのプログラムを作れるようになります。
GASで新規作成して、プログラムを打つ前に以下の設定をしておきましょう。
①ライブラリの追加
上のタブのリソース>ライブラリ を選択して以下のキーを入力します。
Key:M3W5Ut3Q39AaIwLquryEPMwV62A3znfOO
参考:
次に
ファイル>プロジェクトのプロパティ>スクリプトのプロパティ で、
「行を追加」を選択して、
左側:Slack_Access_Token
右側:下のURLから取得したToken
※この機能を追加したいチームのTokenを取得
コードには以下のURL先にあるsupportの内容をコピペして、適宜(括弧書き)しているところを埋めてください。
ここまでできたら,上のタブの 公開>ウェブアプリケーションとして公開 から公開し,URLをメモしておきましょう.
同じ要領でもう一つGASプログラムを作ります.
今度は上のURLのsupportfinを使いましょう.
◆Slack側の準備
次に自分のSlackチームのメニューを開いて、Apps & integrations を選択。
こんな画面が出たら、「OutgoingWebHooks」を検索。
Add Configurarionを選択。
次のページでAdd integrationを選択して設定画面に移ります。
Channel :Slack側でカウントにつかう入力を取りたいチャンネル
Trigger Word(s):Slackでの投稿の先頭にこの文字が来ていたらカウントプログラムを
発動させるよという記号。例えばここでは!を指定しておきます。
URL(s) :先ほど取得したURL先のGASのプログラムが走ります。
この操作をURLを変えて2回行います.
以上で作業は終了です.
是非やってみてくださいね.
*1:最初の!は半角でも可、文字間のスペースは半角