RSSをBacklogに自動で投稿する仕組みを作ってみた

AWS運用自動化サービス「Cloud Automator」

PS課の杉村です。RSSという仕組みは便利です。AWSに関して言うと、けっこう重要な情報がRSSで配信されていたりします。
日々のアップデート情報はもちろん、Redshiftのメンテナンス予告(新バージョンのリリース)等が配信されていたりするのです。

例えば以下のRSSフィードでは、Redshiftに関するアナウンス(新バージョンリリース情報含む)を取得することができます。
https://forums.aws.amazon.com/rss/rssannounce.jspa?forumID=155

RSSをBacklog課題に自動でコメントを追記する

弊社ではプロジェクト管理ツールとしてBacklogを使っています。(Redmineのようなもの。SaaS。)
このBacklogのチケットにうまいことRSSを連携させるため、Zapierという複数のSaaS等を連携させるためのサービスを使いました。
機能は限定されますが無料プランもあり、今回は無料プランを利用してみました。
Plans

今回は以下のような自動化の仕組みを実装しました。

  1. Redshiftに関する公式アナウンスのRSSが投稿される
  2. Zapierが1をトリガとして起動
  3. アクションとしてBacklog課題(=チケット)にAPI経由でRSSの内容を追記

1. Backlog APIキーの発行

BacklogのAPIを叩くためのキーを入手します。

Backlogにログインし、右上の自分のアバターをクリックして出るメニューから「個人設定」を選択。

左部のメニューから「API」を選択。
メモを入力して「登録」ボタンを押下。
下にAPIキー(ランダムな英数字の文字列)が出現するため、文字列をコピーします。

2. ZapierのZapの作成

Zapierのアカウントを作成します。ガイダンスに従えば、簡単に作れると思います。
右上の「Make a Zap!」ボタンを押下。
Zapとは「トリガ(何をきっかけとするか)~フィルタ(きっかけをフィルタする)~アクション(何をするか)」の設定のセットのことです。

トリガ(Zap発動のきっかけ)を選択します。
テキストフィールドにrssと入力するとサジェストされる RSS by Zapier を選択します。

New Item in Feedを選択します。(新しいFeedが来たら発動、という意味ですね)
Save + Continueを押下します。

Feed URLの欄にトリガにしたいRSSのURLを入力します。その他の欄は触らなくてもよいです。
Continueを押下します。

Item A/B/Cというのは後のステップでテスト投稿するときに使う、直近のRSS Feedです。右の▽を押すと展開されて内容が表示されますので、好きなサンプルを選びましょう。
Continueを押下します。

これでトリガの作成は完了です。次はアクションの作成です。
1. Your Zap currently lacks an Action step. Add one now!
というリンクをクリックし、アクション作成に移ります。

テキストフィールドにWebhookと入力するとサジェストされる Webhook by Zapier を選択します。
Webhookは任意のHTTPリクエストを実行できるアクションです。

POSTを選択し、Continueを押下します。(Backlogの課題追記APIはPOSTリクエストです)

URL欄に以下のように記載します。太字のyour-backlog-subdomain、your-ticket-key、your-api-keyの部分はお使いの環境・チケット名等に合わせて変更してください。

https://your-backlog-subdomain.backlog.jp/api/v2/issues/your-ticket-key/comments?apiKey=your-api-key

ここでは既存のチケットにコメントを追記するAPIとなっていますが、もちろん新規チケット起票等もできます。Backlog APIに関しては以下をご参照ください。
Backlog API とは

Payload TypeはBacklog APIの仕様に基づきFormとします。
contentには投稿に含めたい情報を入れます。右側の+ボタンを押すと、TitleやLink、DescriptionといったRSSの要素を追加することができます。テキストフィールド内で改行することで投稿内容にも改行を入れることができます。例のスクリーンショットでは「<Title>+改行++改行+」を入れています。
一番下までスクロールしてContinueボタンを押下します。

3. テスト投稿とZapの有効化

次の画面ではテストを実施することができます。
Send Test To Webhooks by Zapierを押下することで先ほどテスト用に選択したサンプルフィードを投稿することができます。
対象のBacklog課題をチェックすると、確かにコメントが追記されているはずです。

Finishを押下します。

次の画面でYour Zap is ONとします。
これで、RSSに配信があるとBacklog課題にコメントが追記されるようになります。

ポイント

・Zapierを利用することでRSSをトリガとするアクションを実行することができる
・BacklogはAPIでアクションを実行できるためZapierと組み合わせてRSSフィードの自動投稿が可能

AWS運用自動化サービス「Cloud Automator」