KATOエンジニヤリング開発日誌

「アウトプット無きエンジニアにインプットもチャンスも無い」の精神で書いています

ConoHa APIをつかって「お知らせ」を定期的に確認する - API 調査編 -

以前にもブログに書いた通り、株式分析基盤はConoHa VPS上で稼働しています。

www.kato-eng.info

VPSのような他社リソースを使用する場合、メンテナンス情報や障害情報を定期的に確認する必要がありますが毎回ConoHaにログインして「お知らせ」を確認するのは面倒なのでConoHa APIを使用して「お知らせ」を取得しSlack通知する仕組みを作りました。

やりたいこと

しばらくConoHaにログインしないで「お知らせ」を確認しないでいると画像のように「お知らせ」が溜まってしまい、確認する気が削がれてしまいます。

f:id:masayuki_kato:20190706155900p:plain
ConoHaのお知らせ。現在は17件溜まっている。

なので「お知らせ」のタイトルをSlack通知しつつ

f:id:masayuki_kato:20190706160328p:plain
Slack通知

「お知らせ」のステータスを「既読」にするようなAPIを使用しました。

f:id:masayuki_kato:20190706160446p:plain
お知らせ件数が消えた

使用するAPI

トークン発行

各種ConoHa APIを実行するのにトークンが必要になります。

www.conoha.jp

必要なパラメータとしてユーザー名、ユーザーパスワード、Tenant IDがありますが、これらは下記ドキュメントを参照してください。

support.conoha.jp

告知一覧取得

先ほど取得したトークンを用いて告知(お知らせ)の一覧を取得します。

www.conoha.jp

レスポンス値の「read_status」が「Read」になっていないお知らせの「title」を一覧にしてSlack通知するようにします。

毎回全件取得すると膨大な数になってしまうので、「limit」の項目を使用して適当な件数を取得するようにします。

告知既読・未読変更

「お知らせ」のタイトルさえ見れば重要な情報の判別がつくので、必要な情報は後ほど詳細を確認するとして大抵の情報は無視していいものです。

上記「告知一覧取得」で取得した「お知らせ」のステータスを全て「既読」に変更してしまいます。

www.conoha.jp

そうするとConoHaにブラウザからログインした際のお知らせ件数が溜まることなく運用できます。

次回予告

実装は長くなってしまうので次回に解説と一緒に公開します。

※ Githubには既に公開済みです

github.com