首页 > 解决方案 > PactBroker - 使用带有 webhook 的标签 - 竞争条件?

问题描述

我在消费者/提供者之间有一个 webhook 来触发 TeamCity 构建以验证提供者。

我将其设置为与功能分支一起使用(到目前为止,我们只为 master 设置了它)。我正在向 PactBroker 发布新合同。接下来我用分支名称标记它。但是如果此时存在 webhook,它将在 pact 发布之后、被标记之前触发(因为发布/标记是单独的请求),因此 ${pactbroker.consumerVersionTags} 为空。如果我在协议发布和标记后创建 webhook/执行它,那么它会按预期工作。

我做错了什么?我希望我可以只创建一次 webhook,它可以在这种情况下工作。是否可以在同一个请求中发布/标记(从文档中对我来说并不明显)?

编辑:我正在使用 F# 的 REST API。

编辑 2:使用 CLI 是可能的,即。pact-broker publish --consumer-app-version 1.0.0 --broker-base-url https://dius.pact.dius.com.au --broker-token SomeToken /path/to/pacts/consumer-provider .json --标签主

标签: pact

解决方案


颠倒顺序就足够了 - 首先标记(参与者),然后发布(协议)。起初我没有想到这一点,因为我认为它更像是标记一个协议,而它是标记一个消费者,而不是一个协议。

留给后人。


推荐阅读