获取触发 AWS CodePipeline 运行 的 webhook
get webhook that triggered the AWS CodePipeline run
背景:
我计划创建一个在初始源代码阶段具有多个源代码操作的代码管道。每个源操作都是一个 GitHub 存储库,它将拥有自己的 AWS CodePipeline webhook。在管道的下一阶段中,我想要一个调用操作,该操作将获取触发管道 运行 的管道执行的 webhook,并将下游构建阶段的输入工件设置为与触发关联的源操作网络钩子。例如,如果 repo A 的 webhook 导致管道执行 #1,则调用操作将以某种方式识别 repo A 的 webhook 是触发器,然后将 repo A 的输出工件传递到下游构建阶段。
问题:
我还没有找到获取触发管道的 Codepipeline webhook 的解决方案 运行。查看 boto3 Codepipeline 文档,我得到的最接近的是 list_webhooks
,它标识了 webhook 关联的管道,但与该 webhook 是否触发了 Codepipeline 执行 ID 123 无关。
在这种情况下,list_pipeline_executions 命令应该可以帮助您。它为您提供 CodePipeline 执行摘要,其中第一个结果是 latest 执行 ID。每个摘要都有一个 trigger
属性,其中包含有关如何触发执行的信息。对于 webhook,它看起来像这样:
"trigger": {
"triggerType": "Webhook",
"triggerDetail": "arn:aws:codepipeline:<region>:<account-id>:webhook:<webhook-id>"
}
如果您的管道可能 运行 并发,请确保您首先获得 当前 执行 ID,以免混淆。您可以按照建议 here.
在 CodeBuild 中使用一行来完成此操作
背景:
我计划创建一个在初始源代码阶段具有多个源代码操作的代码管道。每个源操作都是一个 GitHub 存储库,它将拥有自己的 AWS CodePipeline webhook。在管道的下一阶段中,我想要一个调用操作,该操作将获取触发管道 运行 的管道执行的 webhook,并将下游构建阶段的输入工件设置为与触发关联的源操作网络钩子。例如,如果 repo A 的 webhook 导致管道执行 #1,则调用操作将以某种方式识别 repo A 的 webhook 是触发器,然后将 repo A 的输出工件传递到下游构建阶段。
问题:
我还没有找到获取触发管道的 Codepipeline webhook 的解决方案 运行。查看 boto3 Codepipeline 文档,我得到的最接近的是 list_webhooks
,它标识了 webhook 关联的管道,但与该 webhook 是否触发了 Codepipeline 执行 ID 123 无关。
在这种情况下,list_pipeline_executions 命令应该可以帮助您。它为您提供 CodePipeline 执行摘要,其中第一个结果是 latest 执行 ID。每个摘要都有一个 trigger
属性,其中包含有关如何触发执行的信息。对于 webhook,它看起来像这样:
"trigger": {
"triggerType": "Webhook",
"triggerDetail": "arn:aws:codepipeline:<region>:<account-id>:webhook:<webhook-id>"
}
如果您的管道可能 运行 并发,请确保您首先获得 当前 执行 ID,以免混淆。您可以按照建议 here.
在 CodeBuild 中使用一行来完成此操作