zeebe-client 0.3.0 → 0.4.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: a4ff45546615505deac91e48ec781bf2e2d6d1ce14805aa2c741687effc38560
4
- data.tar.gz: 2d06b409be95371bf28fe16bc620b5de9ffe85adc731d4169bd3bdc74bd9c432
3
+ metadata.gz: 6b925f865fd28f43106d22aca8965993a8b843337ba3ef2c9c006b44c7252b40
4
+ data.tar.gz: 9b09990f11584d292341cf1dbcda0832c8d74b235cab86435529fa03c6fc004b
5
5
  SHA512:
6
- metadata.gz: 3e70ec2dd314f99110ea372df8c5418379c793f7fb02fdb3ab30bd233b84c05fe58bbf8a295d120715258c1044fb83bac282ac13e5ba29b44a53c3b267dc303b
7
- data.tar.gz: 89318c917001d3b54a32b246d391dd23700ed68985837f2c118fe7cd1525cc1e4c74d219e2f7045b15e32829c0b953e5a1abe0c3f82caac3339541faef938839
6
+ metadata.gz: f08056b6caa95bb07ec34a7a8e57aa57346cdb48a7ba85688a8afdf36a3b40ae49dbca6ce53262f9cc108d9fe25b87596a32ce4b1ac1b247436f74fcf625a423
7
+ data.tar.gz: be1d46e21ca32a242050aaf4dc8cfa670c7c762b533a521dddfb12cc8bb29ffdf983906bdef98484bac4a1182368b5948577b6539b6a878c22c1dff45868d4a2
@@ -1,5 +1,11 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.4.0 (March 12, 2019)
4
+
5
+ NEW FEATURES:
6
+
7
+ - add support for [Zeebe 0.16.2](https://github.com/zeebe-io/zeebe/releases/tag/0.16.2)
8
+
3
9
  ## 0.3.0 (February 13, 2019)
4
10
 
5
11
  NEW FEATURES:
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:0.15.0
16
+ docker run -it --rm -p 26500:26500 camunda/zeebe:0.16.2
17
17
  ```
18
18
 
19
19
  And then try the available [demo script](examples/demo.rb).
data/Rakefile CHANGED
@@ -13,7 +13,7 @@ task travis: ['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:0.15.0'
16
+ sh 'docker run -d --name zeebe --rm -p 26500:26500 camunda/zeebe:0.16.2'
17
17
  sleep(5)
18
18
  end
19
19
 
@@ -47,7 +47,7 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
47
47
  optional :workflowKey, :int64, 1
48
48
  optional :bpmnProcessId, :string, 2
49
49
  optional :version, :int32, 3
50
- optional :payload, :string, 4
50
+ optional :variables, :string, 4
51
51
  end
52
52
  add_message "gateway_protocol.CreateWorkflowInstanceResponse" do
53
53
  optional :workflowKey, :int64, 1
@@ -145,11 +145,12 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
145
145
  end
146
146
  add_message "gateway_protocol.UpdateJobRetriesResponse" do
147
147
  end
148
- add_message "gateway_protocol.UpdateWorkflowInstancePayloadRequest" do
148
+ add_message "gateway_protocol.SetVariablesRequest" do
149
149
  optional :elementInstanceKey, :int64, 1
150
- optional :payload, :string, 2
150
+ optional :variables, :string, 2
151
+ optional :local, :bool, 3
151
152
  end
152
- add_message "gateway_protocol.UpdateWorkflowInstancePayloadResponse" do
153
+ add_message "gateway_protocol.SetVariablesResponse" do
153
154
  end
154
155
  end
155
156
 
@@ -186,6 +187,6 @@ module Zeebe::Client::GatewayProtocol
186
187
  Partition::PartitionBrokerRole = Google::Protobuf::DescriptorPool.generated_pool.lookup("gateway_protocol.Partition.PartitionBrokerRole").enummodule
187
188
  UpdateJobRetriesRequest = Google::Protobuf::DescriptorPool.generated_pool.lookup("gateway_protocol.UpdateJobRetriesRequest").msgclass
188
189
  UpdateJobRetriesResponse = Google::Protobuf::DescriptorPool.generated_pool.lookup("gateway_protocol.UpdateJobRetriesResponse").msgclass
189
- UpdateWorkflowInstancePayloadRequest = Google::Protobuf::DescriptorPool.generated_pool.lookup("gateway_protocol.UpdateWorkflowInstancePayloadRequest").msgclass
190
- UpdateWorkflowInstancePayloadResponse = Google::Protobuf::DescriptorPool.generated_pool.lookup("gateway_protocol.UpdateWorkflowInstancePayloadResponse").msgclass
190
+ SetVariablesRequest = Google::Protobuf::DescriptorPool.generated_pool.lookup("gateway_protocol.SetVariablesRequest").msgclass
191
+ SetVariablesResponse = Google::Protobuf::DescriptorPool.generated_pool.lookup("gateway_protocol.SetVariablesResponse").msgclass
191
192
  end
@@ -62,8 +62,8 @@ module Zeebe::Client::GatewayProtocol
62
62
  # start event can be started manually.
63
63
  #
64
64
  # INVALID_ARGUMENT:
65
- # - the given payload is not a valid JSON document; all payloads are expected to be
66
- # valid JSON documents where the root node is an object.
65
+ # - the given variables argument is not a valid JSON document; it is expected to be a valid
66
+ # JSON document where the root node is an object.
67
67
  rpc :CreateWorkflowInstance, CreateWorkflowInstanceRequest, CreateWorkflowInstanceResponse
68
68
  #
69
69
  # Deploys one or more workflows to Zeebe. Note that this is an atomic call,
@@ -119,7 +119,7 @@ module Zeebe::Client::GatewayProtocol
119
119
  rpc :PublishMessage, PublishMessageRequest, PublishMessageResponse
120
120
  #
121
121
  # Resolves a given incident. This simply marks the incident as resolved; most likely a call to
122
- # UpdateJobRetries or UpdateWorkflowInstancePayload will be necessary to actually resolve the
122
+ # UpdateJobRetries or SetVariables will be necessary to actually resolve the
123
123
  # problem, following by this call.
124
124
  #
125
125
  # Errors:
@@ -127,6 +127,17 @@ module Zeebe::Client::GatewayProtocol
127
127
  # - no incident with the given key exists
128
128
  rpc :ResolveIncident, ResolveIncidentRequest, ResolveIncidentResponse
129
129
  #
130
+ # Updates all the variables of a particular scope (e.g. workflow instance, flow element instance)
131
+ # from the given JSON document.
132
+ #
133
+ # Errors:
134
+ # NOT_FOUND:
135
+ # - no element with the given elementInstanceKey exists
136
+ # INVALID_ARGUMENT:
137
+ # - the given variables document is not a valid JSON document; valid documents are expected to
138
+ # be JSON documents where the root node is an object.
139
+ rpc :SetVariables, SetVariablesRequest, SetVariablesResponse
140
+ #
130
141
  # Obtains the current topology of the cluster the gateway is part of.
131
142
  rpc :Topology, TopologyRequest, TopologyResponse
132
143
  #
@@ -140,16 +151,6 @@ module Zeebe::Client::GatewayProtocol
140
151
  # INVALID_ARGUMENT:
141
152
  # - retries is not greater than 0
142
153
  rpc :UpdateJobRetries, UpdateJobRetriesRequest, UpdateJobRetriesResponse
143
- #
144
- # Updates all the variables in the workflow instance scope from the given JSON document.
145
- #
146
- # Errors:
147
- # NOT_FOUND:
148
- # - no element with the given elementInstanceKey exists
149
- # INVALID_ARGUMENT:
150
- # - the given payload is not a valid JSON document; all payloads are expected to be
151
- # valid JSON documents where the root node is an object.
152
- rpc :UpdateWorkflowInstancePayload, UpdateWorkflowInstancePayloadRequest, UpdateWorkflowInstancePayloadResponse
153
154
  end
154
155
 
155
156
  Stub = Service.rpc_stub_class
@@ -1,6 +1,6 @@
1
1
 
2
2
  module Zeebe
3
3
  module Client
4
- VERSION = '0.3.0'.freeze
4
+ VERSION = '0.4.0'.freeze
5
5
  end
6
6
  end
@@ -97,8 +97,8 @@ message CreateWorkflowInstanceRequest {
97
97
  // workflow instance; it must be a JSON object, as variables will be mapped in a
98
98
  // key-value fashion. e.g. { "a": 1, "b": 2 } will create two variables, named "a" and
99
99
  // "b" respectively, with their associated values. [{ "a": 1, "b": 2 }] would not be a
100
- // valid payload, as the root of the JSON document is an array and not an object.
101
- string payload = 4;
100
+ // valid argument, as the root of the JSON document is an array and not an object.
101
+ string variables = 4;
102
102
  }
103
103
 
104
104
  message CreateWorkflowInstanceResponse {
@@ -216,8 +216,8 @@ message PublishMessageRequest {
216
216
  // the unique ID of the message; can be omitted. only useful to ensure only one message
217
217
  // with the given ID will ever be published (during its lifetime)
218
218
  string messageId = 4;
219
- // the message payload as a JSON document; see CreateWorkflowInstanceRequest for the
220
- // rules about payloads
219
+ // the message payload as a JSON document; to be valid, the root of the document must be an
220
+ // object, e.g. { "a": "foo" }. [ "foo" ] would not be valid.
221
221
  string payload = 5;
222
222
  }
223
223
 
@@ -279,17 +279,25 @@ message UpdateJobRetriesRequest {
279
279
  message UpdateJobRetriesResponse {
280
280
  }
281
281
 
282
- message UpdateWorkflowInstancePayloadRequest {
282
+ message SetVariablesRequest {
283
283
  // the unique identifier of a particular element; can be the workflow instance key (as
284
284
  // obtained during instance creation), or a given element, such as a service task (see
285
285
  // elementInstanceKey on the JobHeaders message)
286
286
  int64 elementInstanceKey = 1;
287
- // the new payload as a JSON document; see CreateWorkflowInstanceRequest for the rules
288
- // about payloads
289
- string payload = 2;
287
+ // a JSON serialized document describing variables as key value pairs; the root of the document
288
+ // must be an object
289
+ string variables = 2;
290
+ // if true, the variables will be merged strictly into the local scope (as indicated by
291
+ // elementInstanceKey); this means the variables is not propagated to upper scopes.
292
+ // for example, let's say we have two scopes, '1' and '2', with each having effective variables as:
293
+ // 1 => `{ "foo" : 2 }`, and 2 => `{ "bar" : 1 }`. if we send an update request with
294
+ // elementInstanceKey = 2, variables `{ "foo" : 5 }`, and local is true, then scope 1 will
295
+ // be unchanged, and scope 2 will now be `{ "bar" : 1, "foo" 5 }`. if local was false, however,
296
+ // then scope 1 would be `{ "foo": 5 }`, and scope 2 would be `{ "bar" : 1 }`.
297
+ bool local = 3;
290
298
  }
291
299
 
292
- message UpdateWorkflowInstancePayloadResponse {
300
+ message SetVariablesResponse {
293
301
  }
294
302
 
295
303
  service Gateway {
@@ -350,8 +358,8 @@ service Gateway {
350
358
  start event can be started manually.
351
359
 
352
360
  INVALID_ARGUMENT:
353
- - the given payload is not a valid JSON document; all payloads are expected to be
354
- valid JSON documents where the root node is an object.
361
+ - the given variables argument is not a valid JSON document; it is expected to be a valid
362
+ JSON document where the root node is an object.
355
363
  */
356
364
  rpc CreateWorkflowInstance (CreateWorkflowInstanceRequest) returns (CreateWorkflowInstanceResponse) {
357
365
  }
@@ -425,7 +433,7 @@ service Gateway {
425
433
 
426
434
  /*
427
435
  Resolves a given incident. This simply marks the incident as resolved; most likely a call to
428
- UpdateJobRetries or UpdateWorkflowInstancePayload will be necessary to actually resolve the
436
+ UpdateJobRetries or SetVariables will be necessary to actually resolve the
429
437
  problem, following by this call.
430
438
 
431
439
  Errors:
@@ -435,6 +443,20 @@ service Gateway {
435
443
  rpc ResolveIncident (ResolveIncidentRequest) returns (ResolveIncidentResponse) {
436
444
  }
437
445
 
446
+ /*
447
+ Updates all the variables of a particular scope (e.g. workflow instance, flow element instance)
448
+ from the given JSON document.
449
+
450
+ Errors:
451
+ NOT_FOUND:
452
+ - no element with the given elementInstanceKey exists
453
+ INVALID_ARGUMENT:
454
+ - the given variables document is not a valid JSON document; valid documents are expected to
455
+ be JSON documents where the root node is an object.
456
+ */
457
+ rpc SetVariables (SetVariablesRequest) returns (SetVariablesResponse) {
458
+ }
459
+
438
460
  /*
439
461
  Obtains the current topology of the cluster the gateway is part of.
440
462
  */
@@ -454,17 +476,4 @@ service Gateway {
454
476
  */
455
477
  rpc UpdateJobRetries (UpdateJobRetriesRequest) returns (UpdateJobRetriesResponse) {
456
478
  }
457
-
458
- /*
459
- Updates all the variables in the workflow instance scope from the given JSON document.
460
-
461
- Errors:
462
- NOT_FOUND:
463
- - no element with the given elementInstanceKey exists
464
- INVALID_ARGUMENT:
465
- - the given payload is not a valid JSON document; all payloads are expected to be
466
- valid JSON documents where the root node is an object.
467
- */
468
- rpc UpdateWorkflowInstancePayload (UpdateWorkflowInstancePayloadRequest) returns (UpdateWorkflowInstancePayloadResponse) {
469
- }
470
479
  }
@@ -19,12 +19,12 @@ Gem::Specification.new do |s|
19
19
 
20
20
  s.required_ruby_version = '>= 2.3'
21
21
 
22
- s.add_runtime_dependency 'grpc', '~> 1.18.0'
22
+ s.add_runtime_dependency 'grpc', '~> 1.19.0'
23
23
 
24
- s.add_development_dependency 'grpc-tools', '~> 1.18.0'
24
+ s.add_development_dependency 'grpc-tools', '~> 1.19.0'
25
25
  s.add_development_dependency 'bundler'
26
26
  s.add_development_dependency 'rake'
27
27
  s.add_development_dependency 'rspec'
28
- s.add_development_dependency 'rubocop', '~> 0.64.0'
28
+ s.add_development_dependency 'rubocop', '~> 0.65.0'
29
29
  s.add_development_dependency 'bundler-audit'
30
30
  end
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.3.0
4
+ version: 0.4.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: 2019-02-13 00:00:00.000000000 Z
11
+ date: 2019-03-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: grpc
@@ -16,28 +16,28 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: 1.18.0
19
+ version: 1.19.0
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: 1.18.0
26
+ version: 1.19.0
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: grpc-tools
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: 1.18.0
33
+ version: 1.19.0
34
34
  type: :development
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: 1.18.0
40
+ version: 1.19.0
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: bundler
43
43
  requirement: !ruby/object:Gem::Requirement
@@ -86,14 +86,14 @@ dependencies:
86
86
  requirements:
87
87
  - - "~>"
88
88
  - !ruby/object:Gem::Version
89
- version: 0.64.0
89
+ version: 0.65.0
90
90
  type: :development
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
94
  - - "~>"
95
95
  - !ruby/object:Gem::Version
96
- version: 0.64.0
96
+ version: 0.65.0
97
97
  - !ruby/object:Gem::Dependency
98
98
  name: bundler-audit
99
99
  requirement: !ruby/object:Gem::Requirement