diff --git a/Camunda.Api.Client/Camunda.Api.Client.csproj b/Camunda.Api.Client/Camunda.Api.Client.csproj index e5bf546..12f5f3f 100644 --- a/Camunda.Api.Client/Camunda.Api.Client.csproj +++ b/Camunda.Api.Client/Camunda.Api.Client.csproj @@ -4,7 +4,7 @@ netstandard2.0;net461 true true - 2.2.0 + 2.3.0 Camunda REST API Client Jan Lucansky diff --git a/Camunda.Api.Client/ExternalTask/FetchExternalTaskTopic.cs b/Camunda.Api.Client/ExternalTask/FetchExternalTaskTopic.cs index d51f226..ff69d0d 100644 --- a/Camunda.Api.Client/ExternalTask/FetchExternalTaskTopic.cs +++ b/Camunda.Api.Client/ExternalTask/FetchExternalTaskTopic.cs @@ -1,4 +1,5 @@ -using System.Collections.Generic; +using Newtonsoft.Json; +using System.Collections.Generic; namespace Camunda.Api.Client.ExternalTask { @@ -13,19 +14,74 @@ public FetchExternalTaskTopic(string topicName, long lockDuration) } /// - /// The topic's name + /// A String value which enables the filtering of tasks based on process instance business key. /// - public string TopicName; + public string BusinessKey; + + /// + /// Determines whether serializable variable values (typically variables that store custom Java objects) should be deserialized on server side (default false). + /// + public bool DeserializeValues; + + /// + /// If true only local variables will be fetched. + /// + public bool LocalVariables; + /// /// The duration to lock the external tasks for in milliseconds. /// public long LockDuration; + + /// + /// Filter tasks based on process definition id. + /// + public string ProcessDefinitionId; + + /// + /// Filter tasks based on process definition ids. + /// + [JsonProperty("processDefinitionIdIn")] + public List ProcessDefinitionIds = new List(); + + /// + /// Filter tasks based on process definition key. + /// + public string ProcessDefinitionKey; + + /// + /// Filter tasks based on process definition keys. + /// + [JsonProperty("processDefinitionKeyIn")] + public List ProcessDefinitionKeys = new List(); + + /// + /// A map of variables used for filtering tasks based on process instance variable values. + /// + public Dictionary ProcessVariables = new Dictionary(); + + /// + /// Filter tasks based on tenant ids. + /// + [JsonProperty("tenantIdIn")] + public List TenantIds = new List(); + /// - /// Array of String values that represent variable names. + /// The topic's name + /// + public string TopicName; + + /// + /// Array of String values that represent variable names. /// For each result task belonging to this topic, the given variables are returned as well if they are accessible from the external task's execution. /// public List Variables; + /// + /// Filter tasks without tenant id. + /// + public bool WithoutTenantId; + public override string ToString() => TopicName; } -} +} \ No newline at end of file