Bitriseで前のステップが失敗した場合にだけステップを実行する方法についてご紹介します。
例えばこんなワークフローを作成します。
- Scriptステップ
- ここでは
exit 1
を実行し、ステップを失敗させます
- ここでは
- Comment on GitHub Pull Requestステップ①
- 前のステップが成功していたときに、プルリクエストに「🎉 test passed!! 🎉」とコメントします
- Comment on GitHub Pull Requestステップ②
- 前のステップが失敗していたときに、プルリクエストに「❗️ test failed!! ❗️」とコメントします
Scriptステップはexit 1
を実行するだけです。
Comment on GitHub Pull Requestステップでは、Githubのパーソナルアクセストークンとコメント文を設定します。
ここでComment on GitHub Pull Requestステップ②は「前のステップが失敗した場合だけ実行する」ようにしたいわけですが、これはWorkflowsタブでは設定できず、bitrise.ymlを直接修正する必要があります。
以下の「追記!」とコメントしている行を追記します。
ポイントはComment on GitHub Pull Requestステップ②のrun_if: ".IsBuildFailed"
のところで、ビルドが失敗したときのみ実行するという指定になっています。
steps: - script@1: inputs: - content: exit 1 - comment-on-github-pull-request@0: inputs: - body: "\U0001F389 test passed!! \U0001F389" - personal_access_token: "$GITHUB_PERSONAL_ACCESS_TOKEN" is_always_run: false # 追記! - comment-on-github-pull-request@0: inputs: - body: "❗️ test failed!! ❗️" - personal_access_token: "$GITHUB_PERSONAL_ACCESS_TOKEN" run_if: ".IsBuildFailed" # 追記! is_always_run: true # 追記!
ここで紹介した設定はBitriseのドキュメントに記載がありますので、より詳しく知りたい場合はこちらをご参照ください。
Enabling or disabling a Step conditionally | Bitrise DevCenter