CodePipelineをGitのWebhookで起動した際、SourceVariablesにはコミットIDやメッセージなどの様々なものが含まれています
参考⇢https://docs.aws.amazon.com/ja_jp/codepipeline/latest/userguide/actions-variables.html
このコミットメッセージを、CodeBuildへ環境変数として渡したいときにCodepipelineのBuildステージに以下の設定をしました
これでSourceステージで出力されているCommitMessageを環境変数に注入できるはずでした
ところがPipelineを実行すると、
EnvironmentVariables specified in action config does not match expected format,~~~
というエラーがPipeline出てしまい、そもそもBuildステージが開始されません。
調べたところ、どうやらコミットメッセージに「'」(シングルクオート)が入っている場合、文字列として適切に認識されずにエラーになってしまうようです。
参考⇢https://forums.aws.amazon.com/thread.jspa?threadID=314707
例えばPRをマージした際のコミットメッセージは
Merge branch 'develop' into feature/atarasiikinoudaYO
の様になっている(シングルクオートが含まれている)事が多いため、失敗してしまします。
そのため、このような運用をする際はPipelineに検知される部分のコミットメッセージは「'」の無いように書き換えると、しっかりと環境変数へ注入されます。