おじさんのブログ

おじさんになってからPython、GAS、SEOなどを学習した内容をアウトプットするブログです。

GASでスプレッドシート→slack投稿の改修

前回やったコードだと以下のような課題があったため改修してみたのでその記録。

  • slack投稿しなくて良いステータス変更は投稿しないようにしたい
  • 一部のslack投稿ではメンションを飛ばしたい
  • ステータス”完了”時に日付がスプレッドシートに記入されるようにしたい

slack投稿しなくて良いステータス変更は投稿しないようにしたい

これはif文で条件分岐すれば良いとはわかるが「いずれかの条件を満たすとき」の書き方がわからなかった。 結局、特定のステータスになったときのフラグを0,1にしてスプレッドシート上の関数で分けて、それをGASで判断するというやり方になったが、これはスマートでないのは素人にもわかる。

同じことをやるにしても、GAS上でやった方が良さそう。 もしくは↓のようにsomeメソッド?を使う? 方がスマートかもしれない雰囲気。

GASで列データの配列に特定の値が含まれているかを判定するsomeメソッドの使い方

今後も同じようなことは必要となりそうなので、もっとちゃんと勉強した方が良さそう。

一部のslack投稿ではメンションを飛ばしたい

メンションを飛ばすのに”@hogehoge"ではダメと知り、↓のように書けば良いと学んだ。

SlackのIncoming Webhooksでメンションを飛ばす方法 - Qiita

これもスプレッドシート上にUSER_IDのテーブルを作って、スプレッドシートの関数でなんとかしたが、これももっと良いやり方がありそう。

ステータス”完了”時に日付がスプレッドシートに記入されるようにしたい

setValueメソッドでセルの入力をする、New DATE()で今日の日付を取得する、を組み合わせることでいけた。 シンプルだけど、これを自動化できると割と省力化&抜け漏れ防止につながった。