Skip to main content

ビルドステータスをGitホスティングプロバイダーに報告する

概要

ビルドステータスレポートをGitプロバイダーにプッシュバックするには、Bitriseを認証し、アプリの[チーム]タブでサービス資格情報ユーザーを指定する必要があります。

Bitrise は、ビルド ステータス レポートを Git プロバイダー (GitHub/GitLab/Bitbucket) に送信できます。これにより、開発者は情報に基づいた意思決定を迅速に行うことができ、プラットフォームを切り替える必要がなくなります。

これを行うには、でサービス資格情報ユーザーを指定する必要があります チーム 上のアプリのタブ bitrise.io。また、このユーザーが、選択したgitホスティングサービスに接続されたアカウントを持っていることを確認する必要があります。 bitrise.io。このアカウントは、BitriseがgitホスティングプロバイダーのAPIと通信するために使用されます。

ステータス レポートは、プロジェクト レベル、ワークフロー レベル、パイプライン レベルで設定できます。

パイプラインレポート

トリガーされたエンティティがパイプラインの場合、ビルドステータスは報告されますが、パイプライン内の個々のワークフローは個別のステータスを報告しません。Bitriseはパイプラインステータスレポートの他に、テスト結果をエクスポートしているステップのテスト結果ステータスも報告します

ビルドステータスレポートの設定

Bitrise で Git ステータス レポートを設定するには、次の 2 つの方法があります。

  • を使用することで GitHub アプリの統合オプションでレポートをカスタマイズする以外は、追加の構成なしでステータス レポートを自動的に送信します。

  • 経由 サービス認証ユーザー. 使用する場合は リポジトリアクセスのためのOAuth認証、これがステータスレポートを送信する方法です。サービス資格情報ユーザーは、Bitrise アカウントを Git プロバイダー アカウントに接続し、Git リポジトリにアクセスできる必要があります。次の権限が必要です。

    • GitHub: 書く

    • ビットバケット: 書く

    • GitLab: 開発者

    サービス資格情報ユーザーの接続はいつでもテストできます。 サービスクレデンシャルユーザーの確認

Bitrise Web サイトの IP アドレスを許可リストに登録する

コードを保存するために何らかの形式の自己ホスト型ソリューションを使用する場合、Bitrise Web サイトとそのバックグラウンド ワーカーの静的 IP アドレスを許可リストに登録する必要がある場合があります。これにより、保存などの機能を使用できます。 bitrise.yml ファイルを自分のリポジトリに置くか、Bitrise からビルド ステータスの更新を受け取ります。 Bitrise バックエンドワーカーの IP アドレス範囲.

どちらの方法でも、プロジェクト レベルとワークフローまたはパイプライン レベルの両方のレポートを送信できます。

ブランチ保護ルール

ビルド ステータス レポート設定を更新する場合、Git プロバイダーでブランチ保護ルールを変更する必要がある場合があります。

使用する場合は ワークフロー/パイプラインレベルのステータスレポート または target-id 動的変数実行されたワークフローまたはパイプラインごとに異なるステータス チェックが行われます。つまり、すべてのプル リクエストに対してすべてのチェックが必須である場合は、複数のブランチ保護ルールが必要になる可能性があります。

カスタムステータスレポート

カスタム Git ステータス レポートを作成できます。コミット ステータス メッセージをチームの好みや要件に合わせてカスタマイズできます。レポートに名前を付けて、Git プロバイダー サイトですぐに識別できるようにすることができます。ステータス レポートの名前には、プロジェクトのタイトルやワークフローの名前など、動的な変数を使用できます。

デフォルトのステータスレポート名は ci/bitrise/<project_slug>/<event_type>従来のGitHub Checksレポートの場合、デフォルト名は Bitrise

カスタム レポートは次の 2 つのレベルで設定できます。

  • プロジェクト レベルのレポートは、プロジェクト内のすべてのワークフローとパイプラインに適用されます。これにより、同じプロジェクト内のビルドのステータスに一貫した形式が提供されます。

  • 個々のワークフローまたはパイプラインのレベルで、これらのカスタム レポートは、一般的なプロジェクト レベルのステータス レポートよりも優先されます。これは、特定のビルド ステージに関するより具体的な情報を提供したり、異なるタイプのビルドを区別したりする場合に役立ちます。

文字数制限と許容文字数

ステータス メッセージは簡潔にしてください。制限は 100 文字ですが、BitBucket では 40 文字しか許可されません。

以下の文字がサポートされています: , . / ( ) : - _ (space) (a-z) (A-Z) (0-9) &lt; &gt; [ ] |

プロジェクトレベルのステータスレポート

プロジェクトレベルでカスタムステータスレポートを作成するには、 status_report_name 財産の下にある app 設定YAMLファイルで静的な値を持つことができます:

app:
  status_report_name: 'Bitrise build'

または、動的な値を使用することもできます。

app:
  status_report_name: 'PR check for <project_title>'

複数の動的な値を組み合わせることもできます。

app:
  status_report_name: 'Executing <target_id> for <project_title>'

使用をお勧めします target_id: ビルドが使用するワークフローまたはパイプラインの名前です。この変数を使用すると、同じコミットの異なるワークフロー/パイプラインからの Git コミット ステータスが互いに上書きされることはありません。

利用可能な変数はここで見つかります: 表1「ステータスレポートの動的変数

ワークフロー/パイプラインレベルのステータスレポート

ワークフローレベルでカスタムステータスレポートを作成するには、 status_report_name 構成 YAML ファイル内のワークフローの名前の下のプロパティ:

workflows:
  build-ios:
    status_report_name: 

同様に、パイプライン レベルで作成するには、パイプラインの名前の下にプロパティを追加します。

pipeline:
  deploy-pipeline:
    status_report_name: 

複数の動的な値を組み合わせることもできます。

pipeline:
  deploy-pipeline:
    status_report_name: 'Executing <target_id> for <project_title>'

使用をお勧めします target_id: ビルドが使用するワークフローまたはパイプラインの名前です。この変数を使用すると、同じコミットの異なるワークフロー/パイプラインからの Git コミット ステータスが互いに上書きされることはありません。

利用可能な変数はここで見つかります: 表1「ステータスレポートの動的変数

使用をお勧めします target_id: ビルドが使用するワークフローまたはパイプラインの名前です。この変数を使用すると、同じコミットの異なるワークフロー/パイプラインからの Git コミット ステータスが互いに上書きされることはありません。

ブランチ保護ルール

プロジェクトベースのステータスレポートからワークフローレベルのステータスレポートに切り替える場合は、更新が必要になる場合があります。 ブランチ保護ルール

ワークフローエディタでワークフローレベルのステータスレポートを設定することもできます。ワークフローを開き、 プロパティ タブをクリックして、 Git ステータス名 入力。

workflow-level-status-report.png

動的変数

ステータス レポートでは次の動的変数を使用できます。

表1 ステータスレポートの動的変数

変数名

説明

project_slug

プロジェクトの URL の一部である、Bitrise 上のプロジェクトの一意の英数字識別子。

project_title

人間が判読できるプロジェクトのタイトル。

target_id

ビルドに使用された特定のワークフローまたはパイプラインの名前。

event_type

ステータス レポートをトリガーしたイベントの種類を表します。可能な値は次のとおりです。

  • pr: プルリクエスト (GitHub、Bitbucket)

  • mr: マージリクエスト (GitLab)

  • push: コードプッシュ (GitLab、GitHub、Bitbucket

  • tag: Git タグ (GitLab、GitHub、Bitbucket)


ビルドステータスレポートのトラブルシューティング

ビルドがGitホスティングプロバイダー(GitHub、GitLab、またはBitbucket)にステータスレポートを送信しない場合は、問題の原因を見つけるために少し調査する必要があります。潜在的な問題を見てみましょう!

サービスクレデンシャルユーザーの確認

NS サービスクレデンシャルユーザー 上のアプリの bitrise.io gitホスティングプロバイダーに接続されたアカウントを持っている必要があります。

サービスクレデンシャルユーザーを確認し、Git接続をテストできます。

  1. Bitriseでアプリを開くには、 管理者 アプリチームでの役割

  2. に移動します 設定 タブ。

    project-settings-button.png
  3. 上のアプリのページに移動します bitrise.io

  4. を見つける Service credential User メニュー。デフォルトでは、アプリの所有者はサービス資格情報ユーザーです。

    service-credential-user.png

    現在の使用者

    この図では、現在アクティブなユーザーはサービス資格ユーザーです。サービスクレデンシャルユーザーが別のユーザーである場合、ボタンのテキストを含め、これは少し異なって見えます。

  5. 確認してください Account Settings page サービス資格情報ユーザーのアカウントの。

リポジトリの権限とリポジトリのURLを確認する

ワークスペースまたはチームへのBitriseアクセスを許可していることを確認してください。 Bitriseアクセスを許可しなかったか、リポジトリを所有するGitHubワークスペースまたはBitbucketチームへのアクセスを拒否した可能性があります。

URLリポジトリが最新であることを確認してください。

  1. Bitriseでアプリを開くには、 管理者 アプリチームでの役割

  2. に移動します 設定 タブ。

    project-settings-button.png
  3. 左側で、 全般的

  4. リポジトリのURLを見つけて、それが正しいことを確認します。

    apps-repository-url.png