はじめに
先日、以下のような記事を投稿しましたが、発展版となります。
上記のフローを実際に稼働させていたところ、新規フォルダを作成するとそのアナウンスが、さらに新規フォルダ内にファイルをアップロードするとそのアナウンスが投稿される使用であると判明しました。
つまり、以下の状況のいずれでもフローが開始し、チャネルにアナウンスがされます。
- ファイルがアップロードされる
- 新規フォルダが作成される
- 新規フォルダ内にファイルがアップロードされる
例えば、フォルダを新規作成(1回目のアナウンス)し、新規作成したフォルダ内にファイルを3つアップロード(3回アナウンス)すると、合計4回アナウンスされてしまいます。
フォルダが作成された時はフォルダのアナウンスだけでいいので、その点を改良しました。
フロー
試行錯誤した結果、以下のようなシンプルなフローに改良できました。条件式を追加しただけです。
条件式
条件式を以下のように設定するだけです。
アップロードされたファイルor新規作成したフォルダの親フォルダのパス(条件式左側)がトリガーとして監視しているフォルダのパス(条件式右側)と一致するかどうかを判別しています。
一致していれば(True)、以降のフローが続きチャネルにアナウンスします。一致しなければ(False。例えば新規作成したフォルダ内へのファイルアップロード)、何もしません。
これでファイルのアップロードもしくはフォルダの新規作成の場合のみチャネルにアナウンスがされます。
新規作成したフォルダ内にファイルをいくらアップロードしようとも、条件式で弾かれるのでチャネルにアナウンスがされることは無くなりました。
さらに発展版
ファイルがアップロードされた場合と、フォルダが新規作成された場合でアナウンスの内容(本文)を変えたい場合もあると思います。その場合は、さらに条件式を追加しましょう。
条件式
1段目の条件式で、フォルダであるかどうかを判別するようにすればオッケーです。
フォルダである場合(True)、以降のフローが続きチャネルにアナウンスがされます。
フォルダでない場合(False。ファイルの場合)、2段目の条件式に入り、先述の親フォルダのパスとトリガーで監視しているフォルダのパスを比較します。
あとは投稿アクションの中身をそれぞれで書き分ければ、ファイルがアップロードされた場合と、フォルダが新規作成された場合でアナウンスの内容(本文)を変えることができます。
おわりに
フローを作成してドヤ顔で実装しましたが、問題点が出てきたので解決しました。
まぁ、一発でうまくいくことは無いですよね!
それでは、次の記事でお会いしましょう('ω')ノ