Milda
06/24/2025, 9:23 AMstatus=400 {"title":"Validation errors","type":"<https://problems-registry.smartbear.com/validation-error>","status":400,"instance":"/","errors":[{"detail":"content could not be parsed as application/json","pointer":"#/contract/content"},{"detail":"content when Base64 decoded and parsed must be a hash","pointer":"#/contract/content"}]}Zachary Lysobey
06/24/2025, 9:42 PMCody Jenkins
07/08/2025, 5:27 AMMatt Corby
07/09/2025, 9:06 AMDominic Gara
07/09/2025, 10:05 AMMatt Corby
07/09/2025, 2:22 PM/pacticipants/saq-summary-etl/versions/4b4c8962c8f7243a28cdeda7cbcbf7b7d90ae41a/deployed-versions/environment/6433116c-b3cd-48ce-bd0d-ed2a12b844ee - any ideas? The response is:
404 . {"error":"The requested document was not found on this server."}Kevin de Boer
07/10/2025, 8:05 AMDmytro Kryvenko
07/11/2025, 10:55 AMRishav Singh
07/23/2025, 11:07 AMERROR: Server error: 500 Internal Server Error , maybe can you help ? it is generating for happy path but failing 400, 404 etcDavid Mason
07/28/2025, 8:05 AMFAILED integration_tests/pact/v3/test_can_i_merge.py::test_can_i_merge - RuntimeError: can-i-merge failed: Error retrieving matrix. PactBroker::Client::Hal::ErrorResponseReturned - Error making request to <https://xxx-xxx.pactflow.io/matrix> status=404 Not Found. The requested document was not found on this server.
Using pact-cli to run can-i-merge (unchanged):
docker run --rm pactfoundation/pact-cli:latest pact-broker can-i-merge --broker-base-url={pact_broker_base_url} --broker-token={pact_broker_token} --pacticipant a --pacticipant bOleksandr.Boiko
07/28/2025, 8:19 AMMarlin Dalpozzo
07/28/2025, 8:38 PMcan-i-deploy in our CI/CD system to check the compatibility of our Provider with our Consumer contracts. We would like detailed information about the contract validation failure (i.e. what specific request properties don't match etc), but unfortunately it seems like the default response from can-i-deploy lacks that information and links to the /contracts/bi-directional/provider/<provider>/version/<version>/consumer/<consumer>/version/<version>/cross-contract-verification-results page in the pactflow ui. There is documentation that implies that this information can be retrieved programmatically via the pactflow API
https://docs.pactflow.io/docs/bi-directional-contract-testing/compatibility-checks/#api-resources
crossContractVerificationResults contains the information we want
We have tried various ways to make requests to that url, but couldn't get it to work. We always receive {"title":"404 Not Found","type":"<https://problems-registry.smartbear.com/not-found>","detail":"The requested document was not found on this server.","status":404}
How can we retrieve the contract verification results programmatically?David Mason
07/29/2025, 2:32 PM{
"target": {
"ref_type": "branch",
"type": "pipeline_ref_target",
"ref_name": "${pactbroker.providerVersionBranch}",
"selector": {
"type": "custom",
"pattern": "pi-verify-pacts"
}
},
"variables": [
{
"key": "PACT_URL",
"value": "${pactbroker.pactUrl}"
},
{
"key": "PACT_PROVIDER_VERSION",
"value": "${pactbroker.providerVersionNumber}"
},
{
"key": "PACT_PROVIDER_BRANCH",
"value": "${pactbroker.providerVersionBranch}"
},
{
"key": "PACT_PROVIDER_NAME",
"value": "${pactbroker.providerName}"
},
{
"key": "PACT_CONSUMER_VERSION",
"value": "${pactbroker.consumerVersionNumber}"
},
{
"key": "PACT_CONSUMER_BRANCH",
"value": "${pactbroker.consumerVersionBranch}"
},
{
"key": "PACT_CONSUMER_NAME",
"value": "${pactbroker.consumerName}"
}
]
}
${pactbroker.providerVersionBranch} and ${pactbroker.providerVersionNumber} are resolving to an empty string, which causes the webhook to fail.
For now I'll hope that this is just the "test webhook" functionality that's broken at the moment. I'll let you know if the problem persists.Eddie Stanley
08/11/2025, 8:48 PMContract published that requires verification webhook), what are the rules for determining the pactbroker.pactUrl that we use in the payload?
If the webhook runs for two different provider versions (as shown in the screenshot), should that pactbroker.pactUrl be the same or different for the two invocations?Kinkini Gamage
08/13/2025, 12:38 AMconst stateHandlers = {
"products exists": () => {
controller.repository.products = new Map([
["10", new Product("10", "CREDIT_CARD", "28 Degrees", "5678")],
]);
},
"products exist": () => {
controller.repository.products = new Map([
["10", new Product("10", "CREDIT_CARD", "28 Degrees", "5678")],
]);
},
"a product with ID 10 exists": () => {
controller.repository.products = new Map([
["10", new Product("10", "CREDIT_CARD", "28 Degrees", "5678")],
]);
},
"a product with ID 11 does not exist": () => {
controller.repository.products = new Map();
},
};
My Question:
1. Can I use a real database instead? Instead of manually setting up test data in stateHandlers, can I point my provider verification to use a real database environment (like staging/test DB) to fetch actual data?
2. Can I completely avoid stateHandlers? Is it possible to connect directly to my working environment (staging/test database) and eliminate the need for stateHandlers altogether?
Use Case:
• I want to avoid maintaining test data in code
• Prefer using real data from my test/staging environment
• This would be especially useful for webhook-triggered verifications when consumer contracts are updated
Is this possible/recommended? If so, how would I configure the provider verification to use an actual database connection instead of in-memory test data?
Any guidance or examples would be greatly appreciated! 🙏
Thanks!Daniel Phillips
08/14/2025, 10:27 AM"message": "discriminator: oneOf subschemas (or referenced schemas) must have \"properties/transactionType\""
What I cannot understand is why it's complaining about the transactionType not being declared within subschemas, when all of them explicityly define it alongside a fixed enum value.
Here is a sample of what my schema definitions look like:
Transaction:
required:
- transactionDetails
- transactionType
type: object
properties:
transactionType:
type: string
description: 'Type of transaction. Used as a discriminator for polymorphic deserialization.'
example: transaction_a
transactionDetails:
$ref: '#/components/schemas/TransactionDetails'
description: Transaction Details
discriminator:
propertyName: transactionType
oneOf:
- $ref: '#/components/schemas/TransactionA'
- $ref: '#/components/schemas/TransactionB'
TransactionA:
required:
- transactionDetails
- transactionType
type: object
description: Transaction A Details
allOf:
- $ref: '#/components/schemas/Transaction'
- type: object
properties:
transactionDetails:
$ref: '#/components/schemas/TransactionADetails'
transactionType:
type: string
description: Constant discriminator identifying this transaction subtype
readOnly: true
example: transaction_a
enum:
- transaction_a
TransactionB:
required:
- transactionDetails
- transactionType
type: object
description: Transaction B Details
allOf:
- $ref: '#/components/schemas/Transaction'
- type: object
properties:
transactionDetails:
$ref: '#/components/schemas/TransactionBDetails'
transactionType:
type: string
description: Constant discriminator identifying this transaction subtype
readOnly: true
example: transaction_b
enum:
- transaction_bDaniel Phillips
08/28/2025, 11:12 AMAVJ processing has been throwing the error: "message": "discriminator: mapping is not supported".
It seems to me like something has changed on the Pactflow side?
For example if I reupload the latest working version of my OAS spec, Pactflow processes it correctly. It looks like it's loading the comparison from cache as it shows:
Comparison details
Compared at
2025-08-18 11:57:19 GMT+1
Verifier
pactflow-openapi-pact-comparator
Version
1.5.1
Then, if I simply change the version attribute in the OAS and no changes whatsoever to the rest of the OAS, I get the error
info:
version: {bump this}
I can also see that the comparison details show a brand new comparison:
Comparison details
Compared at
9 minutes ago
Verifier
pactflow-openapi-pact-comparator
Version
1.6.0
The key difference seems to be that version 1.6.0 throws the error on identical yaml contentsGabriel Vasconcelos
08/28/2025, 11:25 AMboden winkel
10/14/2025, 12:08 PMAlex Kaufman
10/23/2025, 8:39 PMLavanya
10/27/2025, 10:47 AMJun Yi
10/28/2025, 9:52 AM(saml) Authentication failure! invalid_ticket: OneLogin::RubySaml::ValidationError, Found an unexpected number of Signature Element. SAML Response rejected
I reviewed the environment variable documentation here: https://docs.pactflow.io/docs/on-premises/environment-variables
, but couldn’t find any variables related to configuring a SAML client ID or client secret.
Could anyone please advise whether these settings are supported, or if there’s an alternative way to configure them for SAML integration with Keycloak?
Thank you!Matt (pactflow.io / pact-js / pact-go)
Wojciech Wroblewski
11/03/2025, 4:26 PM[run-consumer-contract-tests/Contract Tests - Consumer/Publish provider's contract for JS services] ☁ git clone '<https://code>.(...).com/pactflow/actions' # ref=v2
[run-consumer-contract-tests/Contract Tests - Consumer/Publish provider's contract for JS services] [DEBUG] cloning <https://code>.(...).com/pactflow/actions to /Users/(...)/.cache/act/pactflow-actions-publish-pact-files@v2
[run-consumer-contract-tests/Contract Tests - Consumer/Publish provider's contract for JS services] Unable to clone <https://code>.(...).com/pactflow/actions refs/heads/v2: repository not found: Repository not found.
[run-consumer-contract-tests/Contract Tests - Consumer/Publish provider's contract for JS services] repository not found: Repository not found.
[run-consumer-contract-tests/Contract Tests - Consumer/Publish provider's contract for JS services] [DEBUG] skipping post step for 'Archive App Run Log'; step was not executed
[run-consumer-contract-tests/Contract Tests - Consumer/Publish provider's contract for JS services] [DEBUG] skipping post step for 'pactflow/actions/publish-pact-files@v2'; step was not executed
It looks like it's trying to get that action from our GHEC server. I also tried to set github-server-url first for checkout action.
How should I use it when working on GHEC? Preferably not copying that action repo to our instance
*I hope I used proper channelJun Yi
11/10/2025, 8:45 AMError: MPC -32602: MCP error -32602: Invalid arguments for tool contract-testing_generate_pact_tests: [
{
"received": "python",
"code": "invalid_enum_value",
"options": [
"javascript",
"typescript",
"java",
"golang",
"dotnet",
"kotlin",
"swift",
"php"
],
"path": [
"language"
],
"message": "Invalid enum value. Expected 'javascript' | 'typescript' | 'java' | 'golang' | 'dotnet' | 'kotlin' | 'swift' | 'php', received 'python'"
}
]
Thanks!Fábio Rodrigues
11/10/2025, 3:35 PMMarlin Dalpozzo
11/17/2025, 7:51 PMYousaf Nabi (pactflow.io)
Victor Rincón
12/05/2025, 6:04 PMError making request to <https://myorg.pactflow.io/pacticipants/my-service-name/versions/my-version-here/deployed-versions/environment/my-environmnet-here> status=403 Forbidden. Either you are using a read only token for a request that requires a write token (the most likely cause), or you do not have the required permissions.
I fear that the token that is being used does not have write rights.
Does anyone where I can find documentation around how to create tokens for recording deployments for a given team in PactFlow?
Thank you in advance!Ruud Welling
12/09/2025, 2:53 PMcurl -H "Accept: application/hal+json" -H "Authorization: Bearer $PACT_BROKER_TOKEN" https://${my_pact_org}.<http://pactflow.io/pacts/provider/${provider}/consumer/${consumer}/branch/main/latest|pactflow.io/pacts/provider/${provider}/consumer/${consumer}/branch/main/latest>"
To retrieve the latest version of a contract between two applications on the main branch.
This used to work fine for a long time, but since yesterday the response I get no longer contacts the pact interactions also the consumer and provider objects are missing in the json reponse.
Did this API change? Is there any other way to retrieve the latest pact (on main) for a pair of applications?