Zenn
🎸

Firebase(AppDistribution)のリリースリンクをQRコード化してSlack通知した話

2024/12/23に公開

この記事は株式会社ガラパゴス(有志) Advent Calendar 2024 の22日目です

こんにちは、サービス開発パートナー事業部の住山です。
Marvel Rivalsに激ハマりしております。

やりたいこと

BitriseからSlackのワークフローが完了した際に、Firebase App Distributionの配信先リンクをQRコード化して一緒に投稿したいと思います。これにより、エンジニア以外の人たちがシームレスにビルドのリリースリンクにアクセスできるようになります。

試したこと

Fastlaneのqr_code plugin

  1. Fastlaneのfirebase_app_distributionの戻り値(参考)からリリース先のリンク(testingUri)を取得。
  2. 1で取得したリリース先のリンクからqr_code pluginでQRコードをPNG形式で生成。
  3. S3に生成したPNG形式のQRコードを配置。
  4. 3のリンクをslackに連携

こちらのやり方だと別途QRコード画像を配置するAmazon S3などのストレージサービスの用意が必要。(Slack Webhookで画像を直接添付することができないため。)

BitriseのCreate install page QR code

  1. Fastlaneのfirebase_app_distributionの戻り値(参考)からリリース先のリンク(testingUri)を取得
  2. 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
  1. BitriseのWorkflowで、fastlaneとSend a Slack Messageの間にCreate install page QR code
    を追加。Public install page URLFASTLANE_RELEASE_LINKを指定。
  2. Send a Slack MessageBITRISE_PUBLIC_INSTALL_PAGE_QR_CODE_IMAGE_URLを追加。

こちらのやり方だと、別途QRコード画像を配置するAmazon S3などの用意が不要なため採用。

できたもの

想定通り、SlackにApp Disribution対象ビルドへのQRコードを添付することができました。

まとめ

SlackにQRコードを連携することによって、社内の検証チームやディレクターがシームレスに対象ビルドへ辿り着けるようになりました。

株式会社ガラパゴス(有志)

Discussion

ログインするとコメントできます