https://pact.io logo
Join Slack
Powered by
# pactflow
  • b

    Bas Dijkstra

    02/18/2025, 10:18 AM
    Is there a way to transfer the 'initial user' setting to someone else? I have created a PactFlow instance for a client I'm working with, but as I'm leaving them by the end of next month, I would like to be able to remove myself as a user from the system at some point, and also transfer all contact details to point to someone else in the organization. Right now, I can't.
  • t

    Tyler Powell

    02/24/2025, 5:09 PM
    Hi, I have a quick API question. I was looking at the docs and was wondering what the API resource to get this response: https://docs.pactflow.io/docs/bi-directional-contract-testing/compatibility-checks#api-resources I ultimately am looking to populate the response from the crossContractVerificationResults as a GitHub PR comment if the cross contract verification fails. I found this: https://smartbear.portal.swaggerhub.com/pactflow/default/pactflow_saas_api?_gl=1*1wb6kaf*_gcl_au*OTg4MTA0MjM0LjE3Mzc1NjExMzA.#/can-i-de[…]n-i-deploy but no mention of crossContractVerificationResults here
    m
    • 2
    • 5
  • g

    Gabriel Vasconcelos

    02/25/2025, 10:01 AM
    Hello. In pactflow SaaS, is it possible to receive alerts/warnings when a webhook trigger fails? Or to collect the logs?
    m
    • 2
    • 6
  • m

    Milda

    02/25/2025, 11:04 AM
    hey - is there an api call to delete a particular integration rather than all? I can see the DELETE option in api docs but it seems to only apply to all integrations
    m
    • 2
    • 2
  • r

    Ruth

    02/25/2025, 12:01 PM
    Hi, For one request we get a 500 back from pactflow with the message
    Response: {"error":{"message":"An error has occurred. The details have been logged with the reference HIIXRpjPHk","reference":"HIIXRpjPHk"}}
    Where can we look at the logs with this reference number?
    m
    • 2
    • 3
  • s

    Santosh Kumar

    03/03/2025, 1:30 PM
    Hi team, I am working on creating new consumer contract tests and for that I need properties of the consumer pact json to follow a custom order, currently it seems the properties follow alphabetical order in json pact in pactflow. Is there any way to change the order of properties of consumer pact in pactflow? Thanks in advance
    m
    r
    • 3
    • 10
  • d

    D

    03/04/2025, 1:06 AM
    Hi I have a provider enum that has two values
    Copy code
    public enum defaultSettlementMethod
      {
        Method1= 1,
        Method2 = 2,
      }
    In the OAS spec, it shows as "Allowed Values 1 2" (see screenshot) I would like to be able to check in the consumer that it is these values only, rather than have an integration test for this. Is that possible? I know it probably goes against the philosophy of Pact to do this. However in the past we have found that providers may add new values to the enums, and the consumers weren't expecting the change. Adding any kind of test in the provider may still result in the outcome, because this still relies on the provider team communicating the change effectively. Hope that makes sense?
    m
    e
    • 3
    • 7
  • v

    Valerio Iachini

    03/13/2025, 9:11 AM
    Hi, At my company, we use the official PactFlow GitHub actions: https://github.com/pactflow/actions with GitHub self-hosted runners. Since these actions rely on Docker images, our setup could hit the DockerHub rate limit. We don’t have a DockerHub account as we use a private registry for container images. Have other companies encountered a similar issue? Do you have any recommended solutions? If not, would it be possible to add an input to the actions to support private registries for images? Thanks!
    m
    • 2
    • 4
  • g

    Gabriel Vasconcelos

    03/18/2025, 5:09 PM
    Hello team, I have some questions about matching rules in bidirectional. it seems like all matches are using the pact examples, while ignoring the matchingRules Given this sample swagger:
    Copy code
    {
      "openapi": "3.0.1",
      "info": {
        "title": "IDEServices",
        "description": "IDEServices REST API",
        "version": "v1"
      },
      "paths": {
        "/asset-model/v1/features": {
          "get": {
            "summary": "Gets the stored Feature Toggles.",
            "description": "Gets the stored Feature Toggles.",
            "operationId": "GetAllFeatureTogglesValues",
            "responses": {
              "200": {
                "description": "OK",
                "content": {
                  "application/json": {
                    "schema": {
                      "type": "array",
                      "items": {
                        "required": [
                          "key"
                        ],
                        "type": "object",
                        "properties": {
                          "key": {
                            "minLength": 10,
                            "type": "string"
                          }
                        },
                        "additionalProperties": false
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    }
    and this sample pact:
    Copy code
    {
      "consumer": {
        "name": "web_ide"
      },
      "interactions": [
        {
          "description": "Get all features",
          "pending": false,
          "request": {
            "method": "GET",
            "path": "/asset-model/v1/features"
          },
          "response": {
            "body": {
              "content": [
                {
                  "key": "bigexample"
                }
              ],
              "contentType": "application/json",
              "encoded": false
            },
            "headers": {
              "Content-Type": [
                "application/json"
              ]
            },
            "matchingRules": {
              "body": {
                "$[*].key": {
                  "combine": "AND",
                  "matchers": [
                    {
                      "match": "what I put here doesnt seem to matter"
                    }
                  ]
                }
              },
              "header": {},
              "status": {}
            },
            "status": 200
          },
          "type": "Synchronous/HTTP"
        }
      ],
      "metadata": {
        "pact-js": {
          "version": "14.0.0"
        },
        "pactRust": {
          "ffi": "0.4.22",
          "models": "1.2.3"
        },
        "pactSpecification": {
          "version": "4.0"
        }
      },
      "provider": {
        "name": "IDE-Services"
      }
    }
    I get no errors no matter how I change the matchingRules. but if I change the example to something else, I get
    Copy code
    location: '[root].paths./asset-model/v1/features.get.responses.200.content.application/json.schema.items.properties.key.minLength'
    are we doing something wrong? aren't the matchingRules suppose to be more important than the example in the request/response?
    y
    m
    • 3
    • 24
  • k

    Krysty

    03/21/2025, 4:48 AM
    Hello pactflow team, I have a question about publishing a provider contract via CLI. I'm getting this SSL certificate error but I don't remember it being mentioned during the demo.
    OpenSSL::SSL::SSLError - SSL_connect returned=1 errno=0 peeraddr=108.158.213.75:443 state=error: certificate verify failed (self-signed certificate in certificate chain)
    b
    m
    s
    • 4
    • 6
  • t

    Tyler Powell

    03/28/2025, 5:12 PM
    Hi, I am getting the following error on compatibility check:
    Copy code
    {
      "error": {
        "message": "Cannot read properties of undefined (reading 'name')"
      }
    }
    The contract hasn't fundamentally changed but I noticed that this error is only occurring for pacts verified with: Verifier pactflow-openapi-pact-comparator Version 1.0.0 previous pacts were verified with: Verifier pactflow-swagger-mock-validator Version 14.5.0
    m
    s
    • 3
    • 3
  • n

    Nikita Fidirko

    04/01/2025, 4:20 PM
    Hi Pactflow team, I'm currently exploring bi-directional contract testing but I'm a bit confused in terms of supported provider contract formats. https://docs.pactflow.io/docs/bi-directional-contract-testing/provider - here, only OAS formats are mentioned. https://docs.pactflow.io/docs/bi-directional-contract-testing - in the video here, OAS is mentioned as one of the possibilities. However, it's not mentioned what other formats are supported. https://docs.pactflow.io/docs/bi-directional-contract-testing/publishing#publishing - in the CLI reference, I can see the parameter
    --specification=SPECIFICATION
    but there are no mentions about possible values (apart from OAS) so, the question is: is OAS the only format that's supported?
    m
    • 2
    • 7
  • g

    Gabriel Vasconcelos

    04/03/2025, 8:40 PM
    Hello team, when I reach to
    {tenant}/pacticipant/{pacticipant}/network
    (singular), I get a huge list of integrations, which I assume is the comprehensive list with them all. If I try
    {tenant}/pacticipants/{pacticipant}/network
    (plural), it returns me 404. However, through the web I can reach
    {tenant}/pacticipants/{pacticipant}/network
    (plural) and I receive only the network for the desired pacticipant. Is it possible to make this reachable via the API? Thanks
  • m

    Matt (pactflow.io / pact-js / pact-go)

    04/03/2025, 9:50 PM
    What are you trying to do Gabriel?
    g
    • 2
    • 7
  • o

    Otoniel Rodriguez Delgado

    04/04/2025, 7:20 PM
    Hi I would like to know if it is possible to configure Pactflow to automatically assign users to teams upon authentication via SSO, for example, using Azure Active Directory (Azure AD). The goal is for Pactflow to map the groups a user belongs to in the Active Directory (AD) during the login process, and based on that information, automatically assign them to one or more specific teams within the platform. This would allow the appropriate permissions and roles to be applied from the first login, without requiring manual assignments. Is it possible to enable this functionality to map SSO groups to Pactflow teams?
    m
    • 2
    • 2
  • s

    Simon Raess

    04/17/2025, 9:07 AM
    I am trying to understand https://docs.pactflow.io/docs/bi-directional-contract-testing/provider. Why would I want to publish a failed provider verification? If my provider verification test fails, my pipeline will be in a failed state. I will never move on and e.g. try to install this on an environment. I already know the version is broken.
    y
    • 2
    • 26
  • r

    Rui

    04/24/2025, 4:02 PM
    Hi, I hope this is the right channel to ask this question. I am getting this error (Http 503) when trying to run the contract tests against pactflow. I am validating the contract against deploy or released contracts (.deployedOrReleased()). if I remove this method call it works. Can anyone here help me with this or redirect me to the correct channel? I'm using java and here is the stacktrace:
    Copy code
    at au.com.dius.pact.core.pactbroker.HalClient.handleHalResponse(HalClient.kt:336)
    at au.com.dius.pact.core.pactbroker.HalClient.access$handleHalResponse(HalClient.kt:158)
    at au.com.dius.pact.core.pactbroker.HalClient$getJson$1.invoke$lambda$0(HalClient.kt:311)
    at org.apache.hc.client5.http.impl.classic.CloseableHttpClient.execute(CloseableHttpClient.java:247)
    at org.apache.hc.client5.http.impl.classic.CloseableHttpClient.execute(CloseableHttpClient.java:188)
    at au.com.dius.pact.core.pactbroker.HalClient$getJson$1.invoke(HalClient.kt:310)
    at au.com.dius.pact.core.support.KotlinLanguageSupportKt.handleWith(KotlinLanguageSupport.kt:35)
    at au.com.dius.pact.core.pactbroker.HalClient.getJson(HalClient.kt:305)
    at au.com.dius.pact.core.pactbroker.HalClient.fetch(HalClient.kt:269)
    at au.com.dius.pact.core.pactbroker.PactBrokerClient.fetchPact(PactBrokerClient.kt:782)
    at au.com.dius.pact.core.model.PactReaderKt.loadPactFromUrl(PactReader.kt:60)
    at au.com.dius.pact.core.model.DefaultPactReader.loadFile(PactReader.kt:413)
    at au.com.dius.pact.core.model.DefaultPactReader.loadPact(PactReader.kt:210)
    at au.com.dius.pact.provider.junitsupport.loader.PactBrokerLoader.loadPactsForProvider(PactBrokerLoader.kt:266)
    at au.com.dius.pact.provider.junitsupport.loader.PactBrokerLoader.load(PactBrokerLoader.kt:128)
    at au.com.dius.pact.provider.junit5.PactVerificationInvocationContextProvider$resolvePactSources$pactSources$1$pacts$1.invoke(PactJUnit5VerificationProvider.kt:78)
    at au.com.dius.pact.core.support.KotlinLanguageSupportKt.handleWith(KotlinLanguageSupport.kt:35)
    at au.com.dius.pact.provider.junit5.PactVerificationInvocationContextProvider.resolvePactSources(PactJUnit5VerificationProvider.kt:78)
    at au.com.dius.pact.provider.junit5.PactVerificationInvocationContextProvider.provideTestTemplateInvocationContexts(PactJUnit5VerificationProvider.kt:45)
    at java.base/java.util.stream.ReferencePipeline$7$1.accept(ReferencePipeline.java:273)
    at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1708)
    at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509)
    at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)
    at java.base/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:151)
    at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:174)
    at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
    at java.base/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:596)
    at java.base/java.util.ArrayList.forEach(ArrayList.java:1596)
    at java.base/java.util.ArrayList.forEach(ArrayList.java:1596)
    m
    y
    • 3
    • 14
  • j

    James Fraser

    04/29/2025, 9:00 AM
    Hey folks 👋 I was wondering is it possible to disable a Pactflow user via the API?
    p
    m
    • 3
    • 5
  • j

    James Fraser

    05/15/2025, 4:03 PM
    Hey there 👋 I’ve had some engineers reach out to me about their can-i-deploy failing It seems that their BDCT integration hasn’t verified the interactions between a consumer branch and the provider version that’s deployed in an environment - is there a way to force that verification to take place?
    m
    s
    • 3
    • 5
  • s

    Simon Raess

    05/16/2025, 12:20 PM
    There seems to be a bug in the latest pactflow UI. It shows on multiple versions the same deployed environment, e.g. production. It seems the UI is showing the env "production" on all previously deployed versions. On the CLI (with -o json) it looks fine.
    m
    s
    • 3
    • 3
  • i

    ismail

    05/19/2025, 12:00 PM
    will be discussed here
    m
    • 2
    • 6
  • e

    Eddie Stanley

    05/20/2025, 2:44 AM
    Currently, with the bi-directional workflow consumers must upload a contract in Pact format. Wheras the provider uploads an OAS. Is support for consumers uploading an OAS (instead of Pact contract) on your roadmap?
    m
    • 2
    • 6
  • s

    Stephan Sommer

    05/20/2025, 12:54 PM
    Hi 👋 We're using PactFlow and have created a custom interaction type for Microfrontends, where we generate Pact V4 files ourselves (without using the standard Pact tooling), following the official spec. These interactions are added under the
    interactions[]
    array in the pact file, using a custom
    type
    and domain-specific fields in place of `request`/`response`. Our PoC showed promising results, and we'd now like to validate whether this is a supported and future-proof approach before rolling it out more broadly. Our main concern is whether PactFlow will continue to support contracts that contain custom interaction types and properties — or if there's a risk that the broker might reject these files in future versions. Does this sound like a safe path to go down? Thanks!
    m
    • 2
    • 3
  • r

    Rishav Singh

    06/09/2025, 10:20 AM
    Hi!, is there a way to check to about pacticipant deletion on pactflow like who deleted it, when it is deleted it ?
  • g

    Gabriel Vasconcelos

    06/09/2025, 10:56 AM
    Hello. I tried accessing our audit logs via /audit, but all we get are entries from over 1 month ago. Are there special parameters to use? I don't see anything in the docs about it.
    m
    • 2
    • 9
  • j

    James Fraser

    06/17/2025, 8:41 AM
    Hey folks 👋 possibly daft question - since I’ve moved to the new UI I can’t see where to find a system account token? If I click on the account options the only option I get is
    Copy Sys. Account UUID
    Where can I get it? 😅
    m
    • 2
    • 2
  • d

    David McKinney

    06/20/2025, 10:31 AM
    Hi folks, appreciate any help. Already have BDCT setup using Pactflow. Now I'm currently setting up MBCT but it looks like its trying to send http requests like for a normal provider verification.
    Copy code
    2025-06-20T09:55:08.050264Z  INFO ThreadId(16) pact_verifier: Running setup provider state change handler with empty state for 'a setCurrentPage event with empty pageId'
    2025-06-20T09:55:08.050280Z  INFO ThreadId(16) pact_verifier: Running provider verification for 'a setCurrentPage event with empty pageId'
    2025-06-20T09:55:08.050295Z  INFO ThreadId(16) pact_verifier::provider_client: Sending request to provider at <http://localhost:56254/>
    2025-06-20T09:55:08.050300Z  INFO ThreadId(16) pact_verifier::provider_client: Sending request HTTP Request ( method: POST, path: /, query: None, headers: Some({"Content-Type": ["application/json"]}), body: Present(58 bytes, application/json) )
    [10:55:08.052] ERROR (8141): pact@15.0.1: no handler found for message a setCurrentPage event with empty pageId
    Pactfile - https://pastebin.com/zqtfunst Consumer - https://pastebin.com/8MqM3Sre Provider - https://pastebin.com/fNTH9cSc My consumer tests will pass, generate the pactfile, it looks correct But on running the provider tests using jest it seems to use default http verifier
    m
    s
    • 3
    • 33
  • j

    Jocelyn Lecomte

    06/21/2025, 10:14 AM
    Hi Pactflow team. I just want to tell you about a little glitch in the webhook creation page: when you add a new header, it deletes the header key of all the headers that were previously configured.
    m
    • 2
    • 2
  • m

    Milda

    06/24/2025, 9:23 AM
    hi, we're seeing this error intermittently, seemingly when the publish is called, the hash that gets created for the contract is invalid, though I believe we're not the ones hashing the json? Any thoughts on how to guard against this? Was advised it's intermittent and it is on the OAS file upload
    Copy code
    status=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"}]}
    m
    p
    • 3
    • 8
  • z

    Zachary Lysobey

    06/24/2025, 9:42 PM
    @Zachary Lysobey has left the channel