目的:自動でハウツー記事をTeamsチャネルで共有したい
やりたいことは以下の通り。
Confluenceで先週作成されたハウツー記事※を毎週月曜日PM12時にTeamsチャネルへ投稿したい
というのも、Confluenceをチームに導入したはよいものの、誰がいつどんなハウツー記事を作成しているのかわからず、チームのノウハウをうまく活用できていないという悩みがあるからです。先週作成されたハウツー記事が毎週Teamsに投稿されることで少しでも認知度を上げようというのが狙いです。
※私のチームでは、ハウツー記事にデフォルトで用意されている「kb-how-to-article」ラベルをつけています。
本記事では、先週作成されたConfluenceページのうち、「kb-how-to-article」ラベルがついたものだけをTeamsに定期的に自動投稿する方法を紹介していきます。
環境・バージョン情報
- Windows 11 Pro
- Confluence:Premiumプラン
- Teams
- アプリのバージョン:24335.208.3315.1951
- クライアントのバージョン:49/24120100217
- Microsoft 365 Business Standard等組織アカウントが使えるライセンス(たぶん個人アカウントは本記事の方法は使えない)
解決方法:Confluenceの自動化ルールとTeamsワークフローを組み合わせる
TeamsでConfluenceからのWebhookリクエストを受信したら任意のチャネルに投稿するワークフローを作成しておく。
投稿したいチャネルを右クリックし、その他のオプション>ワークフローを開く。

テンプレートから「Webhook リクエストを受信したときにチャンネルに投稿する」を選んでフローを新規作成する。




生成されたWebhookのURLはSTEP5で使用する。
Confluenceで、グローバル設定(歯車アイコン)>自動化>ルールを作成 の順にクリックする。


以下の通りに設定する。
- 開始日:現在の日時(デフォルト)
- 終了日:終了日なし(デフォルト)
- ルールを次の間隔で実行:1週、月曜、12:00 PM、Asia/Tokyo

「ページの検索」アクションは、対象のスペース内を条件で検索して最大150件のページをリストに保存してくれて、結果のリストは{{lookupPages}}
というスマート値で呼び出すことができます。

以下の通りに設定する。
- 作成日:作成日が次より後、1週間前


以下の通りに設定する。
- Webhook URL:STEP1で生成されたURL
- メッセージのタイトル:
先週作成されたハウツー記事
- メッセージ:
{{#lookupPages}}
{{#if(labels.name.join(",").match(".*(kb-how-to-article).*").isNotEmpty())}}
1. [{{title}}]({{url}}) by {{author.fullName}}
{{/}}
{{/}}
※matchの引数で絞りたいラベル名を指定しています。私のチームではデフォルトで用意されているラベルをハウツー記事としています。
実行するとTeamsに以下のように投稿されます!

まとめ
本記事では、Confluenceの自動化ルールとTeamsワークフローを組み合わせることで特定のラベルがついた記事(ハウツー記事)をチャネルに定期投稿する方法を説明しました。
これでチームメンバーには毎週月曜日に先週作成されたハウツー記事をざっと一覧眺めてもらうところから始めてもらい、徐々に認知度、ノウハウ活用を活発化させていきたいなと思います!
今回説明した方法を応用すれば複数ラベルでも絞り込みできると思うので、ぜひ参考にしみてください。
コメント