为了利用契约经纪人的webhooks自动化合同测试,我使用詹金斯工作创建了自定义的contract_content_changed事件。但是当我尝试为由验证结果发布触发的用于客户管道的webhook添加时,它几次失败。
{"consumer": {
"name": "Consumer Service"
},
"provider": {
"name": "Provider Service"
},
"events": [
{
"name": "provider_verification_published"
}
],
"request": {
"method": "POST",
"url": "http://jenkinsserver/jobforconsumerdeployment",
"headers": {
"Accept": "application/json"
},
"body": {"VerificationResultURL","${pactbroker.verificationResultUrl}"
}
}
在删除body元素之后,它创建成功。 通过将主体传递给客户工作,它可以解析失败/通过并决定是否应该进行部署。
如果不允许使用主体,消费者管道如何获取结果并继续下一步(或停止部署)?
我指的是Pact Broker Webhooks。
答案 0 :(得分:0)
{
"events": [{
"name": "provider_verification_published"
}],
"request": {
"method": "GET",
"url": "http://username:password@jenkins_url/job/jenkin_consumer/build?token=abc",
"user" : "username:password",
"headers": {
"Jenkins-Crumb": "c787ce16220300f5ef8287a4474d9acxd"
}
}
}
如果不允许使用body,则消费者管道如何获取结果以及 继续下一步(或停止部署)?
是的,如果发生“ provider_verification_published”事件,则不允许使用正文。因此,要确认验证结果,我们需要使用“ can-i-deploy” cli来部署或停止部署can-i-deploy。在Pact Broker Webhooks
上提供了更多信息