iTunes Connectにビルドをアップロードしてから、ビルドの処理中が完了するまでに30分以上かかることもありますよね。
待ち遠しくて、ついついブラウザをリロードしたくなりますが、確認するのは時間がもったいないです。
そこで、処理中が終わったことを通知してくれるようにして、無駄な時間を削減しましょう。
いくつかの方法を、紹介します。
メールで確認する
一番シンプルな方法です。
ビルドのアップロード後やビルド処理の完了時などにメールが送られています。
メールクライアントの通知機能で通知してもらうだけで、簡単にチェックできますね。
fastlane
fastlaneというビルドやリリースなどの面倒な作業をコマンドで実行できるようにしてくれるツールがあります。
ローカルの端末でfastlaneのアクションのupload_to_testflight
などを実行して、ipaをiTunes Connectにアップロードすると、コマンドが終了した時にはビルド処理中が終わっているので、そこで完了したかどうかを判断できます。
terminal-notifierを使って、コマンドが終了した時にmacの通知でお知らせしてくれるようにするのも便利です。
また、fastlaneにはビルド処理中を待つツールが別途用意されています。
それがwatchbuildです。
下記のコマンドを動かしておくと、ビルド処理中が完了したタイミングでmacの通知で教えてくれます。
$ watchbuild
一定間隔で処理が完了したかどうかチェックする仕組みになっています。
fastlaneを使った方法はとても便利ですが、CIサービスやCIサーバでfastlaneを動かすようにしていると、ビルド処理の待機で専有してしまうため、skip_submission
やskip_waiting_for_build_processing
などのオプションを有効にして、待機させないようにすることが多いと思います...
その場合は次の方法がおすすめです。
IFTTTやMicrosoft Flowで通知する
最初にメールが届くことを書きましたが、そのメールをトリガーに任意のアクションができるツールを使うと、通知や色々な自動化が捗ります。
例えば、Gmailを使っている場合は、IFTTTで簡単に設定できます。
IFTTT
My Appletsのメニューから、「New Applet」を選択するとこのような作成画面が出てきます。
「+this」を選択、続いて、Gmailのトリガーを選択し、「New email in inbox from search」を選択します。
そして、Search forに「subject:"has completed processing" from:no_reply@email.apple.com」と入力します。
これは、件名に「has completed processing」が含まれており、「no_reply@email.apple.com」から送られてきたメールをトリガーにするという意味です。
Search forには Gmail で使用できる検索演算子 が利用できます。
今後、メールの内容が変わる可能性はありますので、こちらの設定はappleから送られてくるメールに合わせて適宜変更してください。
トリガーはこれで完成なので、次は呼び出されるアクションを作ります。ここでは例としてSlackに通知するようにしてみます。
「+that」を選択して、slackを選びます。後は通知したいチャンネルやメッセージなどを自由に設定するだけです。
これでビルド処理完了後にSlackにメッセージが来るようになり、とてもわかりやすくなりました。
Microsoft Flow
あまり知られていませんが、Microsoft Flowというツールも同じように簡単に設定できます。
もし、Office 365などを使っている場合はこちらのほうが簡単に設定できると思います。
例としてOutlookをトリガーにして、Slackに投稿するフローを作成してみます。
マイフローのメニューから「一から作成」を選択し、「新しいメールが届いた時」を選択します。
メールの自動振り分け機能などを利用している場合は、appleからのメールが届くフォルダーを選択します。
詳細オプションを表示し、件名フィルターに「has completed processing」と入力します。
続いて、新しいステップを選択し、アクションの追加を選びます。
出てきた検索フィールドにSlackと入力するとSlackが出てくるので選択し、投稿メッセージを選びます。
後は、IFTTTと同じようにチャネル名やメッセージを入力し、フローを保存すると完成です。
まとめ
ビルド処理中の完了を通知する方法を紹介しました。
Slackなどに投稿するようにすると、チームメンバー全員に知らせることができてとても良いですね。
IFTTTやMicrosoft Flowを使った方法はSlackへの投稿以外にも様々なことができるので、みんな大好きな楽しい自動化の助けになると思います。