1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

ボタンクリック時にslackにメッセージを投稿する処理をzapierのwebhookを使って自動化してみた

Last updated at Posted at 2020-12-24

#実現したいこと
ボタンクリック時にzapierに飛んで、Aボタンを押した時はslackのchanelAへ、Bボタンを押した時はchanelBへメッセージを投稿する機能。

##trigerの選択
まずはtrigerとなるツールを選択します。
今回の場合は以下のwebhookを選びます。
スクリーンショット 2020-12-24 13.13.45.png

###choose an event
今回はCatch Hookを選択。

###set up trigger
この時点でエンドポイントを自動生成してくれるので、このURLを保存しておきます。

###test trigger
triggerがちゃんと機能するかここでチェックしておきましょう。
先ほど取得した[エンドポイント + "?key=value"]にアクセスしてみてください。(クエリごとに処理を変えるため、クエリパラメータをつけましょう。)
その後テストを確認してみると、以下のようにquerystringが取得できていればok。(今回のクエリパラメータは"?type=hoge")
スクリーンショット 2020-12-24 13.35.08.png

##actionの選択
一つの処理のみしたい場合はそのままslackを選択すればいいのですが、今回の場合はボタンごとに処理を分岐させたいのでPathを選択しましょう。
スクリーンショット 2020-12-24 13.24.51.png

###分岐条件の設定
分岐の名前をつけて、今回の条件を設定しましょう。typeがAと完全に一致するときにこの分岐に入ります。ボタンクリック時には"type=A"とクエリパラメータを指定してあげます。もう一方の分岐も同様です。
スクリーンショット 2020-12-24 13.26.50.png

###Actionの設定
slackを選択し、action Eventにsend Channel Messageを指定。
あとは、アカウントを指定し、送りたいチャンネルとメッセージを記述すればok。

#参考
今回エンドポイントトリガーとして使用したサンプルコードを記載しておきます。

sample.html
<!DOCTYPE html>
<html>
  <head>
    <title></title>
    <script src="https://cdn.jsdelivr.net/npm/axios/dist/axios.min.js"></script>
    <script language="javascript" type="text/javascript">
      function OnButtonClick(type) {
        axios
          .get("endpointを記載してください", {
            params: {
              type: type,
            },
          })
          .then(function (response) {
            console.log(response);
          })
          .catch(function (error) {
            console.log(error);
          });
      }
    </script>
  </head>
  <body>
    <input
      type="button"
      value="send A to slack"
      onclick="OnButtonClick('A');"
    /><br />
    <input
      type="button"
      value="send B to slack"
      onclick="OnButtonClick('B');"
    /><br />
    <br />
    <div id="reusult"></div>
  </body>
</html>

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?