我一直在关注以下链接,以便使用Web钩子将Gitlab与Jenkins集成.以下所有链接都提到在Jenkins端接收'JSON'或'payload'或令牌,但是当我尝试在Jenkins配置的Shell脚本中回显或打印这些参数时,我什么也看不到.
在shell脚本中我有这个,但我从来没有收到任何有效载荷:
回声"构建工作!有效载荷是$ payload"
我确实在/var/log/Jenkins/Jenkins.logs上看到了一些JSON,但是我希望在"控制台输出"中看到消息,这样我就可以使用Gitlab中的消息来触发是否建立.
大多数这些链接提到的选项不能通过Gitlab获得.有一篇文章提到将Web钩子格式转换为application/json,但Gitlab UI上没有这样的选项. 如何在Jenkins中处理github webhook有效负载? http://chloky.com/github-json-payload-in-jenkins/
Gitlab webhook:
http://xx.xx.xx.xxx:8080/job/Interim_Build/buildWithParameters?token=TOKEN_NAME
任何帮助都会很棒.谢谢.
小智 1
我建议您尝试两种解决方案(都对我有用):
使用这个用 Go 编写的优雅代理从 Gitlab webhook 转换 json 数据https://github.com/akira/githookproxy。它将接受 webhook 请求,并将其转换为以下target_url
格式的请求:
payload
: JSON 正文START
:开始提交哈希END
: 结束提交哈希REFNAME
: 参考名称使用此 Jenkins 插件将 jenkins 模拟为 Gitlab CI https://github.com/jenkinsci/gitlab-plugin
对我来说最好的是第一个,因为它简单且更透明。
归档时间: |
|
查看次数: |
1180 次 |
最近记录: |