pact_broker-client 1.73.0 → 1.75.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.github/workflows/release_gem.yml +2 -2
- data/.github/workflows/test.yml +4 -1
- data/.github/workflows/trigger_pact_docs_update.yml +1 -1
- data/CHANGELOG.md +22 -0
- data/Gemfile +1 -0
- data/README.md +100 -35
- data/doc/pacts/markdown/Pact Broker Client - Pact Broker.md +45 -0
- data/doc/pacts/markdown/Pact Broker Client - Pactflow.md +1 -1
- data/example/scripts/publish-pact-rake.sh +10 -0
- data/example/scripts/publish-pact.sh +25 -1
- data/example/scripts/publish-provider-contract.sh +2 -1
- data/lib/pact_broker/client/branches/delete_branch.rb +64 -0
- data/lib/pact_broker/client/cli/branch_commands.rb +40 -0
- data/lib/pact_broker/client/cli/broker.rb +2 -1
- data/lib/pact_broker/client/cli/custom_thor.rb +2 -2
- data/lib/pact_broker/client/cli/environment_commands.rb +1 -1
- data/lib/pact_broker/client/cli/pact_commands.rb +35 -14
- data/lib/pact_broker/client/cli/version_commands.rb +2 -2
- data/lib/pact_broker/client/git.rb +20 -3
- data/lib/pact_broker/client/merge_pacts.rb +5 -2
- data/lib/pact_broker/client/publish_pacts_the_old_way.rb +1 -1
- data/lib/pact_broker/client/tasks/publication_task.rb +40 -23
- data/lib/pact_broker/client/version.rb +1 -1
- data/lib/pactflow/client/cli/provider_contract_commands.rb +1 -1
- data/lib/pactflow/client/provider_contracts/publish.rb +1 -1
- data/script/publish-provider-contract.sh +0 -1
- data/script/update-cli-usage-in-readme.rb +1 -0
- data/spec/fixtures/MyConsumer-MyProvider (1).json +37 -0
- data/spec/fixtures/MyConsumer-MyProvider.json +37 -0
- data/spec/integration/can_i_deploy_spec.rb +0 -9
- data/spec/lib/pact_broker/client/branches/delete_branch_spec.rb +103 -0
- data/spec/lib/pact_broker/client/cli/broker_publish_spec.rb +38 -21
- data/spec/lib/pact_broker/client/merge_pacts_spec.rb +26 -0
- data/spec/lib/pact_broker/client/publish_pacts_the_old_way_spec.rb +1 -3
- data/spec/lib/pact_broker/client/tasks/publication_task_spec.rb +54 -31
- data/spec/pacts/pact_broker_client-pact_broker.json +43 -0
- data/spec/pacts/pact_broker_client-pactflow.json +1 -1
- data/spec/service_providers/delete_branch_spec.rb +68 -0
- data/spec/service_providers/pact_helper.rb +1 -0
- data/spec/service_providers/pactflow_publish_provider_contract_spec.rb +1 -1
- data/spec/support/ssl_server.rb +1 -1
- data/tasks/pact.rake +79 -0
- metadata +14 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c5089c183a535af491e824cdb9d198cb06150cb44d77014b09957564b9a47be7
|
4
|
+
data.tar.gz: 4d86ae219d734f0d4266214d1adca636f4557691104e75a720e8860d4103f831
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 4f7e075d702ae824e91835cfbf14068c8c2938877cc0a156f7d99e8f9a577bd41d4b4507f06f714897c8f911e7c85f647f94898d4eb0ebf1ea938b270d004708
|
7
|
+
data.tar.gz: e7f787f092e10fec2166328a1bca16c7517a5a1c65179f92e4b9b71f6a97caaf0633a0ecc71f03cc0b9baaf303a86d26567a11399ff8fcd9a00d1de54685f856
|
@@ -29,7 +29,7 @@ jobs:
|
|
29
29
|
- uses: actions/checkout@v4
|
30
30
|
with:
|
31
31
|
fetch-depth: 0
|
32
|
-
- uses: pact-foundation/release-gem@
|
32
|
+
- uses: pact-foundation/release-gem@v1
|
33
33
|
id: release
|
34
34
|
env:
|
35
35
|
GEM_HOST_API_KEY: '${{ secrets.RUBYGEMS_API_KEY }}'
|
@@ -61,7 +61,7 @@ jobs:
|
|
61
61
|
runs-on: ubuntu-latest
|
62
62
|
steps:
|
63
63
|
- name: Notify ${{ matrix.repository }} of gem release
|
64
|
-
uses: peter-evans/repository-dispatch@
|
64
|
+
uses: peter-evans/repository-dispatch@v2
|
65
65
|
with:
|
66
66
|
token: ${{ secrets.GHTOKENFORPACTCLIRELEASE }}
|
67
67
|
repository: ${{ matrix.repository }}
|
data/.github/workflows/test.yml
CHANGED
@@ -16,7 +16,7 @@ jobs:
|
|
16
16
|
runs-on: ubuntu-latest
|
17
17
|
steps:
|
18
18
|
- name: Trigger docs.pact.io update workflow
|
19
|
-
uses: peter-evans/repository-dispatch@
|
19
|
+
uses: peter-evans/repository-dispatch@v2
|
20
20
|
with:
|
21
21
|
token: ${{ secrets.GHTOKENFORTRIGGERINGPACTDOCSUPDATE }}
|
22
22
|
repository: pact-foundation/docs.pact.io
|
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,25 @@
|
|
1
|
+
<a name="v1.75.0"></a>
|
2
|
+
### v1.75.0 (2023-11-11)
|
3
|
+
|
4
|
+
#### Features
|
5
|
+
|
6
|
+
* add support for delete-branch command (#151) ([6da6202](/../../commit/6da6202))
|
7
|
+
|
8
|
+
#### Bug Fixes
|
9
|
+
|
10
|
+
* set correct Accept header when publishing provider contracts ([abc8ea3](/../../commit/abc8ea3))
|
11
|
+
|
12
|
+
<a name="v1.74.0"></a>
|
13
|
+
### v1.74.0 (2023-10-14)
|
14
|
+
|
15
|
+
#### Features
|
16
|
+
|
17
|
+
* auto detect commit sha, add shorthand -r flag (#119) ([1dac9f8](/../../commit/1dac9f8))
|
18
|
+
|
19
|
+
#### Bug Fixes
|
20
|
+
|
21
|
+
* support merging v3 pacts ([d1e01d0](/../../commit/d1e01d0))
|
22
|
+
|
1
23
|
<a name="v1.73.0"></a>
|
2
24
|
### v1.73.0 (2023-10-13)
|
3
25
|
|
data/Gemfile
CHANGED
data/README.md
CHANGED
@@ -59,18 +59,19 @@ In the next major version, an error will be raised by default.
|
|
59
59
|
|
60
60
|
```
|
61
61
|
Usage:
|
62
|
-
pact-broker publish PACT_DIRS_OR_FILES ... -
|
62
|
+
pact-broker publish PACT_DIRS_OR_FILES ... -b, --broker-base-url=BROKER_BASE_URL
|
63
63
|
|
64
64
|
Options:
|
65
|
-
-a, --consumer-app-version=CONSUMER_APP_VERSION
|
65
|
+
-a, [--consumer-app-version=CONSUMER_APP_VERSION]
|
66
66
|
# The consumer application version
|
67
67
|
-h, [--branch=BRANCH]
|
68
68
|
# Repository branch of the consumer version
|
69
|
-
|
70
|
-
# Automatically detect the repository branch
|
71
|
-
environment variables or git CLI. Supports
|
72
|
-
CI, Travis CI, GitHub Actions, Jenkins,
|
73
|
-
GitLab, CodeShip, Bitbucket and Azure DevOps.
|
69
|
+
-r, [--auto-detect-version-properties], [--no-auto-detect-version-properties]
|
70
|
+
# Automatically detect the repository commit, branch and build
|
71
|
+
URL from known CI environment variables or git CLI. Supports
|
72
|
+
Buildkite, Circle CI, Travis CI, GitHub Actions, Jenkins,
|
73
|
+
Hudson, AppVeyor, GitLab, CodeShip, Bitbucket and Azure DevOps.
|
74
|
+
# Default: false
|
74
75
|
-t, [--tag=TAG]
|
75
76
|
# Tag name for consumer version. Can be specified multiple
|
76
77
|
times.
|
@@ -78,13 +79,15 @@ Options:
|
|
78
79
|
# Tag consumer version with the name of the current git branch.
|
79
80
|
Supports Buildkite, Circle CI, Travis CI, GitHub Actions,
|
80
81
|
Jenkins, Hudson, AppVeyor, GitLab, CodeShip, Bitbucket and
|
81
|
-
Azure DevOps.
|
82
|
+
Azure DevOps.
|
83
|
+
# Default: false
|
82
84
|
[--build-url=BUILD_URL]
|
83
85
|
# The build URL that created the pact
|
84
86
|
[--merge], [--no-merge]
|
85
87
|
# If a pact already exists for this consumer version and
|
86
88
|
provider, merge the contents. Useful when running Pact tests
|
87
89
|
concurrently on different build nodes.
|
90
|
+
# Default: false
|
88
91
|
-o, [--output=OUTPUT]
|
89
92
|
# json or text
|
90
93
|
# Default: text
|
@@ -97,7 +100,8 @@ Options:
|
|
97
100
|
-k, [--broker-token=BROKER_TOKEN]
|
98
101
|
# Pact Broker bearer token
|
99
102
|
-v, [--verbose], [--no-verbose]
|
100
|
-
# Verbose output.
|
103
|
+
# Verbose output.
|
104
|
+
# Default: false
|
101
105
|
```
|
102
106
|
|
103
107
|
Publish pacts to a Pact Broker.
|
@@ -118,7 +122,8 @@ Options:
|
|
118
122
|
-k, [--broker-token=BROKER_TOKEN]
|
119
123
|
# Pact Broker bearer token
|
120
124
|
-v, [--verbose], [--no-verbose]
|
121
|
-
# Verbose output.
|
125
|
+
# Verbose output.
|
126
|
+
# Default: false
|
122
127
|
-o, [--output=OUTPUT]
|
123
128
|
# json or table
|
124
129
|
# Default: table
|
@@ -142,7 +147,8 @@ Options:
|
|
142
147
|
# The display name of the environment
|
143
148
|
[--production], [--no-production]
|
144
149
|
# Whether or not this environment is a production environment.
|
145
|
-
This is currently informational only.
|
150
|
+
This is currently informational only.
|
151
|
+
# Default: false
|
146
152
|
[--contact-name=CONTACT_NAME]
|
147
153
|
# The name of the team/person responsible for this environment
|
148
154
|
[--contact-email-address=CONTACT_EMAIL_ADDRESS]
|
@@ -160,7 +166,8 @@ Options:
|
|
160
166
|
-k, [--broker-token=BROKER_TOKEN]
|
161
167
|
# Pact Broker bearer token
|
162
168
|
-v, [--verbose], [--no-verbose]
|
163
|
-
# Verbose output.
|
169
|
+
# Verbose output.
|
170
|
+
# Default: false
|
164
171
|
```
|
165
172
|
|
166
173
|
Create an environment resource in the Pact Broker to represent a real world deployment or release environment.
|
@@ -181,7 +188,8 @@ Options:
|
|
181
188
|
# The display name of the environment
|
182
189
|
[--production], [--no-production]
|
183
190
|
# Whether or not this environment is a production environment.
|
184
|
-
This is currently informational only.
|
191
|
+
This is currently informational only.
|
192
|
+
# Default: false
|
185
193
|
[--contact-name=CONTACT_NAME]
|
186
194
|
# The name of the team/person responsible for this environment
|
187
195
|
[--contact-email-address=CONTACT_EMAIL_ADDRESS]
|
@@ -199,7 +207,8 @@ Options:
|
|
199
207
|
-k, [--broker-token=BROKER_TOKEN]
|
200
208
|
# Pact Broker bearer token
|
201
209
|
-v, [--verbose], [--no-verbose]
|
202
|
-
# Verbose output.
|
210
|
+
# Verbose output.
|
211
|
+
# Default: false
|
203
212
|
```
|
204
213
|
|
205
214
|
Update an environment resource in the Pact Broker.
|
@@ -225,7 +234,8 @@ Options:
|
|
225
234
|
-k, [--broker-token=BROKER_TOKEN]
|
226
235
|
# Pact Broker bearer token
|
227
236
|
-v, [--verbose], [--no-verbose]
|
228
|
-
# Verbose output.
|
237
|
+
# Verbose output.
|
238
|
+
# Default: false
|
229
239
|
```
|
230
240
|
|
231
241
|
Describe an environment
|
@@ -251,7 +261,8 @@ Options:
|
|
251
261
|
-k, [--broker-token=BROKER_TOKEN]
|
252
262
|
# Pact Broker bearer token
|
253
263
|
-v, [--verbose], [--no-verbose]
|
254
|
-
# Verbose output.
|
264
|
+
# Verbose output.
|
265
|
+
# Default: false
|
255
266
|
```
|
256
267
|
|
257
268
|
Delete an environment
|
@@ -275,7 +286,8 @@ Options:
|
|
275
286
|
-k, [--broker-token=BROKER_TOKEN]
|
276
287
|
# Pact Broker bearer token
|
277
288
|
-v, [--verbose], [--no-verbose]
|
278
|
-
# Verbose output.
|
289
|
+
# Verbose output.
|
290
|
+
# Default: false
|
279
291
|
```
|
280
292
|
|
281
293
|
List environments
|
@@ -316,7 +328,8 @@ Options:
|
|
316
328
|
-k, [--broker-token=BROKER_TOKEN]
|
317
329
|
# Pact Broker bearer token
|
318
330
|
-v, [--verbose], [--no-verbose]
|
319
|
-
# Verbose output.
|
331
|
+
# Verbose output.
|
332
|
+
# Default: false
|
320
333
|
```
|
321
334
|
|
322
335
|
Record deployment of a pacticipant version to an environment. See https://docs.pact.io/record-deployment for more information.
|
@@ -356,7 +369,8 @@ Options:
|
|
356
369
|
-k, [--broker-token=BROKER_TOKEN]
|
357
370
|
# Pact Broker bearer token
|
358
371
|
-v, [--verbose], [--no-verbose]
|
359
|
-
# Verbose output.
|
372
|
+
# Verbose output.
|
373
|
+
# Default: false
|
360
374
|
```
|
361
375
|
|
362
376
|
Description:
|
@@ -392,7 +406,8 @@ Options:
|
|
392
406
|
-k, [--broker-token=BROKER_TOKEN]
|
393
407
|
# Pact Broker bearer token
|
394
408
|
-v, [--verbose], [--no-verbose]
|
395
|
-
# Verbose output.
|
409
|
+
# Verbose output.
|
410
|
+
# Default: false
|
396
411
|
```
|
397
412
|
|
398
413
|
Record release of a pacticipant version to an environment. See See https://docs.pact.io/record-release for more information.
|
@@ -422,7 +437,8 @@ Options:
|
|
422
437
|
-k, [--broker-token=BROKER_TOKEN]
|
423
438
|
# Pact Broker bearer token
|
424
439
|
-v, [--verbose], [--no-verbose]
|
425
|
-
# Verbose output.
|
440
|
+
# Verbose output.
|
441
|
+
# Default: false
|
426
442
|
```
|
427
443
|
|
428
444
|
Record the end of support for a pacticipant version in an environment. See https://docs.pact.io/record-support-ended for more information.
|
@@ -459,6 +475,7 @@ Options:
|
|
459
475
|
# Use the latest version of the configured main branch of the
|
460
476
|
pacticipant as the version for which you want to check the
|
461
477
|
verification results
|
478
|
+
# Default: false
|
462
479
|
[--to-environment=ENVIRONMENT]
|
463
480
|
# The environment into which the pacticipant(s) are to be
|
464
481
|
deployed
|
@@ -488,6 +505,7 @@ Options:
|
|
488
505
|
is recommended to use the environment variable and just set it
|
489
506
|
for the build required to deploy that particular version, so
|
490
507
|
you don't accidentally leave the dry run mode enabled.
|
508
|
+
# Default: false
|
491
509
|
-b, --broker-base-url=BROKER_BASE_URL
|
492
510
|
# The base URL of the Pact Broker
|
493
511
|
-u, [--broker-username=BROKER_USERNAME]
|
@@ -497,7 +515,8 @@ Options:
|
|
497
515
|
-k, [--broker-token=BROKER_TOKEN]
|
498
516
|
# Pact Broker bearer token
|
499
517
|
-v, [--verbose], [--no-verbose]
|
500
|
-
# Verbose output.
|
518
|
+
# Verbose output.
|
519
|
+
# Default: false
|
501
520
|
```
|
502
521
|
|
503
522
|
Description:
|
@@ -575,6 +594,7 @@ Options:
|
|
575
594
|
is recommended to use the environment variable and just set it
|
576
595
|
for the build required to deploy that particular version, so
|
577
596
|
you don't accidentally leave the dry run mode enabled.
|
597
|
+
# Default: false
|
578
598
|
-b, --broker-base-url=BROKER_BASE_URL
|
579
599
|
# The base URL of the Pact Broker
|
580
600
|
-u, [--broker-username=BROKER_USERNAME]
|
@@ -584,7 +604,8 @@ Options:
|
|
584
604
|
-k, [--broker-token=BROKER_TOKEN]
|
585
605
|
# Pact Broker bearer token
|
586
606
|
-v, [--verbose], [--no-verbose]
|
587
|
-
# Verbose output.
|
607
|
+
# Verbose output.
|
608
|
+
# Default: false
|
588
609
|
```
|
589
610
|
|
590
611
|
Description:
|
@@ -619,7 +640,8 @@ Options:
|
|
619
640
|
-k, [--broker-token=BROKER_TOKEN]
|
620
641
|
# Pact Broker bearer token
|
621
642
|
-v, [--verbose], [--no-verbose]
|
622
|
-
# Verbose output.
|
643
|
+
# Verbose output.
|
644
|
+
# Default: false
|
623
645
|
```
|
624
646
|
|
625
647
|
Create or update pacticipant by name
|
@@ -645,7 +667,8 @@ Options:
|
|
645
667
|
-k, [--broker-token=BROKER_TOKEN]
|
646
668
|
# Pact Broker bearer token
|
647
669
|
-v, [--verbose], [--no-verbose]
|
648
|
-
# Verbose output.
|
670
|
+
# Verbose output.
|
671
|
+
# Default: false
|
649
672
|
```
|
650
673
|
|
651
674
|
Describe a pacticipant
|
@@ -669,7 +692,8 @@ Options:
|
|
669
692
|
-k, [--broker-token=BROKER_TOKEN]
|
670
693
|
# Pact Broker bearer token
|
671
694
|
-v, [--verbose], [--no-verbose]
|
672
|
-
# Verbose output.
|
695
|
+
# Verbose output.
|
696
|
+
# Default: false
|
673
697
|
```
|
674
698
|
|
675
699
|
List pacticipants
|
@@ -731,7 +755,8 @@ Options:
|
|
731
755
|
-k, [--broker-token=BROKER_TOKEN]
|
732
756
|
# Pact Broker bearer token
|
733
757
|
-v, [--verbose], [--no-verbose]
|
734
|
-
# Verbose output.
|
758
|
+
# Verbose output.
|
759
|
+
# Default: false
|
735
760
|
```
|
736
761
|
|
737
762
|
Description:
|
@@ -796,7 +821,8 @@ Options:
|
|
796
821
|
-k, [--broker-token=BROKER_TOKEN]
|
797
822
|
# Pact Broker bearer token
|
798
823
|
-v, [--verbose], [--no-verbose]
|
799
|
-
# Verbose output.
|
824
|
+
# Verbose output.
|
825
|
+
# Default: false
|
800
826
|
--uuid=UUID
|
801
827
|
# Specify the uuid for the webhook
|
802
828
|
```
|
@@ -827,11 +853,44 @@ Options:
|
|
827
853
|
-k, [--broker-token=BROKER_TOKEN]
|
828
854
|
# Pact Broker bearer token
|
829
855
|
-v, [--verbose], [--no-verbose]
|
830
|
-
# Verbose output.
|
856
|
+
# Verbose output.
|
857
|
+
# Default: false
|
831
858
|
```
|
832
859
|
|
833
860
|
Test the execution of a webhook
|
834
861
|
|
862
|
+
### Branches
|
863
|
+
|
864
|
+
#### delete-branch
|
865
|
+
|
866
|
+
```
|
867
|
+
Usage:
|
868
|
+
pact-broker delete-branch --branch=BRANCH -a, --pacticipant=PACTICIPANT -b, --broker-base-url=BROKER_BASE_URL
|
869
|
+
|
870
|
+
Options:
|
871
|
+
-a, --pacticipant=PACTICIPANT
|
872
|
+
# The name of the pacticipant that the branch belongs to.
|
873
|
+
--branch=BRANCH
|
874
|
+
# The pacticipant branch name.
|
875
|
+
[--error-when-not-found], [--no-error-when-not-found]
|
876
|
+
# Raise an error if the branch that is to be deleted is not
|
877
|
+
found.
|
878
|
+
# Default: true
|
879
|
+
-b, --broker-base-url=BROKER_BASE_URL
|
880
|
+
# The base URL of the Pact Broker
|
881
|
+
-u, [--broker-username=BROKER_USERNAME]
|
882
|
+
# Pact Broker basic auth username
|
883
|
+
-p, [--broker-password=BROKER_PASSWORD]
|
884
|
+
# Pact Broker basic auth password
|
885
|
+
-k, [--broker-token=BROKER_TOKEN]
|
886
|
+
# Pact Broker bearer token
|
887
|
+
-v, [--verbose], [--no-verbose]
|
888
|
+
# Verbose output.
|
889
|
+
# Default: false
|
890
|
+
```
|
891
|
+
|
892
|
+
Deletes a pacticipant branch. Does not delete the versions or pacts/verifications associated with the branch, but does make the pacts inaccessible for verification via consumer versions selectors or WIP pacts.
|
893
|
+
|
835
894
|
### Tags
|
836
895
|
|
837
896
|
#### create-version-tag
|
@@ -850,10 +909,12 @@ Options:
|
|
850
909
|
times.
|
851
910
|
[--auto-create-version], [--no-auto-create-version]
|
852
911
|
# Automatically create the pacticipant version if it does not
|
853
|
-
exist.
|
912
|
+
exist.
|
913
|
+
# Default: false
|
854
914
|
-g, [--tag-with-git-branch], [--no-tag-with-git-branch]
|
855
915
|
# Tag pacticipant version with the name of the current git
|
856
|
-
branch.
|
916
|
+
branch.
|
917
|
+
# Default: false
|
857
918
|
-b, --broker-base-url=BROKER_BASE_URL
|
858
919
|
# The base URL of the Pact Broker
|
859
920
|
-u, [--broker-username=BROKER_USERNAME]
|
@@ -863,7 +924,8 @@ Options:
|
|
863
924
|
-k, [--broker-token=BROKER_TOKEN]
|
864
925
|
# Pact Broker bearer token
|
865
926
|
-v, [--verbose], [--no-verbose]
|
866
|
-
# Verbose output.
|
927
|
+
# Verbose output.
|
928
|
+
# Default: false
|
867
929
|
```
|
868
930
|
|
869
931
|
Add a tag to a pacticipant version
|
@@ -896,7 +958,8 @@ Options:
|
|
896
958
|
-k, [--broker-token=BROKER_TOKEN]
|
897
959
|
# Pact Broker bearer token
|
898
960
|
-v, [--verbose], [--no-verbose]
|
899
|
-
# Verbose output.
|
961
|
+
# Verbose output.
|
962
|
+
# Default: false
|
900
963
|
```
|
901
964
|
|
902
965
|
Describes a pacticipant version. If no version or tag is specified, the latest version is described.
|
@@ -926,7 +989,8 @@ Options:
|
|
926
989
|
-k, [--broker-token=BROKER_TOKEN]
|
927
990
|
# Pact Broker bearer token
|
928
991
|
-v, [--verbose], [--no-verbose]
|
929
|
-
# Verbose output.
|
992
|
+
# Verbose output.
|
993
|
+
# Default: false
|
930
994
|
-o, [--output=OUTPUT]
|
931
995
|
# json or text
|
932
996
|
# Default: text
|
@@ -1002,7 +1066,8 @@ Options:
|
|
1002
1066
|
-k, [--broker-token=BROKER_TOKEN]
|
1003
1067
|
# Pact Broker bearer token
|
1004
1068
|
-v, [--verbose], [--no-verbose]
|
1005
|
-
# Verbose output.
|
1069
|
+
# Verbose output.
|
1070
|
+
# Default: false
|
1006
1071
|
```
|
1007
1072
|
|
1008
1073
|
Publish provider contract to PactFlow
|
@@ -38,6 +38,8 @@
|
|
38
38
|
|
39
39
|
* [A request for the index resource](#a_request_for_the_index_resource_given_the_pb:latest-version_relation_exists_in_the_index_resource) given the pb:latest-version relation exists in the index resource
|
40
40
|
|
41
|
+
* [A request for the index resource](#a_request_for_the_index_resource_given_the_pb:pacticipant-branch_relation_exists_in_the_index_resource) given the pb:pacticipant-branch relation exists in the index resource
|
42
|
+
|
41
43
|
* [A request for the index resource](#a_request_for_the_index_resource_given_the_pb:pacticipant-version_and_pb:environments_relations_exist_in_the_index_resource) given the pb:pacticipant-version and pb:environments relations exist in the index resource
|
42
44
|
|
43
45
|
* [A request for the index resource](#a_request_for_the_index_resource_given_the_pb:publish-contracts_relations_exists_in_the_index_resource) given the pb:publish-contracts relations exists in the index resource
|
@@ -76,6 +78,8 @@
|
|
76
78
|
|
77
79
|
* [A request to create a webhook with every possible event type](#a_request_to_create_a_webhook_with_every_possible_event_type_given_the_'Pricing_Service'_and_'Condor'_already_exist_in_the_pact-broker) given the 'Pricing Service' and 'Condor' already exist in the pact-broker
|
78
80
|
|
81
|
+
* [A request to delete a pacticipant branch](#a_request_to_delete_a_pacticipant_branch_given_a_branch_named_main_exists_for_pacticipant_Foo) given a branch named main exists for pacticipant Foo
|
82
|
+
|
79
83
|
* [A request to determine if Bar can be deployed with all Foo tagged prod, ignoring the verification for Foo version 3.4.5](#a_request_to_determine_if_Bar_can_be_deployed_with_all_Foo_tagged_prod,_ignoring_the_verification_for_Foo_version_3.4.5_given_provider_Bar_version_4.5.6_has_a_successful_verification_for_Foo_version_1.2.3_tagged_prod_and_a_failed_verification_for_version_3.4.5_tagged_prod) given provider Bar version 4.5.6 has a successful verification for Foo version 1.2.3 tagged prod and a failed verification for version 3.4.5 tagged prod
|
80
84
|
|
81
85
|
* [A request to get the Pricing Service](#a_request_to_get_the_Pricing_Service_given_the_'Pricing_Service'_already_exists_in_the_pact-broker) given the 'Pricing Service' already exists in the pact-broker
|
@@ -827,6 +831,33 @@ Pact Broker will respond with:
|
|
827
831
|
}
|
828
832
|
}
|
829
833
|
```
|
834
|
+
<a name="a_request_for_the_index_resource_given_the_pb:pacticipant-branch_relation_exists_in_the_index_resource"></a>
|
835
|
+
Given **the pb:pacticipant-branch relation exists in the index resource**, upon receiving **a request for the index resource** from Pact Broker Client, with
|
836
|
+
```json
|
837
|
+
{
|
838
|
+
"method": "GET",
|
839
|
+
"path": "/",
|
840
|
+
"headers": {
|
841
|
+
"Accept": "application/hal+json"
|
842
|
+
}
|
843
|
+
}
|
844
|
+
```
|
845
|
+
Pact Broker will respond with:
|
846
|
+
```json
|
847
|
+
{
|
848
|
+
"status": 200,
|
849
|
+
"headers": {
|
850
|
+
"Content-Type": "application/hal+json;charset=utf-8"
|
851
|
+
},
|
852
|
+
"body": {
|
853
|
+
"_links": {
|
854
|
+
"pb:pacticipant-branch": {
|
855
|
+
"href": "http://localhost:1234/HAL-REL-PLACEHOLDER-PB-PACTICIPANT-BRANCH-{pacticipant}-{branch}"
|
856
|
+
}
|
857
|
+
}
|
858
|
+
}
|
859
|
+
}
|
860
|
+
```
|
830
861
|
<a name="a_request_for_the_index_resource_given_the_pb:pacticipant-version_and_pb:environments_relations_exist_in_the_index_resource"></a>
|
831
862
|
Given **the pb:pacticipant-version and pb:environments relations exist in the index resource**, upon receiving **a request for the index resource** from Pact Broker Client, with
|
832
863
|
```json
|
@@ -1766,6 +1797,20 @@ Pact Broker will respond with:
|
|
1766
1797
|
}
|
1767
1798
|
}
|
1768
1799
|
```
|
1800
|
+
<a name="a_request_to_delete_a_pacticipant_branch_given_a_branch_named_main_exists_for_pacticipant_Foo"></a>
|
1801
|
+
Given **a branch named main exists for pacticipant Foo**, upon receiving **a request to delete a pacticipant branch** from Pact Broker Client, with
|
1802
|
+
```json
|
1803
|
+
{
|
1804
|
+
"method": "DELETE",
|
1805
|
+
"path": "/HAL-REL-PLACEHOLDER-PB-PACTICIPANT-BRANCH-Foo-main"
|
1806
|
+
}
|
1807
|
+
```
|
1808
|
+
Pact Broker will respond with:
|
1809
|
+
```json
|
1810
|
+
{
|
1811
|
+
"status": 204
|
1812
|
+
}
|
1813
|
+
```
|
1769
1814
|
<a name="a_request_to_determine_if_Bar_can_be_deployed_with_all_Foo_tagged_prod,_ignoring_the_verification_for_Foo_version_3.4.5_given_provider_Bar_version_4.5.6_has_a_successful_verification_for_Foo_version_1.2.3_tagged_prod_and_a_failed_verification_for_version_3.4.5_tagged_prod"></a>
|
1770
1815
|
Given **provider Bar version 4.5.6 has a successful verification for Foo version 1.2.3 tagged prod and a failed verification for version 3.4.5 tagged prod**, upon receiving **a request to determine if Bar can be deployed with all Foo tagged prod, ignoring the verification for Foo version 3.4.5** from Pact Broker Client, with
|
1771
1816
|
```json
|
@@ -210,7 +210,7 @@ Upon receiving **a request to publish a provider contract** from Pact Broker Cli
|
|
210
210
|
"path": "/HAL-REL-PLACEHOLDER-PF-PUBLISH-PROVIDER-CONTRACT-Bar",
|
211
211
|
"headers": {
|
212
212
|
"Content-Type": "application/json",
|
213
|
-
"Accept": "application/hal+json"
|
213
|
+
"Accept": "application/hal+json,application/problem+json"
|
214
214
|
},
|
215
215
|
"body": {
|
216
216
|
"pacticipantVersionNumber": "1",
|
@@ -0,0 +1,10 @@
|
|
1
|
+
#!/bin/bash
|
2
|
+
# assumes you've set PACT_BROKER_BASE_URL, PACT_BROKER_TOKEN already
|
3
|
+
|
4
|
+
bundle exec rake pact:publish:pactflow_auto_on_nil_commit_nil_branch
|
5
|
+
bundle exec rake pact:publish:pactflow_auto_on_user_commit_user_branch
|
6
|
+
bundle exec rake pact:publish:pactflow_auto_on_user_commit_nil_branch
|
7
|
+
bundle exec rake pact:publish:pactflow_auto_on_nil_commit_user_branch
|
8
|
+
bundle exec rake pact:publish:pactflow_auto_off_user_commit_nil_branch
|
9
|
+
bundle exec rake pact:publish:pactflow_auto_off_nil_commit_nil_branch
|
10
|
+
bundle exec rake pact:publish:pactflow_auto_off_empty_string_commit_nil_branch
|
@@ -1,3 +1,27 @@
|
|
1
1
|
# assumes you've set PACT_BROKER_BASE_URL, PACT_BROKER_USERNAME and PACT_BROKER_PASSWORD already
|
2
|
+
# Must be executed from root directory of project.
|
2
3
|
|
3
|
-
bundle exec bin/pact-broker publish $(dirname "$0")/pact.json
|
4
|
+
bundle exec bin/pact-broker publish $(dirname "$0")/pact.json
|
5
|
+
bundle exec bin/pact-broker publish $(dirname "$0")/pact.json --auto-detect-version-properties
|
6
|
+
bundle exec bin/pact-broker publish $(dirname "$0")/pact.json --auto-detect-version-properties --tag-with-git-branch
|
7
|
+
bundle exec bin/pact-broker publish $(dirname "$0")/pact.json --branch branch-user-override
|
8
|
+
bundle exec bin/pact-broker publish $(dirname "$0")/pact.json --branch branch-user-override --auto-detect-version-properties
|
9
|
+
bundle exec bin/pact-broker publish $(dirname "$0")/pact.json --branch branch-user-override --auto-detect-version-properties --tag-with-git-branch
|
10
|
+
bundle exec bin/pact-broker publish $(dirname "$0")/pact.json --consumer-app-version commit-user-override
|
11
|
+
bundle exec bin/pact-broker publish $(dirname "$0")/pact.json --consumer-app-version commit-user-override --branch branch-user-override
|
12
|
+
bundle exec bin/pact-broker publish $(dirname "$0")/pact.json --consumer-app-version commit-user-override --auto-detect-version-properties
|
13
|
+
bundle exec bin/pact-broker publish $(dirname "$0")/pact.json --consumer-app-version commit-user-override --auto-detect-version-properties --tag-with-git-branch
|
14
|
+
bundle exec bin/pact-broker publish $(dirname "$0")/pact.json --consumer-app-version commit-user-override --branch branch-user-override --auto-detect-version-properties
|
15
|
+
bundle exec bin/pact-broker publish $(dirname "$0")/pact.json --consumer-app-version commit-user-override --branch branch-user-override --auto-detect-version-properties --tag-with-git-branch
|
16
|
+
|
17
|
+
bundle exec bin/pact-broker publish $(dirname "$0")/pact.json -r
|
18
|
+
bundle exec bin/pact-broker publish $(dirname "$0")/pact.json -r -g
|
19
|
+
bundle exec bin/pact-broker publish $(dirname "$0")/pact.json -h branch-user-override
|
20
|
+
bundle exec bin/pact-broker publish $(dirname "$0")/pact.json -h branch-user-override -r
|
21
|
+
bundle exec bin/pact-broker publish $(dirname "$0")/pact.json -h branch-user-override -r -g
|
22
|
+
bundle exec bin/pact-broker publish $(dirname "$0")/pact.json -a commit-user-override
|
23
|
+
bundle exec bin/pact-broker publish $(dirname "$0")/pact.json -a commit-user-override -r
|
24
|
+
bundle exec bin/pact-broker publish $(dirname "$0")/pact.json -a commit-user-override -r -g
|
25
|
+
bundle exec bin/pact-broker publish $(dirname "$0")/pact.json -a commit-user-override -h branch-user-override
|
26
|
+
bundle exec bin/pact-broker publish $(dirname "$0")/pact.json -a commit-user-override -h branch-user-override -r
|
27
|
+
bundle exec bin/pact-broker publish $(dirname "$0")/pact.json -a commit-user-override -h branch-user-override -r -g
|
@@ -1,4 +1,5 @@
|
|
1
|
-
#
|
1
|
+
# Assumes you've set PACT_BROKER_BASE_URL, PACT_BROKER_USERNAME and PACT_BROKER_PASSWORD already
|
2
|
+
# Must be executed from root directory of project.
|
2
3
|
|
3
4
|
bundle exec bin/pactflow publish-provider-contract $(dirname "$0")/oas.yml \
|
4
5
|
--provider pactflow-cli-test-provider \
|
@@ -0,0 +1,64 @@
|
|
1
|
+
require "pact_broker/client/base_command"
|
2
|
+
|
3
|
+
module PactBroker
|
4
|
+
module Client
|
5
|
+
module Branches
|
6
|
+
class DeleteBranch < PactBroker::Client::BaseCommand
|
7
|
+
|
8
|
+
NOT_SUPPORTED_MESSAGE_PACT_BROKER = "This version of the Pact Broker does not support deleting branches. Please upgrade to version 2.108.0 or later."
|
9
|
+
NOT_SUPPORTED_MESSAGE_PACTFLOW = "This version of PactFlow does not support deleting branches. Please upgrade to the latest version."
|
10
|
+
|
11
|
+
def initialize(params, options, pact_broker_client_options)
|
12
|
+
super
|
13
|
+
@pacticipant_name = params.fetch(:pacticipant)
|
14
|
+
@branch_name = params.fetch(:branch)
|
15
|
+
@error_when_not_found = params.fetch(:error_when_not_found)
|
16
|
+
end
|
17
|
+
|
18
|
+
def do_call
|
19
|
+
check_if_command_supported
|
20
|
+
@deleted_resource = branch_link.delete
|
21
|
+
PactBroker::Client::CommandResult.new(success?, result_message)
|
22
|
+
end
|
23
|
+
|
24
|
+
private
|
25
|
+
|
26
|
+
attr_reader :pacticipant_name, :branch_name, :error_when_not_found, :deleted_resource
|
27
|
+
|
28
|
+
def branch_link
|
29
|
+
index_resource._link("pb:pacticipant-branch").expand(pacticipant: pacticipant_name, branch: branch_name)
|
30
|
+
end
|
31
|
+
|
32
|
+
def check_if_command_supported
|
33
|
+
unless index_resource.can?("pb:pacticipant-branch")
|
34
|
+
raise PactBroker::Client::Error.new(is_pactflow? ? NOT_SUPPORTED_MESSAGE_PACTFLOW : NOT_SUPPORTED_MESSAGE_PACT_BROKER)
|
35
|
+
end
|
36
|
+
end
|
37
|
+
|
38
|
+
def success?
|
39
|
+
if deleted_resource.success?
|
40
|
+
true
|
41
|
+
elsif deleted_resource.response.status == 404 && !error_when_not_found
|
42
|
+
true
|
43
|
+
else
|
44
|
+
false
|
45
|
+
end
|
46
|
+
end
|
47
|
+
|
48
|
+
def result_message
|
49
|
+
if deleted_resource.success?
|
50
|
+
green("Successfully deleted branch #{branch_name} of pacticipant #{pacticipant_name}")
|
51
|
+
elsif deleted_resource.response.status == 404
|
52
|
+
if error_when_not_found
|
53
|
+
red("Could not delete branch #{branch_name} of pacticipant #{pacticipant_name} as it was not found")
|
54
|
+
else
|
55
|
+
green("Branch #{branch_name} of pacticipant #{pacticipant_name} not found")
|
56
|
+
end
|
57
|
+
else
|
58
|
+
red(deleted_resource.response.raw_body)
|
59
|
+
end
|
60
|
+
end
|
61
|
+
end
|
62
|
+
end
|
63
|
+
end
|
64
|
+
end
|