すこぶる.net

技術系備忘録など

Github

【Github Actions】三項演算子と文字列扱い

投稿日:2022年1月20日 更新日:

Github Actions で三項演算子の式に文字列を置きたい場合

例えば、以下のようにブランチ名の応じてプルリクエストのタイトルを変更したい場合があるとします。
staging ブランチの場合は、次に main ブランチにマージしたいので「Merge staging into main」というタイトルにして、それ以外なら「Merge develop into staging」にしたいとします。
しかし、このままでは ”develop: command not found” エラーになって処理が停止してしまいます。(stagingブランチではない場合)

github actions workflow

原因

エラーにあるように develop コマンドがないと言われていますので、実はシンプルに以下のようにすると通ります。

つまり、 “pr_tiltle=Merge develop into staging” となっていることで、 “Merge” 以降が別の引数だと認識されてしまっているわけです。

解決策

とてもシンプルですが、以下のようにエスケープすることでエラーを回避することができます。

しかし、実はこれだけでは不十分で、”echo “::set-output name=pr_title::$pr_title”” している “${{ steps.check_pullrequest.outputs.pr_title }}” を参照してみると、
これもまたエラーになります。

エラー内容を見れば分かるのですが、これもまた別々の引数として認識されているのでダブルクオーテーションで括ってやる必要があります。

 

まとめ

今回は Github Actions で CI を回したあと自動でプルリクエストを作成し、三項演算子でブランチ名によってプルリクエストのタイトルを変えてみました。
登場場面は少ないかもしれませんが誰かの役に立てば幸いです。

Github Actions でブランチに合わせてプルリクエストを生成するという仕組みは以下を参考にさせていただいたのでぜひご確認ください。

GitHub Actionsでブランチに合わせてリリース用PRを自動生成する: https://zenn.dev/kshida/articles/auto-generate-release-pr-with-github-actions

-Github
-, ,

執筆者: