[英]Is there a security measure for Jenkins webhook by Generic Webhook Trigger plugin?
[英]Issue with Generic Webhook Trigger plugin in Jenkins
我正在尝试使用 Jenkins 中的 Generic Webhook Trigger 插件来触发构建,以防在我的 GitHub 存储库上引发任何 PR。 对于初学者,我定义了一个变量“current_status”,将其映射到要从 GitHub 接收的 json 负载中的“action”字段。 虽然构建是在提高 PR 时触发的,但 current_status 的值为 null。 我的 GitHub webhook 的内容类型是“application/json”
针对 PR 事件生成的 GitHub 有效负载中包含操作字段:"action": "opened",但是当我尝试在管道中使用 println "${params.current_status}" 打印此变量时,该值打印为 null .
此外,当我尝试根据变量的值执行一个步骤时
when {
expression { return params.current_status == "opened" }
}
即使根据 GitHub 有效负载中的操作的值“打开”,也会跳过该阶段
为了在我选择在作业日志中打印贡献变量的选项时调试问题,我可以看到打开的 current_status 值的值
但是当我在我的管道中引用这个变量时,它的值以某种方式为空。
作为一种变通方法使我的管道参数化,使用与通用 Webhook 触发器插件部分(current_status)中定义的变量相同的名称,然后在我的 Jenkinsfile 中引用它并且它起作用了。(变量的值反映了值在来自 GitHub 的 json 负载中收到)。
最后我找到了解决方案。 对于可能面临相同问题的任何人,您可以将 Generic Webhook Trigger 插件中定义的变量直接称为 Groovy 变量。 在我的情况下,我尝试直接使用变量 current_status 而不通过 params 引用它,并且它按预期工作。
通过参数化管道定义变量的另一种方法可能会有所帮助,因为我们希望手动运行构建。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.