見出し画像

IFTTT自動投稿設定の誤爆とCYBOZU SUMMER BLOG FES '24

こんにちは。サイボウズ株式会社 開発本部 People Experienceチーム コネクト支援チームの貴島(@jnkykn)です。コネクト支援チームでは、Xのアカウント@CybozuInsideOutを運用管理しています。エンジニアの登壇や、イベント告知、新着ブログ記事公開など、Webサービスの連携ができるIFTTTを使って自動投稿をしています。それ以外に関係者に投稿内容を確認しながら、手作業で投稿することもあります。今月1日に始まった「CYBOZU SUMMER BLOG FES '24」(以降、BLOG FES '24)の新着記事投稿のご相談をうけて自動化設定をした際の失敗など、その顛末を書きます。

自動化したい

BLOG FES '24運営メンバーの一人@sajikixさんから、参加記事について、@CybozuInsideOutからSNS投稿ができるかご相談を受け、その対応について検討しました。すでにBLOG FES '24特設サイトをご覧になっている方はご存じのことと思いますが、BLOG FES '24では、20日間に合計100本近い記事が公開されます。公開のタイミングも様々で、勤務時間外や休日にも公開が予定されている記事があります。これを、記事が公開されたら、タイトル、公開URL、ハッシュタグを付けて人手で投稿するのは大変です。一昨年の暮れに開催した「Cybozu Advent Calendar 2022」では、記事が公開される前から、記事のタイトル、URLが決まったか、メンション有無など個別に確認してチームのメンバーが手作業で投稿していました。投稿前の個別確認は相手によってレスポンスが異なり、スムーズなときもあれば、いつまでたっても投稿内容が決まらないこともあり、予想を超える負担に苦しみました。「もう、Advent Calendarはやりたくない」という気持ちになったくらいです。次にこのようなイベント用の投稿をするなら、自動化したいと考えていました。

多重投稿を避けたい

ご相談をいただいてから、BLOG FES '24開始まで、あまり日にちがなかったので、既存のX投稿用のAppletを参考に、BLOG FES '24の各ステージごとに投稿するAppletを追加しました。TriggerになるRSS Feedにフィルタ条件を追加することで、通常の記事公開とBLOG FES '24参加記事の投稿を分けようという考えました。BLOG FES '24参加記事公開の投稿には、記事が参加しているStageを含み、#CybozuSummerBlogFes2024のハッシュタグをつけて投稿して、BLOG FES '24に参加していない記事の新着記事公開の投稿とは区別できればスパム投稿扱いされなくて済むと思いました。
TriggerにFilter Codeを追加したX投稿Appletの実績もあったので、それを参考にできそうでした。投稿記事のルールで冒頭に「この記事はCYBOZU SUMMER BLOG FES '24({stage name}) Day{d}の記事です)」と記載されることがわかっていたので、これをFilter Codeの条件として設定すれば、BLOG FES '24に参加している記事と、それ以外の記事に振り分けられそうです。

大失敗

さて、大急ぎで、はてなCybozu Inside Outブログ(Frontend Stage)、CYBOZU SUMMER BLOG FES'24(kintone Stage)、CYBOZU SUMMER BLOG FES'24(Garoon Stage)、CYBOZU SUMMER BLOG FES'24(Newcomer Stage)、CYBOZU SUMMER BLOG FES'24(Agile/Scrum Stage)、CYBOZU SUMMER BLOG FES'24(QA Engineer Stage)、CYBOZU SUMMER BLOG FES'24(クラウド基盤本部 Stage)、CYBOZU SUMMER BLOG FES'24(Design Stage)のX投稿用のAppletを追加して、対応することにしました。各Appletに追加したFilter Codeで、"CYBOZU SUMMER BLOG FES"かつ◯◯Stageの文字列があったら、◯◯Stageの新着記事公開と投稿されることを期待していました。

IFTTTに追加したCYBOZU SUMMER BLOG FES '24用のApplet一覧の一部
追加したAppletの一部(実際には、10個のAppletを追加した)

慌てるのは良くない

土日はこれで、自動投稿ができるはずでした。しかし、土曜日の朝、微妙に文章が異なる8件の投稿が、ほぼ同時に投稿されてしまいました。
休日ではありましたが、うまく投稿されるか気になっていたので、Xの通知で気が付きました。社内でも指摘してくださるかたがいて、「すぐに対策しなくては!」と、不要な投稿を削除したり、Appletの設定を確認して修正をしました。

Triggerの選択ミスの修正(その1)

原因は、RSS Feedをキーワード条件付きで処理するためには、New feed item matchesを選択して、Keyword or simple phraseに条件文字列を設定しなければならないのに、New feed itemを選択していたことです。投稿条件として「Filter Code」を設定していても評価されず、新着feedがすべて投稿対象になってしまっていました。"CYBOZU SUMMER BLOG FES"有無で振り分けたつもりが、できていなかったのです。そこで、Triggerを作り直し、New feed item matchesにして、Keyword or simple phraseに"CYBOZU SUMMER BLOG FES"を設定しました。続くFilter Codeが正しく評価されれば、各Stageごとに投稿されるはずです。実際、Triggerの修正後に公開されたnote記事公開では、期待通りの投稿がありました。(2種類のnoteマガジンに追加されたBLOG FES '24参加記事なので、3種類、合計3件の投稿)

Cybozu Product Designマガジン追加をTriggerにした投稿

Cybozu Product Design Magazineマガジン追加をTriggerにした投稿

CYBOZU SUMMER BLOG FES '24のキーワードが一致したDesign Stageの記事

これで修正できたと思っていいたのですが、そんなことはありませんでした。

Filter Codeが評価されない

日曜日に、またしても少しずつ内容が違う投稿が、はてなブログの記事公開のタイミングで発生しました。このときも、休日ではあるものの、Xが気になっていたので、誤投稿に気が付き、取り急ぎ、Stage違いの記事を削除しました。実行ログを見ると、TriggerのFilter Codeが評価されていませんでした。つまり、はてなのCybozu Inside Outブログの新着記事が、対象のStageのキーワードに一致したかどうかの評価がされず、参加Stage以外のものを含み6件投稿されていたのです。それなら、TriggerのKeyword or simple phraseに、Stage名も含むようにすれば、そこで判定されるのでは?

今度は、BLOG FES '24の新着記事公開が投稿されない

TriggerのKeyword or simple phraseに、各Stage名を追加したところ、今度ははCybozu Inside OutブログBLOG FES '24参加記事公開の投稿がされなくなってしまいました。Stage名までを含むと、長すぎて文字列検索できないのかもしれません。

シンプルにいこう

誤投稿するよりは、確実であることの方が大切だと感じたので、Cybozu Inside OutブログのRSS Feedに"CYBOZU SUMMER BLOG FES"が含まれている場合は、BLOG FES '24の新着記事公開と、Cybozu Inside Outブログの新着記事公開の2種類が投稿されるようにしました。そのまま連投されると、あまり効果も無さそうですし、スパムっぽさがあるので、従来の新着記事公開から2時間後にBLOG FES '24の新着記事公開が投稿されるように調整しました。

IFTTTのテストがしたい

Zapierはドライランができるそうなのですが、IFTTTはぶっつけ本番しかありません。「Triggerの条件が正しく評価されていることを、事前に確認したいのに、できないので怖い」という話を西原(@tomio2480)さんにしたところ、「Triggerの条件が意図したものと合っているかどうか、Xに投稿するんじゃなくて、自分のDiscordに投稿するようにしてテストしてましたよ」と、助言をいただくことができました。これは、良さそう!IFTTTのテスト実行用にDscordサーバを立てようと思います。

CYBOZU SUMMER BLOG FES '24開催中です

結果的に、自動投稿は、もともとあった新着記事公開の投稿のあと、約2時間後にBLOG FES '24の新着記事公開の投稿がるように設定中です。今回は間に合わなかったのですが、今後のイベント開催に備えて、IFTTTの条件付きTriggerの設定方法のテストをして、自在に操れるようになりたいと思っています。

CYBOZU SUMMER BLOG FES '24は、現在絶賛開催中です。サイボウズのエンジニアの様々な記事が、公開されています。ぜひご覧ください。

この記事が気に入ったらサポートをしてみませんか?