zeebe-client 0.16.1 → 0.17.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: d7677117e7478a6b8bec4586778b6a670c19d10faee239d2d8cc84a4e426f1e4
4
- data.tar.gz: 29b158f3095613e43d02445c8bd946248cd5710d2be522e3f31cf215b2a85732
3
+ metadata.gz: 70d1fee91e17ac504afb34fcf0212fe77038ac533202e20e9a68ee1c9eef401d
4
+ data.tar.gz: f984bc1dd46d561b0144cc69d28a17d0e7be4c379771fee23a39a18ebac58ace
5
5
  SHA512:
6
- metadata.gz: b469d40411964ac108c99e39bfe64329a90ec21d52a0ed7dcd9b4b6a38af6b438fd331de5c982d945d01dd142b2c23c867c935eb6a47b41c00bcb387675185ed
7
- data.tar.gz: 9ee2a75468a12d4ecadf7a1eb5a2a5f3c9c5b69e4b0e6dc7d977ab48b311344f7cc4d32d1a0794f78173ba1d26543489f3ce9582804792ec47355b0865be6249
6
+ metadata.gz: 0f06e5a0bdd25e33d980246e5cbb11b476b2536b2d63af169bae4847f637ec731261e9904a4cbf5ff66d06240b7d6f1a53c66185d8277609227d00c83bcc0d4d
7
+ data.tar.gz: f5a7889850feaaba06ec05ca8b179265a186ec9fb13c30a177e9fb2775c07aecb36265b6a6618ed4c04a5988784b9e148eeb33242e5fd28138b4ca59253661aa
@@ -20,6 +20,7 @@ jobs:
20
20
  - '2.6'
21
21
  - '2.7'
22
22
  - '3.0'
23
+ - '3.1'
23
24
  steps:
24
25
  - uses: actions/checkout@v2
25
26
  - name: Set up Ruby ${{ matrix.ruby-version }}
data/CHANGELOG.md CHANGED
@@ -1,5 +1,18 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.17.0 (April 12th, 2022)
4
+
5
+ - add support for [Zeebe 8.0.0](https://github.com/camunda/zeebe/releases/tag/8.0.0)
6
+
7
+ ## 0.16.3 (January 31st, 2022)
8
+
9
+ - add support for [Zeebe 1.3.2](https://github.com/zeebe-io/zeebe/releases/tag/1.3.2)
10
+
11
+ ## 0.16.2 (January 11th, 2022)
12
+
13
+ - support Ruby 3.1
14
+ - add support for [Zeebe 1.3.0](https://github.com/zeebe-io/zeebe/releases/tag/1.3.0)
15
+
3
16
  ## 0.16.1 (January 4th, 2022)
4
17
 
5
18
  - add support for [Zeebe 1.2.9](https://github.com/zeebe-io/zeebe/releases/tag/1.2.9) which includes some Log4J CVE fixes
data/README.md CHANGED
@@ -13,7 +13,7 @@ Install the gem:
13
13
  Run a Zeebe instance locally:
14
14
 
15
15
  ```sh
16
- docker run -it --rm -p 26500:26500 camunda/zeebe:1.2.9
16
+ docker run -it --rm -p 26500:26500 camunda/zeebe:8.0.0
17
17
  ```
18
18
 
19
19
  And then try the available [demo script](examples/demo.rb).
data/Rakefile CHANGED
@@ -13,7 +13,7 @@ task ci: ['zeebe:start', :default, 'zeebe:stop']
13
13
 
14
14
  desc 'Starts Zeebe Docker container'
15
15
  task 'zeebe:start' do
16
- sh 'docker run -d --name zeebe --rm -p 26500:26500 camunda/zeebe:1.2.9'
16
+ sh 'docker run -d --name zeebe --rm -p 26500:26500 camunda/zeebe:8.0.0'
17
17
  sleep(10)
18
18
  end
19
19
 
@@ -77,16 +77,50 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
77
77
  optional :key, :int64, 1
78
78
  repeated :processes, :message, 2, "gateway_protocol.ProcessMetadata"
79
79
  end
80
+ add_message "gateway_protocol.DeployResourceRequest" do
81
+ repeated :resources, :message, 1, "gateway_protocol.Resource"
82
+ end
83
+ add_message "gateway_protocol.Resource" do
84
+ optional :name, :string, 1
85
+ optional :content, :bytes, 2
86
+ end
87
+ add_message "gateway_protocol.DeployResourceResponse" do
88
+ optional :key, :int64, 1
89
+ repeated :deployments, :message, 2, "gateway_protocol.Deployment"
90
+ end
91
+ add_message "gateway_protocol.Deployment" do
92
+ oneof :Metadata do
93
+ optional :process, :message, 1, "gateway_protocol.ProcessMetadata"
94
+ optional :decision, :message, 2, "gateway_protocol.DecisionMetadata"
95
+ optional :decisionRequirements, :message, 3, "gateway_protocol.DecisionRequirementsMetadata"
96
+ end
97
+ end
80
98
  add_message "gateway_protocol.ProcessMetadata" do
81
99
  optional :bpmnProcessId, :string, 1
82
100
  optional :version, :int32, 2
83
101
  optional :processDefinitionKey, :int64, 3
84
102
  optional :resourceName, :string, 4
85
103
  end
104
+ add_message "gateway_protocol.DecisionMetadata" do
105
+ optional :dmnDecisionId, :string, 1
106
+ optional :dmnDecisionName, :string, 2
107
+ optional :version, :int32, 3
108
+ optional :decisionKey, :int64, 4
109
+ optional :dmnDecisionRequirementsId, :string, 5
110
+ optional :decisionRequirementsKey, :int64, 6
111
+ end
112
+ add_message "gateway_protocol.DecisionRequirementsMetadata" do
113
+ optional :dmnDecisionRequirementsId, :string, 1
114
+ optional :dmnDecisionRequirementsName, :string, 2
115
+ optional :version, :int32, 3
116
+ optional :decisionRequirementsKey, :int64, 4
117
+ optional :resourceName, :string, 5
118
+ end
86
119
  add_message "gateway_protocol.FailJobRequest" do
87
120
  optional :jobKey, :int64, 1
88
121
  optional :retries, :int32, 2
89
122
  optional :errorMessage, :string, 3
123
+ optional :retryBackOff, :int64, 4
90
124
  end
91
125
  add_message "gateway_protocol.FailJobResponse" do
92
126
  end
@@ -175,7 +209,13 @@ module Zeebe::Client::GatewayProtocol
175
209
  DeployProcessRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("gateway_protocol.DeployProcessRequest").msgclass
176
210
  ProcessRequestObject = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("gateway_protocol.ProcessRequestObject").msgclass
177
211
  DeployProcessResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("gateway_protocol.DeployProcessResponse").msgclass
212
+ DeployResourceRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("gateway_protocol.DeployResourceRequest").msgclass
213
+ Resource = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("gateway_protocol.Resource").msgclass
214
+ DeployResourceResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("gateway_protocol.DeployResourceResponse").msgclass
215
+ Deployment = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("gateway_protocol.Deployment").msgclass
178
216
  ProcessMetadata = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("gateway_protocol.ProcessMetadata").msgclass
217
+ DecisionMetadata = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("gateway_protocol.DecisionMetadata").msgclass
218
+ DecisionRequirementsMetadata = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("gateway_protocol.DecisionRequirementsMetadata").msgclass
179
219
  FailJobRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("gateway_protocol.FailJobRequest").msgclass
180
220
  FailJobResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("gateway_protocol.FailJobResponse").msgclass
181
221
  ThrowErrorRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("gateway_protocol.ThrowErrorRequest").msgclass
@@ -80,6 +80,17 @@ module Zeebe::Client::GatewayProtocol
80
80
  # - the process is invalid (e.g. an event-based gateway has an outgoing sequence flow to a task)
81
81
  rpc :DeployProcess, ::Zeebe::Client::GatewayProtocol::DeployProcessRequest, ::Zeebe::Client::GatewayProtocol::DeployProcessResponse
82
82
  #
83
+ # Deploys one or more resources (e.g. processes or decision models) to Zeebe.
84
+ # Note that this is an atomic call, i.e. either all resources are deployed, or none of them are.
85
+ #
86
+ # Errors:
87
+ # INVALID_ARGUMENT:
88
+ # - no resources given.
89
+ # - if at least one resource is invalid. A resource is considered invalid if:
90
+ # - the content is not deserializable (e.g. detected as BPMN, but it's broken XML)
91
+ # - the content is invalid (e.g. an event-based gateway has an outgoing sequence flow to a task)
92
+ rpc :DeployResource, ::Zeebe::Client::GatewayProtocol::DeployResourceRequest, ::Zeebe::Client::GatewayProtocol::DeployResourceResponse
93
+ #
83
94
  # Marks the job as failed; if the retries argument is positive, then the job will be immediately
84
95
  # activatable again, and a worker could try again to process it. If it is zero or negative however,
85
96
  # an incident will be raised, tagged with the given errorMessage, and the job will not be
@@ -1,6 +1,6 @@
1
1
 
2
2
  module Zeebe
3
3
  module Client
4
- VERSION = '0.16.1'.freeze
4
+ VERSION = '0.17.0'.freeze
5
5
  end
6
6
  end
data/proto/gateway.proto CHANGED
@@ -142,11 +142,15 @@ message CreateProcessInstanceWithResultResponse {
142
142
  }
143
143
 
144
144
  message DeployProcessRequest {
145
+ // since 8, replaced by DeployResourceRequest
146
+ option deprecated = true;
145
147
  // List of process resources to deploy
146
148
  repeated ProcessRequestObject processes = 1;
147
149
  }
148
150
 
149
151
  message ProcessRequestObject {
152
+ // since 8, replaced by Resource
153
+ option deprecated = true;
150
154
  // the resource basename, e.g. myProcess.bpmn
151
155
  string name = 1;
152
156
  // the process definition as a UTF8-encoded string
@@ -154,12 +158,45 @@ message ProcessRequestObject {
154
158
  }
155
159
 
156
160
  message DeployProcessResponse {
161
+ // since 8, replaced by DeployResourceResponse
162
+ option deprecated = true;
157
163
  // the unique key identifying the deployment
158
164
  int64 key = 1;
159
165
  // a list of deployed processes
160
166
  repeated ProcessMetadata processes = 2;
161
167
  }
162
168
 
169
+ message DeployResourceRequest {
170
+ // list of resources to deploy
171
+ repeated Resource resources = 1;
172
+ }
173
+
174
+ message Resource {
175
+ // the resource name, e.g. myProcess.bpmn or myDecision.dmn
176
+ string name = 1;
177
+ // the file content as a UTF8-encoded string
178
+ bytes content = 2;
179
+ }
180
+
181
+ message DeployResourceResponse {
182
+ // the unique key identifying the deployment
183
+ int64 key = 1;
184
+ // a list of deployed resources, e.g. processes
185
+ repeated Deployment deployments = 2;
186
+ }
187
+
188
+ message Deployment {
189
+ // each deployment has only one metadata
190
+ oneof Metadata {
191
+ // metadata of a deployed process
192
+ ProcessMetadata process = 1;
193
+ // metadata of a deployed decision
194
+ DecisionMetadata decision = 2;
195
+ // metadata of a deployed decision requirements
196
+ DecisionRequirementsMetadata decisionRequirements = 3;
197
+ }
198
+ }
199
+
163
200
  message ProcessMetadata {
164
201
  // the bpmn process ID, as parsed during deployment; together with the version forms a
165
202
  // unique identifier for a specific process definition
@@ -173,6 +210,41 @@ message ProcessMetadata {
173
210
  string resourceName = 4;
174
211
  }
175
212
 
213
+ message DecisionMetadata {
214
+ // the dmn decision ID, as parsed during deployment; together with the
215
+ // versions forms a unique identifier for a specific decision
216
+ string dmnDecisionId = 1;
217
+ // the dmn name of the decision, as parsed during deployment
218
+ string dmnDecisionName = 2;
219
+ // the assigned decision version
220
+ int32 version = 3;
221
+ // the assigned decision key, which acts as a unique identifier for this
222
+ // decision
223
+ int64 decisionKey = 4;
224
+ // the dmn ID of the decision requirements graph that this decision is part
225
+ // of, as parsed during deployment
226
+ string dmnDecisionRequirementsId = 5;
227
+ // the assigned key of the decision requirements graph that this decision is
228
+ // part of
229
+ int64 decisionRequirementsKey = 6;
230
+ }
231
+
232
+ message DecisionRequirementsMetadata {
233
+ // the dmn decision requirements ID, as parsed during deployment; together
234
+ // with the versions forms a unique identifier for a specific decision
235
+ string dmnDecisionRequirementsId = 1;
236
+ // the dmn name of the decision requirements, as parsed during deployment
237
+ string dmnDecisionRequirementsName = 2;
238
+ // the assigned decision requirements version
239
+ int32 version = 3;
240
+ // the assigned decision requirements key, which acts as a unique identifier
241
+ // for this decision requirements
242
+ int64 decisionRequirementsKey = 4;
243
+ // the resource name (see: Resource.name) from which this decision
244
+ // requirements was parsed
245
+ string resourceName = 5;
246
+ }
247
+
176
248
  message FailJobRequest {
177
249
  // the unique job identifier, as obtained when activating the job
178
250
  int64 jobKey = 1;
@@ -182,6 +254,8 @@ message FailJobRequest {
182
254
  // this is particularly useful if a job runs out of retries and an incident is raised,
183
255
  // as it this message can help explain why an incident was raised
184
256
  string errorMessage = 3;
257
+ // the backoff timeout for the next retry
258
+ int64 retryBackOff = 4;
185
259
  }
186
260
 
187
261
  message FailJobResponse {
@@ -394,8 +468,25 @@ service Gateway {
394
468
  - the process is invalid (e.g. an event-based gateway has an outgoing sequence flow to a task)
395
469
  */
396
470
  rpc DeployProcess (DeployProcessRequest) returns (DeployProcessResponse) {
471
+ // since 8, replaced by DeployResource
472
+ option deprecated = true;
473
+ }
474
+
475
+ /*
476
+ Deploys one or more resources (e.g. processes or decision models) to Zeebe.
477
+ Note that this is an atomic call, i.e. either all resources are deployed, or none of them are.
478
+
479
+ Errors:
480
+ INVALID_ARGUMENT:
481
+ - no resources given.
482
+ - if at least one resource is invalid. A resource is considered invalid if:
483
+ - the content is not deserializable (e.g. detected as BPMN, but it's broken XML)
484
+ - the content is invalid (e.g. an event-based gateway has an outgoing sequence flow to a task)
485
+ */
486
+ rpc DeployResource (DeployResourceRequest) returns (DeployResourceResponse) {
397
487
  }
398
488
 
489
+
399
490
  /*
400
491
  Marks the job as failed; if the retries argument is positive, then the job will be immediately
401
492
  activatable again, and a worker could try again to process it. If it is zero or negative however,
data/zeebe-client.gemspec CHANGED
@@ -26,7 +26,7 @@ Gem::Specification.new do |s|
26
26
  s.add_development_dependency 'grpc-tools', '~> 1.32'
27
27
  s.add_development_dependency 'rake'
28
28
  s.add_development_dependency 'rspec'
29
- s.add_development_dependency 'rubocop', '~> 1.24.1'
29
+ s.add_development_dependency 'rubocop', '~> 1.26.1'
30
30
  s.add_development_dependency 'rubocop-rake'
31
31
  s.add_development_dependency 'rubocop-rspec'
32
32
  s.add_development_dependency 'solargraph'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: zeebe-client
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.16.1
4
+ version: 0.17.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Christian Nicolai
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-01-04 00:00:00.000000000 Z
11
+ date: 2022-04-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: grpc
@@ -100,14 +100,14 @@ dependencies:
100
100
  requirements:
101
101
  - - "~>"
102
102
  - !ruby/object:Gem::Version
103
- version: 1.24.1
103
+ version: 1.26.1
104
104
  type: :development
105
105
  prerelease: false
106
106
  version_requirements: !ruby/object:Gem::Requirement
107
107
  requirements:
108
108
  - - "~>"
109
109
  - !ruby/object:Gem::Version
110
- version: 1.24.1
110
+ version: 1.26.1
111
111
  - !ruby/object:Gem::Dependency
112
112
  name: rubocop-rake
113
113
  requirement: !ruby/object:Gem::Requirement
@@ -197,7 +197,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
197
197
  - !ruby/object:Gem::Version
198
198
  version: '0'
199
199
  requirements: []
200
- rubygems_version: 3.1.6
200
+ rubygems_version: 3.3.7
201
201
  signing_key:
202
202
  specification_version: 4
203
203
  summary: Zeebe Client