🎸
Firebase(AppDistribution)のリリースリンクをQRコード化してSlack通知した話
この記事は株式会社ガラパゴス(有志) Advent Calendar 2024 の22日目です
こんにちは、サービス開発パートナー事業部の住山です。
Marvel Rivalsに激ハマりしております。
やりたいこと
BitriseからSlackのワークフローが完了した際に、Firebase App Distributionの配信先リンクをQRコード化して一緒に投稿したいと思います。これにより、エンジニア以外の人たちがシームレスにビルドのリリースリンクにアクセスできるようになります。
試したこと
- Fastlaneのqr_code plugin
- BitriseのCreate install page QR code
Fastlaneのqr_code plugin
- Fastlaneのfirebase_app_distributionの戻り値(参考)からリリース先のリンク(testingUri)を取得。
- 1で取得したリリース先のリンクからqr_code pluginでQRコードをPNG形式で生成。
- S3に生成したPNG形式のQRコードを配置。
- 3のリンクをslackに連携
こちらのやり方だと別途QRコード画像を配置するAmazon S3などのストレージサービスの用意が必要。(Slack Webhookで画像を直接添付することができないため。)
BitriseのCreate install page QR code
- Fastlaneのfirebase_app_distributionの戻り値(参考)からリリース先のリンク(testingUri)を取得
- 1のリリース先リンクを環境変数(FASTLANE_RELEASE_LINK)に上書き
lane :app_disribution_release do |options|
result = firebase_app_distribution(
app: options[:firebase_app_id],
groups: options[:groups],
release_notes: options[:notes]
)
# 配信先のリンクを環境変数(FASTLANE_RELEASE_LINK)に上書き
sh("envman add --key FASTLANE_RELEASE_LINK --value ""#{result[:testingUri]}"" ")
end
- BitriseのWorkflowで、fastlaneとSend a Slack Messageの間にCreate install page QR code
を追加。Public install page URLにFASTLANE_RELEASE_LINKを指定。 - Send a Slack MessageにBITRISE_PUBLIC_INSTALL_PAGE_QR_CODE_IMAGE_URLを追加。
こちらのやり方だと、別途QRコード画像を配置するAmazon S3などの用意が不要なため採用。
できたもの
想定通り、SlackにApp Disribution対象ビルドへのQRコードを添付することができました。
まとめ
SlackにQRコードを連携することによって、社内の検証チームやディレクターがシームレスに対象ビルドへ辿り着けるようになりました。
Discussion