当前位置: 首页 > 知识库问答 >
问题:

获取触发AWS CodePipeline运行的webook

程树
2023-03-14

背景:

我正计划创建一个在初始源代码阶段中具有多个源代码操作的代码管道。每个源操作都是一个GitHub repo,它将有自己的AWS代码管道webhook。在管道的下一个阶段中,我希望有一个invoke操作,该操作将获取触发管道运行的管道执行的webhook,并将下游构建阶段的输入工件设置为与触发的webhook关联的源操作。例如,如果repoa的webhook导致管道执行#1,那么调用操作将以某种方式确定repoa的webhook是触发器,然后将repoa的输出工件传递给下游构建阶段。

问题:

我还没有找到一个解决方案来获取触发管道运行的CoDepipeline webook。查看boto3 CoDepipeline文档时,我得到的最接近的是list_webhooks,它标识了网络钩子与哪个管道相关联,但没有关于该网络钩子是否触发了CoDepipeline执行ID 123的内容。

共有1个答案

齐文林
2023-03-14

在这种情况下,list_pipeline_executions命令会对您有所帮助。它为您提供CodePipeline执行摘要,其中第一个结果是最新的执行ID。每个摘要都有一个触发器属性,其中包含如何触发执行的信息。对于一个网络钩子,它看起来像这样:

"trigger": {
    "triggerType": "Webhook",
    "triggerDetail": "arn:aws:codepipeline:<region>:<account-id>:webhook:<webhook-id>"
}

如果您的管道可能同时运行,请确保首先获得当前的执行ID,这样事情就不会混淆。您可以按照这里的建议在CodeBuild中使用一行程序来完成此操作。

 类似资料:
  • 我在WordPress数据库中编写了一个MySQL触发器&它给出了一个错误。我的触发器代码如下: 它会给出以下错误消息: 错误 SQL查询:文档 CREATE[DEFINER={user CURRENT_USER}]trigger up_trig AFTER INSERT ON每一行BEGIN DECLARE“选择DISTINCT()INTOFROM其中='panchayat_id'和=new。(

  • 问题内容: 在Tkinter中,我将多个小部件绑定到鼠标左键。单击它们都会触发同一事件。 如何恢复单击了哪个窗口小部件? 我想要这样,当按下状态时,我将能够恢复在触发事件中被按下的小部件。 问题答案:

  • 问题内容: 我正在尝试创建一些MySQL代码,这些代码将从触发器中调用Java程序。 这是我到目前为止的内容: 然后,触发内容将调用Java程序。这可能吗? 问题答案: 一个直接的答案:不,您不能从mysql触发器调用Java方法。如果您有oracle数据库,则可以,但没有mysql。 做你想用mysql做的你可以 使更新数据库的代码也通知Swing应用程序。或者你可以 使触发器在单独的表中累积有

  • 问题内容: 对于通过HTTP触发的Google Cloud Functions,可以通过检查HTTP请求()的标头来检索执行ID : 但是,对于由PubSub事件触发的GCF,我找不到如何检索此执行ID的方法: 我已经研究了(https://cloud.google.com/pubsub/docs/reference/rest/v1/PubsubMessage),但其中只包含+一个空的地图。 我还

  • 问题内容: 据我了解,当您调用last_insert_id()时,它是通过连接进行的,因此您将获得插入到调用last_insert_id()的同一连接中的最后一行的ID,对吗? 那么,如果我在“ AFTER INSERT”触发器中调用last_insert_id()怎么办? 我想做的基本上是这样 “ anothertable”中的id与“ sometable”中的id非常重要,这是否可行?还是应该

  • 我正在尝试弄清楚如何确定是什么导致构建从脚本化Jenkinsfile中运行。原因是我在docker容器中有一个脚本,我想在cron作业中运行它,所以当cron作业触发时,我只希望它运行容器,但当我推送更改时,我希望它检查代码、重建容器、运行静态代码分析、运行测试等。在cron运行中不需要所有这些。 我如何能得到原因?我尝试了< code > current build . get causes()