🐴

Workato:BoxのファイルをZip化してGoogleドライブにUpしたら通知

2021/12/21に公開

いつ役に立つかわからないけどw
Workatoだとこういうことも簡単にできるよって例です。

ざっくり流れ

  1. Boxからファイルを取得
  2. Zip化
  3. ZipをGoogleドライブにUp
  4. Slackに通知してファイルリンクをつける
    a). ボタン1を押したら...対象のファイルをブラウザで開く
    b). ボタン2を押したら...何もしない

作り方詳細

  1. Boxからファイルを取得
    Boxを選択してFileIDを入力
  2. Zip化
    [Files by Workato]を選択

    [Format]を選択、[File Name]を入力、[File Contents]にBoxの[File Contents]を選択
  3. GoogleドライブにUp
    [File contents]に 2. Zip化 の出力の[compressed_file_contents]を入力
  4. Slackに通知してファイルリンクをつける
    ボタン付きで投稿するのでHTTPアクションを選択

    各パラメータを入力
    • Method:Post
    • Request URL:https://slack.com/api/chat.postMessage
    • Request content type:JSON
    • Request headers:Tokenを入力。
    • Request body:以下JSONを入力。
      #{_('data.google_drive.xxxx.< name | id >')}となっている箇所はデータピルを選択する。
	
	{
  "channel": "YourChannel",
  "text":"",
  "blocks":[
        {
            "type": "section",
            "text": {
                "type": "mrkdwn",
                "text": "ファイルをUpしました!ᕕ( ᐛ )ᕗ
ファイルリンク:https://drive.google.com/file/d/#{_('data.google_drive.xxxx.id')}
ファイル名:#{_('data.google_drive.xxxx.name')}"
            }
        },
        {
            "type": "actions",
            "elements": [
                {
                    "type": "button",
                    "text": {
                        "type": "plain_text",
                        "text": "開く",
                        "emoji": true
                    },
                    "value": "non-open",
                    "action_id": "non-open",
                    "url":"https://drive.google.com/file/d/#{_('data.google_drive.xxxx.id')}"
                }
            ]
        },{
            "type": "actions",
            "elements": [
                {
                    "type": "button",
                    "text": {
                        "type": "plain_text",
                        "text": "何もしない",
                        "emoji": true
                    },
                    "value": "non-noaction",
                    "action_id": "non-noaction"
                }
            ]
        }
    ]
  ,     
  "unfurl_links": false
  }

設定するとこんな感じ

実行してみる

挙動

※Gifファイルがちょっと重たいので断念しました
[開く]ボタンを押したら...対象のファイルをブラウザで開く
[何もしない]ボタンを押したら...何もしない

Tips

Slackへ投稿する処理のボタンクリックでレシピを動かすには、対象botの [Interactivity & Shortcuts] 欄のRequest URLに、ボタンクリック後に動かしたいレシピのWebhookURLを入力して保存しておく

▼参考
https://blog.cloudnative.co.jp/9512/#co-index-17

Discussion