AWS Codepipeline Webhook过滤器

时间:2019-06-26 07:30:55

标签: amazon-web-services jsonpath aws-codepipeline

我需要使用terraform为github创建一个aws codepipeline webhook,它将把来自github的事件过滤为仅来自特定分支的事件以及添加,修改或删除的文件前缀(以字符串形式列出)在$.head_commit路径中。

我在分支工作上设置了过滤器,将json_path设置为$.refmatch="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“以某种方式重新启动核心!”

0 个答案:

没有答案