Post 无法将结果发布到pact broker

Post 无法将结果发布到pact broker,post,verification,provider,consumer,pact-broker,Post,Verification,Provider,Consumer,Pact Broker,我正在尝试使用以下命令在localhost:9292上的pact broker主机上发布验证结果: curl -XPOST -H 'Content-Type: application/json' -d@/home/ec2-user/pact-ruby/example/zoo-app/spec/pacts/zoo_app-animal_service.json ${verification_url} 在这里,我无法从下面的语法中获取验证url的值 BASE_URL="http://localho

我正在尝试使用以下命令在localhost:9292上的pact broker主机上发布验证结果:

curl -XPOST -H 'Content-Type: application/json' -d@/home/ec2-user/pact-ruby/example/zoo-app/spec/pacts/zoo_app-animal_service.json ${verification_url}
在这里,我无法从下面的语法中获取验证url的值

BASE_URL="http://localhost:9292"

response_body=$(curl ${BASE_URL}/pacts/provider/Bar/consumer/Foo/latest)
verification_url=$(echo "${response_body}" | ruby -e "require 'json'; puts JSON.parse(ARGF.read)['_links']['pb:publish-verification-results']['href']")
curl -XPOST -H 'Content-Type: application/json' -d@script/foo-bar-verification.json ${verification_url}
目前,我已在以下url执行验证:
。/animal service>specs/service\u consumers>rake:pact verify at[]


我无法确定如何从上述请求中检索验证url。我遗漏了什么,请帮助。

提供商有两种方法可以从契约经纪人处验证已发布的契约

  • Pact Broker本身上设置了一个webhook“contract content changed”,通过向其传递
    ${pactbroker.pactUrl}
    来调用提供者的验证构建
  • 代理要求您为发布的每个合同分配消费者版本
    ${commit\u hash}
    。运行提供程序验证时,提供程序需要指定要验证的使用者版本。然后,代理将返回该特定消费者版本的最新版本的合同