zeebe-client 0.3.0 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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