App Storeのアプリがバージョンアップされたかを検知するpythonスクリプトを作成してみた

App Storeのアプリがバージョンアップされたかを検知するpythonスクリプトを作成してみた

App Storeのアプリがバージョンアップされたかを検知するpythonスクリプトを作成してみた

こんな需要があるのかわかりませんが、自分が欲しかったので試行錯誤しながらつくってみました。

なんでこんなものをつくったのか

MDMツールとしてLanscope Anを導入しているのですが、このMDMは自動アップデートに対応していません。
ユーザーにやらせればいいじゃん。と思ったそこのあなた!ユーザーにはインストール権限もなければアンインストール権限もないという、DEP + VPP + MDM + 機能制限というとても豪華な構成なのです(笑)

で、某アプリがですね。バージョンアップしてくださいますと最新版以外はログインできなくなるというクソ素晴らしい仕様なのです。
Lanscope Anからアップデート配信をすることは可能なのですが、バージョンアップ自体にそもそも気づかないためユーザーからの申告で把握することが多く面倒だなと思っていました。
そこで、pythonを利用したらスクレイピング簡単にできるって聞いたことあるしいけるんじゃね?と思い立ちやってみました。

必要なパッケージのインストール

バージョンアップ確認Pythonスクリプト

下記のようなスクリプトを作成しました。こちらのスクリプトはPython2.7で確認しています。
スクリプトを配置した場所と同じ階層にtmpディレクトリを作成してください。

 

内容としては、
更新日付のタグを取得し、テキストファイルとして保存
before afterで保存したファイル内容を比較し、内容が一致していなければバージョンアップがされたものとみなしています。
App Store側の仕様が変わった場合にはそれにあわせてスクリプトの修正が必要になります。

スクリプト実行方法

下記のように引数をつけて実行します。(引数名適当すぎた・・・)
urlには、AppSotreのアプリページのURLをtxtにはこの実行結果を保存するための識別名をつけます。

通知結果

バージョンアップしていた場合には、TeamsのWebhookを呼び出し通知用チャットへ通知するようにしています。
こんな感じで通知がきます。
テスト的にZabbixと同じwebhookを使ったのこうなってますが気にしないでください(笑)

Titleタグをそのままもってきているため、「Microsoft Teams]をApp Storeで までが入ってきています。
ここは、「」だけを抜いてくるとかの処理を追加するともっと綺麗になりそうですね。

Google Playも少し応用すれば同じ形で通知できそうですね。

 

おまけ。Python3の場合のスクリプト

個人で契約しているVPS環境にはPython3をインストールしていたので、Python3でも動くようにいじってみました。

urllib3になってurlopenがなくなっていたりcertifiが必要になったりとちょこちょこ変更されています。
意味不明な代入している箇所がありますが、Python2をそのままいじった名残です。

参考URL

http://loudspeaker.sakura.ne.jp/devblog/2015/04/26/python-encoding-problem/

運用スクリプトカテゴリの最新記事

%d人のブロガーが「いいね」をつけました。