我有一个通过 Web Hook 触发 Jenkins 作业的应用程序。 Web Hook 发出一个 POST 请求,其中包含我需要在 Jenkins 作业中使用的数据 - 将根据请求正文采取不同的操作。
如何将此请求正文传递给我的脚本? - 是否可以从构建操作访问?
我还没有编写脚本,但它可能是用 Bash 或 Python 编写的。
通用 Webhook 触发器插件 ( https://wiki.jenkins.io/display/JENKINS/Generic+Webhook+Trigger+Plugin ) 是要走的路吗?
对此的任何帮助将不胜感激!
最佳答案
是的,考虑到它可以从 JSON 中的响应正文中提取任何您想要的值,如图 by this issue 所示。
genericTrigger {
genericVariables {
genericVariable {
key("VARIABLE_FROM_POST")
value("\$.something")
expressionType("JSONPath") //Optional, defaults to JSONPath
regexpFilter("") //Optional, defaults to empty string
defaultValue("") //Optional, defaults to empty string
}
}
...
这将从 JSON 响应正文中提取“某物”元素值。
和/或你可以 get back the all JSON payload 。
关于jenkins - 如何读取 Jenkins Web Hook 帖子请求正文?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/50180216/