aws codepipeline webhook filter - PullRequest
       20

aws codepipeline webhook filter

1 голос
/ 26 июня 2019

Мне нужно создать aws codepipeline webhook для github, используя terraform, который будет фильтровать события, поступающие из github, только к событиям из определенной ветви и префиксу файлов, которые добавляются, изменяются или удаляются, перечислены как строки в пути $.head_commit.

У меня есть фильтр на рабочей ветви, устанавливающий json_path на $.ref и match="refs/head/development", однако мне не ясно, какой будет синтаксис для сопоставления со строковыми значениями в добавленных, измененных и удаленных списках было бы. Я попробовал пару примеров, которые перечислены в Json-Path , но до сих пор я не смог сгенерировать matchEquals значение, которое работает.

По сути, я пытаюсь заставить работать версию этого фильтра, где mypath - это то, что я пытаюсь найти существование внутри полезной нагрузки события push:

"filters": [
                {
                    "jsonPath": "$.head_commit.modified", 
                    "matchEquals": "^.*mypath.*$"
                }, 
                {
                    "jsonPath": "$.ref", 
                    "matchEquals": "refs/heads/development"
                }
            ]

Вот сокращенная версия полезной нагрузки, отправленной github

{
  "ref": "refs/heads/development",
  "head_commit": {
    "message": "Update README.md",
    "timestamp": "2019-06-26T10:03:38-07:00",
    "added": [

    ],
    "removed": [

    ],
    "modified": [
      "packages/mypath/README.md"
    ]
  }
}

Обновление 6/27/2019 После открытия заявки в службу поддержки выясняется, что в настоящее время AWS не поддерживает регулярное выражение в свойстве matchEquals. Когда он может быть добавлен, эта дата не указана, но уже существует запрос на поддержку этой функции.

Отключение по плану c "Как-нибудь перезагрузить ядро!"

...