### ユーザーストーリー : PO 誰の : **カイタクのサービス運営者** として、 何を : **アクセス時情報のリアルタイム把握** をしたい。 なぜ : なぜなら **クリック後まもなく電話をかけることによって、アポ獲得率が向上する** からだ。 #### 受け入れ基準 - リダイレクトURLをクリックした際に【イメジン本体slack】の適切なチャネルに通知がなされること - 通知先のチャネルについては、佐藤ともきさんと相談して決定すること - 通知時のメッセージには「メッセージ雛形」の形式となっていること #### メッセージ雛形 ``` コールオプション案件のURLが開かれました クライアント名: Wur株式会社 様 送信先会社名: 株式会社 ディーメイク 様 送信先電話番号:080-0000-0000 開かれたURL: https://form.run/@tayoreru ``` ※電話番号が登録されていない場合はブランクとしてください。 #### PO のメモ 通知先チャネルについては開発時に佐藤ともきさんご相談ください。 #### 開発チームのメモ ### やること - 画面要素 - なし - 機能 - リダイレクトURLがクリックされた時にslackに通知する - アクセスログの作成をトリガーとする - .envにslackのWEB_HOOK_URLとチャンネルのURLを設定する - slackに通知する時のメッセージのテンプレートを作成する - slack通知のメソッドを呼ぶときに引数にターゲットの情報を渡す - slack通知のメソッドでは引数で受け取ったターゲットの情報をメッセージに埋め込む - [参考記事](https://qiita.com/YutaO/items/19140ece6ad399350a36) 👈slack通知のメソッドを置くディレクトリはコントローラ以外に変更する - slack連携 - WEB_HOOK_URLの取得 - [参考記事](https://slack.com/services/new/incoming-webhook) - 通知先のチャンネルの確認 - 佐藤ともきさんに確認する - `kaitak-notification_redirect`に決定 ### 開発上のタスク - **フロント** - なし - **バックエンド** - [x] Gemfile - [x] dotenv-rails(追加済) - [x] slack-ruby-client追加 - [x] .envファイル作成 - [ ] `WEB_HOOK_URL`の設定 - [ ] 通知先のチャンネルのURL設定 - [ ] アクセストークンの設定 - [x] `lib/utils/slack_utility.rb` - [x] `slackUtility`クラスを作成 - [x] `initilize`メソッドを定義してトークンをセットする - [x] `send`メソッドを定義 - [x] `channel`と`text`を引数で受け取る - [x] `controllers/targets_controller` - [x] slackに通知するメッセージのテンプレートを作成する - [x] 電話番号が記載されていない場合はブランクとする - 👇雛形 ``` コールオプション案件のURLが開かれました クライアント名: Wur株式会社 様 送信先会社名: 株式会社 ディーメイク 様 送信先電話番号:080-0000-0000 開かれたURL: https://form.run/@tayoreru ``` - **DB** - なし - **テスト項目(自動)** - フロント - なし - バック - アクセスログが作成されたタイミングでslack通知のメソッドが発火されているか - slack通知の引数にアクセスログが作成されたターゲットの情報が渡ってきているか - slackに通知するメッセージにターゲットの情報が埋め込まれているか - [x] API(RoR) - [x] controller - [x] `targets_controller.rb`修正 - [x] `slug`メソッドでアクセスログが作成されるため、作成後に`slackUtility`クラスの`send`メソッドを発火する - [x] lib - [x] `utils/slack_utility`作成 - [x] `slackUtility`クラスを作成 - [x] `send`メソッドを定義 - [x] `message`を引数で受け取る - [ ] テストシナリオ作成 - [ ] `spec/lib/utils/slack_utility_spec.rb` - [ ] Slack::Notifierのpingメソッドを呼び出す - [ ] `spec/requests/api/targets_request_spec` - [ ] `slug`メソッドで`slackUtility`の`send`メソッドが発火されているか - [ ] slackに通知するメッセージにターゲットの情報が埋め込まれているか - [ ] ターゲットの電話番号が記載されていない場合はブランクになっているか
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up