Hi, is it possible to manually start verification ...
# general
m
Hi, is it possible to manually start verification of specific provider version and specific consumer version (without pushing new pact, use existing pact)? I do not find any verify endpoint in api browser, or any way which allows triggering the provider webhook with provider version and consumer version.
y
a webhook would provide the url of the changed pact, and git commits for a provider, in which to check out certain versions of their code https://docs.pact.io/pact_broker/webhooks#using-webhooks-with-the-contract_requiring_verification_published-event the execution of the jobs is out of scope of the broker, the broker would just trigger the webhook. You should have a CI job that takes the inputs pactUrl and the provider version, and then can pull the relevant pact from the broker. otherwise if you want to run it locally, just use the pact url from the contract you wish to verify and pass that into your providers verification task
m
Thanks for fast reply. We do have a CI job which starts the verification and we use it also to start verification manually. But the CI pipeline which is used from webhook needs some variables and I thought it would be easier to trigger verification from pact broker. But if there is no pact broker way, we will build little verification tool for our pipeline.
y
np, So the PB way, is to use events which are emitted when a contract is published, or requires validation, which will trigger a registered webhook, which will call your CI system. I’m not sure as to why you want this manually. maybe you could elaborate? If this maybe to re-run a verification at will, in a representative of CI state. Do you anticipate this run would publish verification results? Or is this a way of a developer verifying an url manually without using their local machine? There is the ability to manually trigger webhooks via a test functionality in the UI, it may be able to programatically accessed
m
In our setup we have 3 cluster (dev, test and production). The event based verification works for dev cluster, when any consumer publishes new pacts. PB triggers automatically (with registered webhook) the provider verification and all is fine for dev cluster. Also the deployed cluster versions of any services are tagged inside PB, so it knows the current version of any service across all cluster. Unfortunately days or weeks later when someone tries to publish a new provider or consumer version into the next cluster (test or production), the can-i-deploy step often tells us, there is no verified pact between the deployed cluster version and new version. I don't know why this happens, but our solution to fix this verification problem is to manually start the missing verification. But the current way for manually verification trigger with starting a pipeline is a little bit awkward and because of this I search for better solution.