GASとslackでヘルプデスクフォームを作った話(スラッシュコマンド版 準備編)
前回の記事で紹介した、GASとslackでヘルプデスクフォームを作った話(Googleフォーム版)の起点を、
Googleフォームではなくスラッシュコマンドから行うパターンの作成方法の紹介です。
重複する内容が多くあるので、slackアプリ作成の部分等は前回の作業の差分のみ書いていきます。
今回も準備編とコード編に分けて書きます。
動作の流れ
- ユーザーがslackのスラッシュコマンドを送信
- slack上にフォームが表示され、そこからヘルプ内容を投稿
- フォームの内容を、スプレッドシートに記録
- 質問した人をslackの専用チャンネルへ招待する
- フォームの内容を、slackの専用チャンネルにポストして、情シスへメンションを送る
事前準備
GASの準備
新しいプロジェクトを作成し、いったん保存します。
GASはスタンドアロン型でOKです。
作成したGASをWebアプリケーションとして公開します。
公開設定等を聞かれるので、次のように設定します。
Project version → New
Excute the app as → Me
Who has access to the app → Anyone , even anonymous
解説
コードを更新するごとに、都度公開する必要があります。
その時に、2回目以降はProject versionを手動でNewにする必要があります。
Excute the app asは、アプリの実行者です。
Who has asccess to the appはアプリにアクセス可能な人の設定です。今回はslackがリクエスト元になるので、誰でもOK(非ログイン状態でもOK)にしています。
Current web app URLは後で使用するので控えておきます。
スプレッドシートの準備
slackアプリの準備
Googleフォーム版と同様に作成し、追加で必要な設定を書いていきます。
スラッシュコマンドの作成
実行に必要なコマンドを作成していきます。
左メニューの「Slash Commands」→「Create New Command」
スラッシュコマンドのパラメータを設定していきます。
必須
Command → 実行したいときに打つコマンド
Request URL → さっき公開した、GASのURL(Current web app URL)
任意
Short Description → コマンドの簡単な説明
Usage Hint → コマンド以外にパラメータを入力させるときのヒント
アプリを再インストールしてくださいと言われますが、一旦無視します。(もう1点設定を変更するため)
Interactivity & Shortcutsの設定
Interactivityは、フォーム(ダイアログ)やボタン等からリクエストがあった時にどのURLにリクエストするか設定するものです。
そのためスラッシュコマンドを受け取って実行するGASと、フォームやボタンから受けたリクエストを処理するGASを分けることもできます(たぶん)
左メニューの「Interactivity & Shortcuts」をクリックし、右上のツマミを「On」にします。
今回は1つのGASでスラッシュコマンドもフォームの処理も行うので、
Request URLにGASのURL(Current web app URL)を入れます。
設定が終わったのでアプリをワークスペースに再インストールします。
左メニューの「Install App」→「Reinstall App」
許可を求められるので、投稿先チャンネル(ヘルプデスク用のチャンネル)を指定し、許可します。
アプリの準備はこれで完了です。