https://pact.io logo
Join Slack
Powered by
# pact-broker
  • m

    ManuGu

    08/22/2022, 1:37 PM
    Hello all !! i have a problem with my pact broker 😞 i have searched all the internet and didn't found a solution :
  • m

    ManuGu

    08/22/2022, 1:37 PM
    here is the problem
  • m

    ManuGu

    08/22/2022, 1:38 PM
    for provider when wants to verify the pacts on pact broker
  • m

    ManuGu

    08/22/2022, 1:38 PM
    i have this error :
  • m

    ManuGu

    08/22/2022, 1:39 PM
    <http://au.com|au.com>.dius.pact.core.pactbroker.InvalidNavigationRequest: Failed to fetch the root HAL document
    m
    • 2
    • 49
  • m

    ManuGu

    08/22/2022, 1:39 PM
    at <http://au.com|au.com>.dius.pact.core.pactbroker.HalClient.navigate(HalClient.kt:240)
    at au.com.dius.pact.core.pactbroker.PactBrokerClient$fetchConsumersWithSelectors$halClient$navigateResult$1.invoke(PactBrokerClient.kt:311) at au.com.dius.pact.core.support.KotlinLanguageSupportKt.handleWith(KotlinLanguageSupport.kt:39) at au.com.dius.pact.core.pactbroker.PactBrokerClient.fetchConsumersWithSelectors(PactBrokerClient.kt:311) at au.com.dius.pact.provider.junitsupport.loader.PactBrokerLoader.loadPactsForProvider(PactBrokerLoader.kt:233) at au.com.dius.pact.provider.junitsupport.loader.PactBrokerLoader.load(PactBrokerLoader.kt:120) at au.com.dius.pact.provider.junit5.PactVerificationInvocationContextProvider$resolvePactSources$pactSources$1$pacts$1.invoke(PactJUnit5VerificationProvider.kt:83) at au.com.dius.pact.core.support.KotlinLanguageSupportKt.handleWith(KotlinLanguageSupport.kt:39) at au.com.dius.pact.provider.junit5.PactVerificationInvocationContextProvider.resolvePactSources(PactJUnit5VerificationProvider.kt:83) at au.com.dius.pact.provider.junit5.PactVerificationInvocationContextProvider.provideTestTemplateInvocationContexts(PactJUnit5VerificationProvider.kt:44) at au.com.dius.pact.provider.spring.junit5.PactVerificationSpringProvider.provideTestTemplateInvocationContexts(PactVerificationSpringProvider.kt:24) at org.junit.jupiter.engine.descriptor.TestTemplateTestDescriptor.lambda$execute$0(TestTemplateTestDescriptor.java:103) at java.base/java.util.stream.ReferencePipeline$7$1.accept(ReferencePipeline.java:271) at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1621) at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:484) at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474) at java.base/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150) at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173) at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) at java.base/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:497) at org.junit.jupiter.engine.descriptor.TestTemplateTestDescriptor.execute(TestTemplateTestDescriptor.java:107) at org.junit.jupiter.engine.descriptor.TestTemplateTestDescriptor.execute(TestTemplateTestDescriptor.java:42) at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:151) at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:141) at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137) at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:139) at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:138) at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:95) at java.base/java.util.ArrayList.forEach(ArrayList.java:1507) at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:41) at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:155) at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:141) at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137) at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:139) at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:138) at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:95) at java.base/java.util.ArrayList.forEach(ArrayList.java:1507) at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:41) at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:155) at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:141) at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137) at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:139) at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:138) at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:95) at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.submit(SameThreadHierarchicalTestExecutorService.java:35) at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:57) at org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine.execute(HierarchicalTestEngine.java:54) at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:107) at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:88) at org.junit.platform.launcher.core.EngineExecutionOrchestrator.lambda$execute$0(EngineExecutionOrchestrator.java:54) at org.junit.platform.launcher.core.EngineExecutionOrchestrator.withInterceptedStreams(EngineExecutionOrchestrator.java:67) at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:52) at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:114) at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:86) at org.junit.platform.launcher.core.DefaultLauncherSession$DelegatingLauncher.execute(DefaultLauncherSession.java:86) at org.junit.platform.launcher.core.SessionPerRequestLauncher.execute(SessionPerRequestLauncher.java:53) at com.intellij.junit5.JUnit5IdeaTestRunner.startRunnerWithArgs(JUnit5IdeaTestRunner.java:71) at com.intellij.rt.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:33) at com.intellij.rt.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:220) at com.intellij.rt.junit.JUnitStarter.main(JUnitStarter.java:53) Caused by: javax.net.ssl.SSLException: Read timed out at java.base/sun.security.ssl.Alert.createSSLException(Alert.java:127) at java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:324) at java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:267) at java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:262) at java.base/sun.security.ssl.SSLTransport.decode(SSLTransport.java:137) at java.base/sun.security.ssl.SSLSocketImpl.decode(SSLSocketImpl.java:1460) at java.base/sun.security.ssl.SSLSocketImpl.readHandshakeRecord(SSLSocketImpl.java:1368) at java.base/sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:437) at org.apache.hc.client5.http.ssl.SSLConnectionSocketFactory.createLayeredSocket(SSLConnectionSocketFactory.java:273) at org.apache.hc.client5.http.ssl.SSLConnectionSocketFactory.connectSocket(SSLConnectionSocketFactory.java:241) at org.apache.hc.client5.http.impl.io.DefaultHttpClientConnectionOperator.connect(DefaultHttpClientConnectionOperator.java:148) at org.apache.hc.client5.http.impl.io.PoolingHttpClientConnectionManager.connect(PoolingHttpClientConnectionManager.java:396) at org.apache.hc.client5.http.impl.classic.InternalExecRuntime.connectEndpoint(InternalExecRuntime.java:158) at org.apache.hc.client5.http.impl.classic.InternalExecRuntime.connectEndpoint(InternalExecRuntime.java:168) at org.apache.hc.client5.http.impl.classic.ConnectExec.execute(ConnectExec.java:136) at org.apache.hc.client5.http.impl.classic.ExecChainElement.execute(ExecChainElement.java:51) at org.apache.hc.client5.http.impl.classic.ExecChainElement$1.proceed(ExecChainElement.java:57) at org.apache.hc.client5.http.impl.classic.ProtocolExec.execute(ProtocolExec.java:175) at org.apache.hc.client5.http.impl.classic.ExecChainElement.execute(ExecChainElement.java:51) at org.apache.hc.client5.http.impl.classic.ExecChainElement$1.proceed(ExecChainElement.java:57) at org.apache.hc.client5.http.impl.classic.HttpRequestRetryExec.execute(HttpRequestRetryExec.java:96) at org.apache.hc.client5.http.impl.classic.ExecChainElement.execute(ExecChainElement.java:51) at org.apache.hc.client5.http.impl.classic.ExecChainElement$1.proceed(ExecChainElement.java:57) at org.apache.hc.client5.http.impl.classic.ContentCompressionExec.execute(ContentCompressionExec.java:133) at org.apache.hc.client5.http.impl.classic.ExecChainElement.execute(ExecChainElement.java:51) at org.apache.hc.client5.http.impl.classic.ExecChainElement$1.proceed(ExecChainElement.java:57) at org.apache.hc.client5.http.impl.classic.RedirectExec.execute(RedirectExec.java:115) at org.apache.hc.client5.http.impl.classic.ExecChainElement.execute(ExecChainElement.java:51) at org.apache.hc.client5.http.impl.classic.InternalHttpClient.doExecute(InternalHttpClient.java:170) at org.apache.hc.client5.http.impl.classic.CloseableHttpClient.execute(CloseableHttpClient.java:67) at org.apache.hc.client5.http.impl.classic.CloseableHttpClient.execute(CloseableHttpClient.java:200) at org.apache.hc.client5.http.impl.classic.CloseableHttpClient.execute(CloseableHttpClient.java:143) at au.com.dius.pact.core.pactbroker.HalClient$getJson$1.invoke(HalClient.kt:300) at au.com.dius.pact.core.support.KotlinLanguageSupportKt.handleWith(KotlinLanguageSupport.kt:39) at au.com.dius.pact.core.pactbroker.HalClient.getJson(HalClient.kt:295) at au.com.dius.pact.core.pactbroker.HalClient.fetch(HalClient.kt:259) at au.com.dius.pact.core.pactbroker.HalClient.fetch(HalClient.kt:254) at au.com.dius.pact.core.pactbroker.HalClient.navigate(HalClient.kt:236) ... 65 more Caused by: java.net.SocketTimeoutException: Read timed out at java.base/sun.nio.ch.NioSocketImpl.timedRead(NioSocketImpl.java:284) at java.base/sun.nio.ch.NioSocketImpl.implRead(NioSocketImpl.java:310) at java.base/sun.nio.ch.NioSocketImpl.read(NioSocketImpl.java:351) at java.base/sun.nio.ch.NioSocketImpl$1.read(NioSocketImpl.java:802) at java.base/java.net.Socket$SocketInputStream.read(Socket.java:937) at java.base/sun.security.ssl.SSLSocketInputRecord.read(SSLSocketInputRecord.java:450) at java.base/sun.security.ssl.SSLSocketInputRecord.decode(SSLSocketInputRecord.java:165) at java.base/sun.security.ssl.SSLTransport.decode(SSLTransport.java:108) ... 98 more
  • m

    ManuGu

    08/22/2022, 1:40 PM
    i am under 4.3.7 version of pact
  • m

    ManuGu

    08/22/2022, 1:40 PM
    Copy code
    au.com.dius.pact.provider
  • m

    ManuGu

    08/22/2022, 1:41 PM
    Can you please help me on this ? i am blocked for two days didn't find a solution 😞
  • m

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

    08/22/2022, 1:41 PM
    Please try and keep to a thread if you can. I've started one above
  • m

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

    08/22/2022, 1:43 PM
    https://pact-foundation.slack.com/archives/C9VPNUJR2/p1661175549830319?thread_ts=1661175549.830319&amp;cid=C9VPNUJR2
  • a

    Adam Witko

    08/23/2022, 11:02 AM
    Quick one for people. How do you logout of the Pact Broker OSS? I see no option in the UI or any clear indication if your auth creds are stored in cookies/local storage/ session storage, etc
    m
    • 2
    • 4
  • s

    Shan

    08/23/2022, 4:02 PM
    Hello everyone! How to make Pact broker web-hook status green again? I had to change content changed web-hook build URL due to our Jenkins migration. So web-hook did not trigger and web-hook status was in red state. Now I updated the correct URL and web-hook triggers successfully but I still see web-hook status as red instead of green. Anyone experienced this?
    b
    • 2
    • 10
  • é

    Édouard Lopez

    08/24/2022, 2:32 PM
    Is the branch feature support documentation still accurate, i.e. only Ruby and dockerized support?
    thankyou 3 1
    nope 1
    m
    b
    y
    • 4
    • 6
  • h

    Harry

    08/26/2022, 2:32 PM
    Hi Team, when running the can-i-deploy command, its trying to find a verified pact for a particular provider, with a consumer whose pact does not exist on the broker anymore. How to resolve this?
    b
    • 2
    • 3
  • s

    Shan

    08/29/2022, 6:10 PM
    When
    PACT_BROKER_CAN_I_DEPLOY_DRY_RUN
    is set to
    true
    do
    [--retry-interval=SECONDS]
    and
    [--retry-while-unknown=TIMES]
    have any affect?
    b
    • 2
    • 3
  • f

    Fábio Rodrigues

    09/01/2022, 8:57 AM
    Hello All 👋 I got a problem with pact broker We have a list of pacts for a provider to be verified, the name of the provider is 'application-versioning-service' and the consumer service is 'publish-service' The pactnet nugget attempts to retrieve the contract to be verified by using the following call:
    Copy code
    [10h26] 2022-08-31T07:31:01.8906579Z [DEBUG][pact_verifier::pact_broker] Sending JSON to <https://outsystems.pactflow.io/pacts/provider/application-versioning-service/for-verification> using POST: {"providerVersionTags":[],"includePendingStatus":true,"consumerVersionSelectors":[{"consumer":"publish-service","mainBranch":true}]}
    For any other consumer it is working fine, we get the specific contract but for that one - 'publish-service' he doesn't give anything and it returns that pact couldn't find the contract. When i checked out using the API browser using the following call (for the contracts to be verified endpoint that the url use)
    Copy code
    {
      "providerVersionTags": [],
      "includePendingStatus": true,
      "consumerVersionSelectors": [
        {
          "consumer": "publish-service",
          "mainBranch": true
        }
      ]
    }
    i got the response where i got all contracts (but no publish-service one) when
    "consumer"
    is, for example, another one (like alm-app) i get only that one (as expected)
    b
    • 2
    • 8
  • f

    Fábio Rodrigues

    09/01/2022, 8:58 AM
    all contracts have main branch published, and in pactflow we can see that other times it gets verified
  • r

    Rubén Pérez

    09/02/2022, 6:26 AM
    Hi team 🙂 I have some doubts regarding the
    Webhook
    triggering. Reading the documentation here, I can see this:
    If the relevant consumer version has any tags, then for each tag, check if the content is different from the previous latest version for that tag. It is 'changed' if any of the checks are true. One side effect of this is that brand new tags will trigger a pact changed event, even if the content is the same as a previous version.
    Reading this, some questions come to my mind: 1. Does it work for
    branches
    that way? I mean, if we used branches instead of tags, it would still trigger an execution for every new branch even if there are no changes to the contract? (Currently we are using both branch and tags) 2. Would it happen that way too with the
    contract_requiring_verification_published
    event? We are still using the old
    contract_content_changed
    🙂 3. Is there a way to "disable" those "side-effect" executions? I would like to avoid them if the contract does not include actual changes. 4. I'm pretty sure there is a reason why every new branch triggers an execution, but I'm struggling at understanding it 😅, because that new branch may or may not introduce actual contract changes. Could anyone help me understand that? Thank you! 🙂
    b
    • 2
    • 39
  • j

    Johannes Marx

    09/02/2022, 7:21 AM
    Hi pact team, I'm currently trying to figure how to best integrate
    Webhooks
    with GitHub on the event "Contract published that requires verification" to trigger the GitHub action on the provider side. My question is about the authorization. I was trying to use a GitHub App as a "system account" but I doesn't work be cause a multi-step auth is required (e.g. create installation access token that is valid for 1 hour). Am I right that I basically need to create a "system user" in GitHub, create a PAT for that system user and simply use this to authenticate the webhook? Or am I missing something? I basically don't want to use a PAT of a "real" personal account within the organization. Thanks in advance for your support 👍
    b
    m
    • 3
    • 11
  • é

    Édouard Lopez

    09/06/2022, 9:06 AM
    Could you help me understand why there is no contract available for verification? https://pact-foundation.slack.com/archives/C9UN99H24/p1662390872006659
    m
    b
    • 3
    • 4
  • s

    Sneha Singh

    09/07/2022, 12:50 PM
    Could someone please help me with the step-by-step pact broker implementation? If anyone has any detailed documentation, it will be really helpful.
    m
    s
    • 3
    • 5
  • t

    Timothy Jones

    09/08/2022, 2:01 PM
    Is it still the case that the broker is contract-agnostic - as in, I can put any other json file in instead of the pact file?
    ✅ 1
    y
    m
    b
    • 4
    • 4
  • t

    Timothy Jones

    09/08/2022, 2:01 PM
    Are there any fields that are required - eg consumer / provider?
    👎 1
  • m

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

    09/08/2022, 2:04 PM
    calling it the Pact Broker might be the worst branding mistake 😆
    pact open link 2
    😅 2
  • y

    Yousaf Nabi (pactflow.io)

    09/08/2022, 2:05 PM
    JSON Broker - Sound like a good film in the making
    🤔 2
    😂 2
    m
    b
    • 3
    • 3
  • а

    Александр Аврамчик

    09/09/2022, 11:05 AM
    Hi folks! Is there any way to get a version of the provider that deployed in different environments? I'm trying to get rid of tags. And previously I used 'describe the version' to do this. But I don't see any option for 'environments'. Or is there any other way to verify the new pact with different versions of provider?
    m
    t
    b
    • 4
    • 21
  • s

    Sneha Singh

    09/12/2022, 10:52 AM
    Hey guys, I am trying to publish the contracts to pact-broker in the consumer repo. I have added PACT_BROKER_BASE_URL and PACT_BROKER_TOKEN in the.env file, but when I run the command on the terminal to publish it, it throws an error.
    Copy code
    pact-broker publish --consumer-app-version 1.0.0 --broker-base-url=${PACT_BROKER_BASE_URL} --broker-token=${PACT_BROKER_TOKEN} pacts/webapp-pact-js-v3-engine-service.json
    m
    b
    • 3
    • 4
  • j

    Jordan Nazemi

    09/12/2022, 8:53 PM
    As you can see, the consumer contract is comparing the FULL path of the request to the partial path in the provider contract (the full path being made up of that server url + the endpoint). Is there something I should change to how I'm uploading the pact on either the provider or consumer side to resolve this?
    b
    m
    +2
    • 5
    • 24
  • t

    Thai Le

    09/15/2022, 4:14 PM
    Hello, can i create more user on pact broker ?
    y
    t
    • 3
    • 3
1...456...14Latest