Вам нужно использовать группы фильтров вместо branch_filter
с.
Пример в terraform (0,12 +);
Для функциональных ветвей;
resource "aws_codebuild_webhook" "feature" {
project_name = aws_codebuild_project.feature.name
filter_group {
filter {
type = "EVENT"
pattern = "PULL_REQUEST_CREATED, PULL_REQUEST_UPDATED, PULL_REQUEST_REOPENED"
}
filter {
type = "HEAD_REF"
pattern = "^(?!^/refs/heads/master$).*"
exclude_matched_pattern = false
}
}
}
Для master
ветви.
resource "aws_codebuild_webhook" "master" {
project_name = aws_codebuild_project.master.name
filter_group {
filter {
type = "EVENT"
pattern = "PUSH"
}
filter {
type = "HEAD_REF"
pattern = "^refs/heads/master$"
exclude_matched_pattern = false
}
}
}
Так ониоба требуют aws_codebuild_project
для каждого.Таким образом, у вас будет 2 проекта CodeBuild для каждого репозитория.
branch_filter
не работает в CodeBuild, хотя он все еще настраивается через пользовательский интерфейс или API.filter_group
s - это та, которая обладает необходимой логикой.