camunda_client_go

package module
v3.0.0-...-5c42574 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 10, 2024 License: MIT Imports: 13 Imported by: 0

README

Camunda REST API client for golang

Go Report Card codecov Go Reference Release

Installation

go get github.com/Badgain/camunda-go/v3

Usage

Create client:

client := camunda_client_go.NewClient(camunda_client_go.ClientOptions{
	EndpointUrl: "http://localhost:8080/engine-rest",
    ApiUser: "demo",
    ApiPassword: "demo",
    Timeout: time.Second * 10,
})

Create deployment:

file, err := os.Open("demo.bpmn")
if err != nil {
    fmt.Printf("Error read file: %s\n", err)
    return
}
result, err := client.Deployment.Create(camunda_client_go.ReqDeploymentCreate{
    DeploymentName: "DemoProcess",
    Resources: map[string]interface{}{
        "demo.bpmn": file,
    },
})
if err != nil {
    fmt.Printf("Error deploy process: %s\n", err)
    return
}

fmt.Printf("Result: %#+v\n", result)

Start instance:

processKey := "demo-process"
result, err := client.ProcessDefinition.StartInstance(
	camunda_client_go.QueryProcessDefinitionBy{Key: &processKey},
	camunda_client_go.ReqStartInstance{},
)
if err != nil {
    fmt.Printf("Error start process: %s\n", err)
    return
}

fmt.Printf("Result: %#+v\n", result)

More examples

Examples documentation

Usage for External task

Create external task processor:

logger := func(err error) {
	fmt.Println(err.Error())
}
asyncResponseTimeout := 5000
proc := processor.NewProcessor(client, &processor.Options{
    WorkerId: "demo-worker",
    LockDuration: time.Second * 5,
    MaxTasks: 10,
    MaxParallelTaskPerHandler: 100,
    AsyncResponseTimeout: &asyncResponseTimeout,
}, logger)

Add and subscribe external task handler:

proc.AddHandler(
    []*camunda_client_go.QueryFetchAndLockTopic{
        {TopicName: "HelloWorldSetter"},
    },
    func(ctx *processor.Context) error {
        fmt.Printf("Running task %s. WorkerId: %s. TopicName: %s\n", ctx.Task.Id, ctx.Task.WorkerId, ctx.Task.TopicName)

        err := ctx.Complete(processor.QueryComplete{
            Variables: &map[string]camunda_client_go.Variable {
                "result": {Value: "Hello world!", Type: "string"},
            },
        })
        if err != nil {
            fmt.Printf("Error set complete task %s: %s\n", ctx.Task.Id, err)
            
            return ctx.HandleFailure(processor.QueryHandleFailure{
                ErrorMessage: &errTxt,
                Retries: &retries,
                RetryTimeout: &retryTimeout,
            })
        }
        
        fmt.Printf("Task %s completed\n", ctx.Task.Id)
        return nil
    },
)

Features

  • Support api version 7.11
  • Full support API External Task
  • Full support API Process Definition
  • Full support API Process Instance
  • Full support API Deployment
  • Partial support API History
  • Partial support API Tenant
  • Without external dependencies

Road map

  • Full coverage by tests
  • Full support references api

Testing

Unit-tests:

go test -v -race ./...

Run linter:

docker run --rm -v $(pwd):/app -w /app golangci/golangci-lint:v1.45.2 golangci-lint run -v

Integration tests:

docker run --rm --name camunda -p 8080:8080 camunda/camunda-bpm-platform
go test -tags=integration -failfast ./...

Examples:

Go to examples directory and follow the instructions to run the examples.

CONTRIBUTE

  • write code
  • run go fmt ./...
  • run all linters and tests (see above)
  • run all examples (see above)
  • create a PR describing the changes

LICENSE

MIT

AUTHOR

Konstantin Osipov k.osipov.msk@gmail.com

Documentation

Index

Constants

View Source
const (
	DelegationStatePending  = "PENDING"
	DelegationStateResolved = "RESOLVED"
)
View Source
const (
	VariableFilterExpressionOperatorEqual              = "eq"
	VariableFilterExpressionOperatorNotEqual           = "neq"
	VariableFilterExpressionOperatorGreaterThan        = "gt"
	VariableFilterExpressionOperatorGreaterThanOrEqual = "gteq"
	VariableFilterExpressionOperatorLessThan           = "lt"
	VariableFilterExpressionOperatorLessThanOrEqual    = "lteq"
	VariableFilterExpressionOperatorLike               = "like"
)
View Source
const DefaultDateTimeFormat = "2006-01-02T15:04:05.000-0700"
View Source
const DefaultEndpointUrl = "http://localhost:8080/engine-rest"
View Source
const DefaultTimeoutSec = 60
View Source
const DefaultUserAgent = "CamundaClientGo/" + PackageVersion
View Source
const PackageVersion = "{{version}}"

Variables

View Source
var ErrorNotFound = &Error{
	Type:    "NotFound",
	Message: "Not found",
}

Functions

This section is empty.

Types

type Client

type Client struct {
	ExternalTask      *ExternalTask
	Deployment        *Deployment
	ProcessDefinition *ProcessDefinition
	ProcessInstance   *ProcessInstance
	UserTask          *userTaskApi
	Message           *Message
	History           *History
	Tenant            *Tenant
	// contains filtered or unexported fields
}

Client a client for Camunda API

func NewClient

func NewClient(options ClientOptions) *Client

NewClient a create new instance Client

func (*Client) SetAuthorizationHeader

func (c *Client) SetAuthorizationHeader(bearerToken string)

func (*Client) SetCustomTransport

func (c *Client) SetCustomTransport(customHTTPTransport http.RoundTripper)

SetCustomTransport set new custom transport

type ClientOptions

type ClientOptions struct {
	UserAgent           string
	EndpointUrl         string
	Timeout             time.Duration
	ApiUser             string
	ApiPassword         string
	AuthorizationHeader string
}

ClientOptions a client options

type Deployment

type Deployment struct {
	// contains filtered or unexported fields
}

Deployment a client for Deployment API

func (*Deployment) Create

func (d *Deployment) Create(deploymentCreate ReqDeploymentCreate) (deployment *ResDeploymentCreate, err error)

Create creates a deployment

func (*Deployment) Delete

func (d *Deployment) Delete(id string, query map[string]string) error

Delete deletes a deployment by id

func (*Deployment) Get

func (d *Deployment) Get(id string) (deployment ResDeployment, err error)

Get retrieves a deployment by id, according to the Deployment interface of the engine

func (*Deployment) GetList

func (d *Deployment) GetList(query map[string]string) (deployments []*ResDeployment, err error)

GetList a queries for deployments that fulfill given parameters. Parameters may be the properties of deployments, such as the id or name or a range of the deployment time. The size of the result set can be retrieved by using the Get Deployment count method. Query parameters described in the documentation: https://docs.camunda.org/manual/latest/reference/rest/deployment/get-query/#query-parameters

func (*Deployment) GetListCount

func (d *Deployment) GetListCount(query map[string]string) (count int, err error)

GetListCount a queries for the number of deployments that fulfill given parameters. Takes the same parameters as the Get Deployments method

func (*Deployment) GetResource

func (d *Deployment) GetResource(id, resourceId string) (resource *ResDeploymentResource, err error)

GetResource retrieves a deployment resource by resource id for the given deployment

func (*Deployment) GetResourceBinary

func (d *Deployment) GetResourceBinary(id, resourceId string) (data []byte, err error)

GetResourceBinary retrieves the binary content of a deployment resource for the given deployment by id

func (*Deployment) GetResources

func (d *Deployment) GetResources(id string) (resources []*ResDeploymentResource, err error)

GetResources retrieves all deployment resources of a given deployment

func (*Deployment) Redeploy

func (d *Deployment) Redeploy(id string, req ReqRedeploy) (deployment *ResDeploymentCreate, err error)

Redeploy a re-deploys an existing deployment. The deployment resources to re-deploy can be restricted by using the properties resourceIds or resourceNames. If no deployment resources to re-deploy are passed then all existing resources of the given deployment are re-deployed

type Error

type Error struct {
	Type    string `json:"type"`
	Message string `json:"message"`
}

Error a custom error type

func (*Error) Error

func (e *Error) Error() string

Error error message

type ExternalTask

type ExternalTask struct {
	// contains filtered or unexported fields
}

ExternalTask a client for ExternalTask API

func (*ExternalTask) Complete

func (e *ExternalTask) Complete(id string, query QueryComplete) error

Complete a completes an external task by id and updates process variables

func (*ExternalTask) ExtendLock

func (e *ExternalTask) ExtendLock(id string, query QueryExtendLock) error

ExtendLock a extends the timeout of the lock by a given amount of time

func (*ExternalTask) FetchAndLock

func (e *ExternalTask) FetchAndLock(query QueryFetchAndLock) ([]*ResLockedExternalTask, error)

FetchAndLock fetches and locks a specific number of external tasks for execution by a worker. Query can be restricted to specific task topics and for each task topic an individual lock time can be provided

func (*ExternalTask) Get

func (e *ExternalTask) Get(id string) (*ResExternalTask, error)

Get retrieves an external task by id, corresponding to the ExternalTask interface in the engine

func (*ExternalTask) GetList

func (e *ExternalTask) GetList(query map[string]string) ([]*ResExternalTask, error)

GetList queries for the external tasks that fulfill given parameters. Parameters may be static as well as dynamic runtime properties of executions Query parameters described in the documentation: https://docs.camunda.org/manual/latest/reference/rest/external-task/get-query/#query-parameters

func (*ExternalTask) GetListCount

func (e *ExternalTask) GetListCount(query map[string]string) (int, error)

GetListCount queries for the number of external tasks that fulfill given parameters. Takes the same parameters as the Get External Tasks method. Query parameters described in the documentation: https://docs.camunda.org/manual/latest/reference/rest/external-task/get-query-count/#query-parameters

func (*ExternalTask) GetListPost

func (e *ExternalTask) GetListPost(query map[string]string, req QueryGetListPost) (resp []*ResExternalTask, err error)

GetListPost queries for external tasks that fulfill given parameters in the form of a JSON object. This method is slightly more powerful than the Get External Tasks method because it allows to specify a hierarchical result sorting. https://docs.camunda.org/manual/latest/reference/rest/external-task/post-query/#query-parameters

func (*ExternalTask) GetListPostCount

func (e *ExternalTask) GetListPostCount(query QueryGetListPost) (int, error)

GetListPostCount queries for the number of external tasks that fulfill given parameters. This method takes the same message body as the Get External Tasks (POST) method

func (*ExternalTask) HandleBPMNError

func (e *ExternalTask) HandleBPMNError(id string, query QueryHandleBPMNError) error

HandleBPMNError reports a business error in the context of a running external task by id. The error code must be specified to identify the BPMN error handler

func (*ExternalTask) HandleFailure

func (e *ExternalTask) HandleFailure(id string, query QueryHandleFailure) error

HandleFailure reports a failure to execute an external task by id. A number of retries and a timeout until the task can be retried can be specified. If retries are set to 0, an incident for this task is created

func (*ExternalTask) SetPriority

func (e *ExternalTask) SetPriority(id string, priority int) error

SetPriority a sets the priority of an existing external task by id. The default value of a priority is 0

func (*ExternalTask) SetRetries

func (e *ExternalTask) SetRetries(id string, retries int) error

SetRetries a sets the number of retries left to execute an external task by id. If retries are set to 0, an incident is created

func (*ExternalTask) SetRetriesAsync

func (e *ExternalTask) SetRetriesAsync(query QuerySetRetriesAsync) (*ResBatch, error)

SetRetriesAsync a set Retries For Multiple External Tasks Async (Batch). Sets the number of retries left to execute external tasks by id asynchronously. If retries are set to 0, an incident is created

func (*ExternalTask) SetRetriesSync

func (e *ExternalTask) SetRetriesSync(id string, query QuerySetRetriesSync) error

SetRetriesSync a set Retries For Multiple External Tasks Sync. Sets the number of retries left to execute external tasks by id synchronously. If retries are set to 0, an incident is created

func (*ExternalTask) Unlock

func (e *ExternalTask) Unlock(id string) error

Unlock a unlocks an external task by id. Clears the task’s lock expiration time and worker id

type History

type History struct {
	// contains filtered or unexported fields
}

func (*History) DeleteProcessInstance

func (h *History) DeleteProcessInstance(id string) error

DeleteProcessInstance deletes a historic process instance by id, according to the HistoricProcessInstance interface in the engine.

func (*History) DeleteProcessInstanceAsync

func (h *History) DeleteProcessInstanceAsync(req ReqHistoryDeleteProcessInstance) (batch *ResBatch, err error)

DeleteProcessInstanceAsync deletes multiple history process instances asynchronously (batch).

func (*History) GetProcessInstance

func (h *History) GetProcessInstance(id string) (processInstance *ResHistoryProcessInstance, err error)

GetProcessInstance Retrieves a historic process instance by id, according to the HistoricProcessInstance interface in the engine.

func (*History) GetProcessInstanceCount

func (h *History) GetProcessInstanceCount(query map[string]string) (count int, err error)

GetProcessInstanceCount queries for the number of historic process instances that fulfill the given parameters. https://docs.camunda.org/manual/latest/reference/rest/history/process-instance/get-process-instance-query-count/#query-parameters

func (*History) GetProcessInstanceCountPost

func (h *History) GetProcessInstanceCountPost(req ReqHistoryProcessInstanceQuery) (count int, err error)

GetProcessInstanceCountPost queries for the number of historic process instances that fulfill the given parameters.

func (*History) GetProcessInstanceDurationReport

func (h *History) GetProcessInstanceDurationReport(query map[string]string) (reports []*ResHistoryProcessInstanceDurationReport, err error)

GetProcessInstanceDurationReport retrieves a report about the duration of completed process instances, grouped by a period. These reports include the maximum, minimum and average duration of all completed process instances which were started in a given period. This only includes historic data. https://docs.camunda.org/manual/latest/reference/rest/history/process-instance/get-duration-report/#query-parameters

func (*History) GetProcessInstanceList

func (h *History) GetProcessInstanceList(query map[string]string) (processInstances []*ResHistoryProcessInstance, err error)

GetProcessInstanceList queries for historic process instances that fulfill the given parameters. https://docs.camunda.org/manual/latest/reference/rest/history/process-instance/get-process-instance-query/#query-parameters

func (*History) GetProcessInstanceListPost

func (h *History) GetProcessInstanceListPost(query map[string]string, req ReqHistoryProcessInstanceQuery) (processInstances []*ResHistoryProcessInstance, err error)

GetProcessInstanceListPost queries for historic process instances that fulfill given parameters through a JSON object. https://docs.camunda.org/manual/latest/reference/rest/history/process-instance/post-process-instance-query/#query-parameters

func (*History) GetTaskCount

func (h *History) GetTaskCount(query map[string]string) (count int, err error)

GetTaskCount queries for the number of historic process instances that fulfill the given parameters. https://docs.camunda.org/manual/7.15/reference/rest/history/task/get-task-query/#method

func (*History) GetTaskCountPost

func (h *History) GetTaskCountPost(req ReqHistoryTaskQuery) (count int, err error)

GetTaskCountPost queries for historic tasks that fulfill the given parameters. https://docs.camunda.org/manual/7.15/reference/rest/history/task/post-task-query-count/#method

func (*History) GetTaskList

func (h *History) GetTaskList(query map[string]string) (taskInstances []*ResHistoryTaskInstance, err error)

GetTaskList queries for historic task that fulfill the given parameters. https://docs.camunda.org/manual/7.15/reference/rest/history/task/get-task-query/#method

func (*History) GetTaskListPost

func (h *History) GetTaskListPost(query map[string]string, req ReqHistoryTaskQuery) (taskInstances []*ResHistoryTaskInstance, err error)

GetTaskListPost queries for historic tasks that fulfill the given parameters. https://docs.camunda.org/manual/7.15/reference/rest/history/task/post-task-query/#method

func (*History) GetVariableInstance

func (h *History) GetVariableInstance(id string, query map[string]string) (variableInstance *ResHistoryVariableInstance, err error)

GetVariableInstance retrieves a historic variable by id. https://docs.camunda.org/manual/latest/reference/rest/history/variable-instance/get-variable-instance/#query-parameters

func (*History) GetVariableInstanceBinaryData

func (h *History) GetVariableInstanceBinaryData(id string) (data []byte, err error)

GetVariableInstanceBinaryData retrieves the content of a historic variable by id. Applicable for variables that are serialized as binary data.

func (*History) GetVariableInstanceCount

func (h *History) GetVariableInstanceCount(query map[string]string) (count int, err error)

GetVariableInstanceCount queries for the number of historic variable instances that fulfill the given parameters. https://docs.camunda.org/manual/latest/reference/rest/history/variable-instance/get-variable-instance-query/#query-parameters

func (*History) GetVariableInstanceCountPost

func (h *History) GetVariableInstanceCountPost(req ReqHistoryVariableInstanceQuery) (count int, err error)

GetVariableInstanceCountPost queries for historic variable instances that fulfill the given parameters.

func (*History) GetVariableInstanceList

func (h *History) GetVariableInstanceList(query map[string]string) (variableInstances []*ResHistoryVariableInstance, err error)

GetVariableInstanceList queries for historic variable instances that fulfill the given parameters. https://docs.camunda.org/manual/latest/reference/rest/history/variable-instance/get-variable-instance-query/#query-parameters

func (*History) GetVariableInstanceListPost

func (h *History) GetVariableInstanceListPost(query map[string]string, req ReqHistoryVariableInstanceQuery) (variableInstances []*ResHistoryVariableInstance, err error)

GetVariableInstanceListPost queries for historic variable instances that fulfill the given parameters. https://docs.camunda.org/manual/latest/reference/rest/history/variable-instance/post-variable-instance-query/#query-parameters

type IdentityLink struct {
	// The user id of the assignee.
	UserId string `json:"userId"`
	// The group id of the candidate
	GroupId string `json:"groupId"`
	// the type of the indentity, either candidate or assign
	Type string `json:"type"`
}

IdentityLink camunda IdentityLink, e.g. assignee, candidate groups, of UserTask

type Message

type Message struct {
	// contains filtered or unexported fields
}

Message a client for Message API

func (*Message) SendMessage

func (m *Message) SendMessage(query *ReqMessage) error

SendMessage sends message to a process

type MessageAsyncResponse

type MessageAsyncResponse struct {
	Id                     string `json:"id"`
	Type                   string `json:"type"`
	TotalJobs              int    `json:"totalJobs"`
	BatchJobsPerSeed       int    `json:"batchJobsPerSeed"`
	InvocationsPerBatchJob int    `json:"invocationsPerBatchJob"`
	SeedJobDefinitionId    string `json:"seedJobDefinitionId"`
	MonitorJobDefinitionId string `json:"monitorJobDefinitionId"`
	BatchJobDefinitionId   string `json:"batchJobDefinitionId"`
	TenantId               string `json:"tenantId"`
	Suspended              bool   `json:"suspended"`
}

type ProcessDefinition

type ProcessDefinition struct {
	// contains filtered or unexported fields
}

ProcessDefinition a client for ProcessDefinition

func (*ProcessDefinition) ActivateOrSuspendById

ActivateOrSuspendById activates or suspends a given process definition by id or by latest version of process definition key

func (*ProcessDefinition) ActivateOrSuspendByKey

func (p *ProcessDefinition) ActivateOrSuspendByKey(req ReqActivateOrSuspendByKey) error

ActivateOrSuspendByKey activates or suspends process definitions with the given process definition key

func (*ProcessDefinition) Delete

Delete deletes a process definition from a deployment by id https://docs.camunda.org/manual/latest/reference/rest/process-definition/delete-process-definition/#query-parameters

func (*ProcessDefinition) Get

func (p *ProcessDefinition) Get(by QueryProcessDefinitionBy) (processDefinition *ResProcessDefinition, err error)

Get retrieves a process definition according to the ProcessDefinition interface in the engine

func (*ProcessDefinition) GetActivityInstanceStatistics

func (p *ProcessDefinition) GetActivityInstanceStatistics(by QueryProcessDefinitionBy, query map[string]string) (statistic []*ResActivityInstanceStatistics, err error)

GetActivityInstanceStatistics retrieves runtime statistics of a given process definition, grouped by activities. These statistics include the number of running activity instances, optionally the number of failed jobs and also optionally the number of incidents either grouped by incident types or for a specific incident type. Note: This does not include historic data https://docs.camunda.org/manual/latest/reference/rest/process-definition/get-activity-statistics/#query-parameters

func (*ProcessDefinition) GetDeployedStartForm

func (p *ProcessDefinition) GetDeployedStartForm(by QueryProcessDefinitionBy) (htmlForm string, err error)

GetDeployedStartForm retrieves the deployed form that can be referenced from a start event. For further information please refer to User Guide

func (*ProcessDefinition) GetDiagram

func (p *ProcessDefinition) GetDiagram(by QueryProcessDefinitionBy) (data []byte, err error)

GetDiagram retrieves the diagram of a process definition. If the process definition’s deployment contains an image resource with the same file name as the process definition, the deployed image will be returned by the Get Diagram endpoint. Example: someProcess.bpmn and someProcess.png. Supported file extentions for the image are: svg, png, jpg, and gif

func (*ProcessDefinition) GetList

func (p *ProcessDefinition) GetList(query map[string]string) (processDefinitions []*ResProcessDefinition, err error)

GetList queries for process definitions that fulfill given parameters. Parameters may be the properties of process definitions, such as the name, key or version. The size of the result set can be retrieved by using the Get Definition Count method https://docs.camunda.org/manual/latest/reference/rest/process-definition/get-query/#query-parameters

func (*ProcessDefinition) GetListCount

func (p *ProcessDefinition) GetListCount(query map[string]string) (count int, err error)

GetListCount requests the number of process definitions that fulfill the query criteria. Takes the same filtering parameters as the Get Definitions method https://docs.camunda.org/manual/latest/reference/rest/process-definition/get-query-count/#query-parameters

func (*ProcessDefinition) GetProcessInstanceStatistics

func (p *ProcessDefinition) GetProcessInstanceStatistics(query map[string]string) (statistic []*ResInstanceStatistics, err error)

GetProcessInstanceStatistics retrieves runtime statistics of the process engine, grouped by process definitions. These statistics include the number of running process instances, optionally the number of failed jobs and also optionally the number of incidents either grouped by incident types or for a specific incident type. Note: This does not include historic data https://docs.camunda.org/manual/latest/reference/rest/process-definition/get-statistics/#query-parameters

func (*ProcessDefinition) GetRenderedStartForm

func (p *ProcessDefinition) GetRenderedStartForm(by QueryProcessDefinitionBy) (htmlForm string, err error)

GetRenderedStartForm retrieves the rendered form for a process definition. This method can be used for getting the HTML rendering of a Generated Task Form

func (*ProcessDefinition) GetStartFormKey

func (p *ProcessDefinition) GetStartFormKey(by QueryProcessDefinitionBy) (resp *ResGetStartFormKey, err error)

GetStartFormKey retrieves the key of the start form for a process definition. The form key corresponds to the FormData#formKey property in the engine

func (*ProcessDefinition) GetStartFormVariables

func (p *ProcessDefinition) GetStartFormVariables(by QueryProcessDefinitionBy, query map[string]string) (variables map[string]Variable, err error)

GetStartFormVariables Retrieves the start form variables for a process definition (only if they are defined via the Generated Task Form approach). The start form variables take form data specified on the start event into account. If form fields are defined, the variable types and default values of the form fields are taken into account https://docs.camunda.org/manual/latest/reference/rest/process-definition/get-form-variables/#query-parameters

func (*ProcessDefinition) GetXML

GetXML retrieves the BPMN 2.0 XML of a process definition

func (*ProcessDefinition) RestartProcessInstance

func (p *ProcessDefinition) RestartProcessInstance(id string, req ReqRestartInstance) error

RestartProcessInstance restarts process instances that were canceled or terminated synchronously. To execute the restart asynchronously, use the Restart Process Instance Async method For more information about the difference between synchronous and asynchronous execution, please refer to the related section of the user guide

func (*ProcessDefinition) RestartProcessInstanceAsync

func (p *ProcessDefinition) RestartProcessInstanceAsync(id string, req ReqRestartInstance) (resp *ResBatch, err error)

RestartProcessInstanceAsync restarts process instances that were canceled or terminated asynchronously. To execute the restart synchronously, use the Restart Process Instance method For more information about the difference between synchronous and asynchronous execution, please refer to the related section of the user guide

func (*ProcessDefinition) StartInstance

func (p *ProcessDefinition) StartInstance(by QueryProcessDefinitionBy, req ReqStartInstance) (processDefinition *ResStartedProcessDefinition, err error)

StartInstance instantiates a given process definition. Process variables and business key may be supplied in the request body

func (*ProcessDefinition) SubmitStartForm

SubmitStartForm starts a process instance using a set of process variables and the business key. If the start event has Form Field Metadata defined, the process engine will perform backend validation for any form fields which have validators defined. See Documentation on Generated Task Forms

func (*ProcessDefinition) UpdateHistoryTimeToLive

func (p *ProcessDefinition) UpdateHistoryTimeToLive(by QueryProcessDefinitionBy, historyTimeToLive int) error

UpdateHistoryTimeToLive updates history time to live for process definition. The field is used within History cleanup

type ProcessInstance

type ProcessInstance struct {
	// contains filtered or unexported fields
}

ProcessInstance a client for ProcessInstance API

func (*ProcessInstance) ActivateSuspend

func (p *ProcessInstance) ActivateSuspend(id string, req ReqProcessInstanceActivateSuspend) error

ActivateSuspend activates or suspends a given process instance by id.

func (*ProcessInstance) ActivateSuspendByProcessDefinitionId

func (p *ProcessInstance) ActivateSuspendByProcessDefinitionId(req ReqProcessInstanceActivateSuspend) error

ActivateSuspendByProcessDefinitionId activates or suspends process instances with the given process definition id.

func (*ProcessInstance) ActivateSuspendByProcessDefinitionKey

func (p *ProcessInstance) ActivateSuspendByProcessDefinitionKey(req ReqProcessInstanceActivateSuspend) error

ActivateSuspendByProcessDefinitionKey activates or suspends process instances with the given process definition key.

func (*ProcessInstance) ActivateSuspendInGroup

func (p *ProcessInstance) ActivateSuspendInGroup(req ReqProcessInstanceActivateSuspend) error

ActivateSuspendInGroup activates or suspends process instances synchronously with a list of process instance ids, a process instance query, and/or a historical process instance query

func (*ProcessInstance) ActivateSuspendInGroupAsync

func (p *ProcessInstance) ActivateSuspendInGroupAsync(req ReqProcessInstanceActivateSuspend) (batch *ResBatch, err error)

ActivateSuspendInGroupAsync activates or suspends process instances asynchronously with a list of process instance ids, a process instance query, and/or a historical process instance query

func (*ProcessInstance) Delete

func (p *ProcessInstance) Delete(id string, query map[string]string) error

Delete deletes a running process instance by id. https://docs.camunda.org/manual/latest/reference/rest/process-instance/delete/#query-parameters

func (*ProcessInstance) DeleteAsync

func (p *ProcessInstance) DeleteAsync(req ReqDeleteProcessInstance) (batch *ResBatch, err error)

DeleteAsync deletes multiple process instances asynchronously (batch).

func (*ProcessInstance) DeleteHistoryAsync

func (p *ProcessInstance) DeleteHistoryAsync(req ReqDeleteHistoryProcessInstance) (batch *ResBatch, err error)

DeleteHistoryAsync deletes a set of process instances asynchronously (batch) based on a historic process instance query.

func (*ProcessInstance) DeleteProcessVariable

func (p *ProcessInstance) DeleteProcessVariable(by QueryProcessInstanceVariableBy) error

DeleteProcessVariable deletes a variable of a process instance by id.

func (*ProcessInstance) Get

func (p *ProcessInstance) Get(id string) (processInstance *ResProcessInstance, err error)

Get retrieves a process instance by id, according to the ProcessInstance interface in the engine.

func (*ProcessInstance) GetActivityInstance

func (p *ProcessInstance) GetActivityInstance(id string) (instance *ResProcessActivityInstance, err error)

GetActivityInstance retrieves an Activity Instance (Tree) for a given process instance by id.

func (*ProcessInstance) GetBinaryProcessVariableData

func (p *ProcessInstance) GetBinaryProcessVariableData(by QueryProcessInstanceVariableBy) (data []byte, err error)

GetBinaryProcessVariableData retrieves the content of a Process Variable by the Process Instance id and the Process Variable name. Applicable for byte array or file Process Variables.

func (*ProcessInstance) GetCount

func (p *ProcessInstance) GetCount(query map[string]string) (count int, err error)

GetCount queries for the number of process instances that fulfill given parameters. https://docs.camunda.org/manual/latest/reference/rest/process-instance/get-query-count/#query-parameters

func (*ProcessInstance) GetCountPost

func (p *ProcessInstance) GetCountPost(req ReqProcessInstanceQuery) (count int, err error)

GetCountPost queries for the number of process instances that fulfill the given parameters.

func (*ProcessInstance) GetList

func (p *ProcessInstance) GetList(query map[string]string) (processInstances []*ResProcessInstance, err error)

GetList queries for process instances that fulfill given parameters. Parameters may be static as well as dynamic runtime properties of process instances. The size of the result set can be retrieved by using the GetCount method. https://docs.camunda.org/manual/latest/reference/rest/process-instance/get-query/#query-parameters

func (*ProcessInstance) GetListPost

func (p *ProcessInstance) GetListPost(query map[string]string, req ReqProcessInstanceQuery) (processInstances []*ResProcessInstance, err error)

GetListPost queries for process instances that fulfill given parameters through a JSON object.

func (*ProcessInstance) GetProcessVariable

func (p *ProcessInstance) GetProcessVariable(by QueryProcessInstanceVariableBy, query map[string]string) (processVariable *ResProcessVariable, err error)

GetProcessVariable retrieves a variable of a given process instance by id. https://docs.camunda.org/manual/latest/reference/rest/process-instance/variables/get-variable/#query-parameters

func (*ProcessInstance) GetProcessVariableList

func (p *ProcessInstance) GetProcessVariableList(id string, query map[string]string) (processVariables map[string]*ResProcessVariable, err error)

GetProcessVariableList retrieves all variables of a given process instance by id. https://docs.camunda.org/manual/latest/reference/rest/process-instance/variables/get-variables/#query-parameters

func (*ProcessInstance) Modify

Modify submits a list of modification instructions to change a process instance's execution state. A modification instruction is one of the following:

Starting execution before an activity
Starting execution after an activity on its single outgoing sequence flow
Starting execution on a specific sequence flow
Cancelling an activity instance, transition instance, or all instances (activity or transition) for an activity

Instructions are executed immediately and in the order they are provided in this request's body. Variables can be provided with every starting instruction.

func (*ProcessInstance) ModifyAsync

func (p *ProcessInstance) ModifyAsync(id string, req ReqModifyProcessInstance) (batch *ResBatch, err error)

ModifyAsync submits a list of modification instructions to change a process instance's execution state. A modification instruction is one of the following:

Starting execution before an activity
Starting execution after an activity on its single outgoing sequence flow
Starting execution on a specific sequence flow
Cancelling an activity instance, transition instance, or all instances (activity or transition) for an activity

Instructions are executed asynchronous and in the order they are provided in this request's body. Variables can be provided with every starting instruction.

func (*ProcessInstance) ModifyProcessVariables

func (p *ProcessInstance) ModifyProcessVariables(id string, req ReqModifyProcessVariables) error

ModifyProcessVariables updates or deletes the variables of a process instance by id. Updates precede deletions. So, if a variable is updated AND deleted, the deletion overrides the update.

func (*ProcessInstance) SendMessageAsync

func (p *ProcessInstance) SendMessageAsync(req *ReqMessageAsync) (asyncResponse *MessageAsyncResponse, err error)

func (*ProcessInstance) SetHistoricJobRetriesAsync

func (p *ProcessInstance) SetHistoricJobRetriesAsync(req ReqHistoricProcessInstanceJobRetries) (batch *ResBatch, err error)

SetHistoricJobRetriesAsync creates a batch to set retries of jobs based on a historic process instance query asynchronously.

func (*ProcessInstance) SetJobRetriesAsync

func (p *ProcessInstance) SetJobRetriesAsync(req ReqProcessInstanceJobRetries) (batch *ResBatch, err error)

SetJobRetriesAsync creates a batch to set retries of jobs associated with given processes asynchronously.

func (*ProcessInstance) SetVariablesAsync

func (p *ProcessInstance) SetVariablesAsync(req ReqProcessInstanceVariables) (batch *ResBatch, err error)

SetVariablesAsync updates or creates runtime process variables in the root scope of process instances.

func (*ProcessInstance) UpdateProcessVariable

func (p *ProcessInstance) UpdateProcessVariable(by QueryProcessInstanceVariableBy, req ReqProcessVariable) error

UpdateProcessVariable sets a variable of a given process instance by id.

type QueryComplete

type QueryComplete struct {
	// The id of the worker that completes the task.
	// Must match the id of the worker who has most recently locked the task
	WorkerId *string `json:"workerId,omitempty"`
	// A JSON object containing variable key-value pairs
	Variables *map[string]Variable `json:"variables"`
	// A JSON object containing variable key-value pairs.
	// Local variables are set only in the scope of external task
	LocalVariables *map[string]Variable `json:"localVariables"`
}

QueryComplete a query for Complete request

type QueryExtendLock

type QueryExtendLock struct {
	//	An amount of time (in milliseconds). This is the new lock duration starting from the current moment
	NewDuration *int `json:"newDuration,omitempty"`
	// The ID of a worker who is locking the external task
	WorkerId *string `json:"workerId,omitempty"`
}

QueryExtendLock a query for ExtendLock request

type QueryFetchAndLock

type QueryFetchAndLock struct {
	// Mandatory. The id of the worker on which behalf tasks are fetched. The returned tasks are locked
	// for that worker and can only be completed when providing the same worker id
	WorkerId string `json:"workerId"`
	// Mandatory. The maximum number of tasks to return
	MaxTasks int `json:"maxTasks"`
	// A boolean value, which indicates whether the task should be fetched based on its priority or arbitrarily
	UsePriority *bool `json:"usePriority,omitempty"`
	// The Long Polling timeout in milliseconds.
	// Note: The value cannot be set larger than 1.800.000 milliseconds (corresponds to 30 minutes)
	AsyncResponseTimeout *int `json:"asyncResponseTimeout,omitempty"`
	// A JSON array of topic objects for which external tasks should be fetched.
	// The returned tasks may be arbitrarily distributed among these topics
	Topics []*QueryFetchAndLockTopic `json:"topics,omitempty"`
}

QueryFetchAndLock query for FetchAndLock request

type QueryFetchAndLockTopic

type QueryFetchAndLockTopic struct {
	// Mandatory. The topic's name
	TopicName string `json:"topicName"`
	// Mandatory. The duration to lock the external tasks for in milliseconds
	LockDuration int `json:"lockDuration"`
	// A JSON 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.
	// If not provided - all variables will be fetched
	Variables []string `json:"variables,omitempty"`
	// If true only local variables will be fetched
	LocalVariables *bool `json:"localVariables,omitempty"`
	// A String value which enables the filtering of tasks based on process instance business key
	BusinessKey *string `json:"businessKey,omitempty"`
	// Filter tasks based on process definition id
	ProcessDefinitionId *string `json:"processDefinitionId,omitempty"`
	// Filter tasks based on process definition ids
	ProcessDefinitionIdIn []string `json:"processDefinitionIdIn,omitempty"`
	// Filter tasks based on process definition key
	ProcessDefinitionKey *string `json:"processDefinitionKey,omitempty"`
	// Filter tasks based on process definition keys
	ProcessDefinitionKeyIn *string `json:"processDefinitionKeyIn,omitempty"`
	// 	Filter tasks without tenant id
	WithoutTenantId *string `json:"withoutTenantId,omitempty"`
	// Filter tasks based on tenant ids
	TenantIdIn []string `json:"tenantIdIn,omitempty"`
	// A JSON object used for filtering tasks based on process instance variable values.
	// A property name of the object represents a process variable name, while the property value
	// represents the process variable value to filter tasks by
	ProcessVariables map[string]interface{} `json:"processVariables,omitempty"`
	// Determines whether serializable variable values (typically variables that store custom Java objects)
	// should be deserialized on server side (default false).
	// If set to true, a serializable variable will be deserialized on server side and transformed to JSON
	// using Jackson's POJO/bean property introspection feature. Note that this requires the Java classes
	// of the variable value to be on the REST API's classpath.
	// If set to false, a serializable variable will be returned in its serialized format.
	// For example, a variable that is serialized as XML will be returned as a JSON string containing XML
	DeserializeValues *bool `json:"deserializeValues,omitempty"`
}

QueryFetchAndLockTopic a JSON array of topic objects for which external tasks should be fetched

type QueryGetListPost

type QueryGetListPost struct {
	// Filter by an external task's id
	ExternalTaskId *string `json:"externalTaskId,omitempty"`
	// Filter by an external task topic
	TopicName *string `json:"topicName,omitempty"`
	// Filter by the id of the worker that the task was most recently locked by
	WorkerId *string `json:"workerId,omitempty"`
	// Only include external tasks that are currently locked (i.e., they have a lock time and it has not expired).
	// Value may only be true, as false matches any external task
	Locked *bool `json:"locked,omitempty"`
	// Only include external tasks that are currently not locked (i.e., they have no lock or it has expired).
	// Value may only be true, as false matches any external task
	NotLocked *bool `json:"notLocked,omitempty"`
	// Only include external tasks that have a positive (> 0) number of retries (or null). Value may only be true,
	// as false matches any external task
	WithRetriesLeft *bool `json:"withRetriesLeft,omitempty"`
	// Only include external tasks that have 0 retries. Value may only be true, as false matches any external task
	NoRetriesLeft *bool `json:"noRetriesLeft,omitempty"`
	// Restrict to external tasks that have a lock that expires after a given date. By default*,
	// the date must have the format yyyy-MM-dd'T'HH:mm:ss.SSSZ, e.g., 2013-01-23T14:42:45.000+0200
	LockExpirationAfter *Time `json:"lockExpirationAfter,omitempty"`
	// Restrict to external tasks that have a lock that expires before a given date. By default*,
	// the date must have the format yyyy-MM-dd'T'HH:mm:ss.SSSZ, e.g., 2013-01-23T14:42:45.000+0200
	LockExpirationBefore *Time `json:"lockExpirationBefore,omitempty"`
	// Filter by the id of the activity that an external task is created for
	ActivityId *string `json:"activityId,omitempty"`
	// Filter by the comma-separated list of ids of the activities that an external task is created for
	ActivityIdIn []string `json:"activityIdIn,omitempty"`
	// Filter by the id of the execution that an external task belongs to
	ExecutionId *string `json:"executionId,omitempty"`
	// Filter by the id of the process instance that an external task belongs to
	ProcessInstanceId *string `json:"processInstanceId,omitempty"`
	// Filter by the id of the process definition that an external task belongs to
	ProcessDefinitionId *string `json:"processDefinitionId,omitempty"`
	// Filter by a comma-separated list of tenant ids. An external task must have one of the given tenant ids
	TenantIdIn []string `json:"tenantIdIn,omitempty"`
	// Only include active tasks. Value may only be true, as false matches any external task
	Active *bool `json:"active,omitempty"`
	// Only include suspended tasks. Value may only be true, as false matches any external task
	Suspended *bool `json:"suspended,omitempty"`
	// Only include jobs with a priority higher than or equal to the given value. Value must be a valid long value
	PriorityHigherThanOrEquals *int `json:"priorityHigherThanOrEquals,omitempty"`
	// Only include jobs with a priority lower than or equal to the given value. Value must be a valid long value
	PriorityLowerThanOrEquals *int `json:"priorityLowerThanOrEquals,omitempty"`
	// A JSON array of criteria to sort the result by. Each element of the array is a JSON object
	// that specifies one ordering. The position in the array identifies the rank of an ordering,
	// i.e., whether it is primary, secondary, etc.
	Sorting *QueryListPostSorting `json:"sorting,omitempty"`
}

QueryGetListPost a query for ListPost request

type QueryHandleBPMNError

type QueryHandleBPMNError struct {
	// The id of the worker that reports the failure.
	// Must match the id of the worker who has most recently locked the task
	WorkerId *string `json:"workerId,omitempty"`
	// An error code that indicates the predefined error. Is used to identify the BPMN error handler
	ErrorCode *string `json:"errorCode,omitempty"`
	// An error message that describes the error
	ErrorMessage *string `json:"errorMessage,omitempty"`
	// A JSON object containing the variables which will be passed to the execution.
	// Each key corresponds to a variable name and each value to a variable value
	Variables *map[string]Variable `json:"variables"`
}

QueryHandleBPMNError a query for HandleBPMNError request

type QueryHandleFailure

type QueryHandleFailure struct {
	// The id of the worker that reports the failure.
	// Must match the id of the worker who has most recently locked the task
	WorkerId *string `json:"workerId,omitempty"`
	// An message indicating the reason of the failure
	ErrorMessage *string `json:"errorMessage,omitempty"`
	// A detailed error description
	ErrorDetails *string `json:"errorDetails,omitempty"`
	// A number of how often the task should be retried.
	// Must be >= 0. If this is 0, an incident is created and the task cannot be fetched anymore unless
	// the retries are increased again. The incident's message is set to the errorMessage parameter
	Retries *int `json:"retries,omitempty"`
	// A timeout in milliseconds before the external task becomes available again for fetching. Must be >= 0
	RetryTimeout *int `json:"retryTimeout,omitempty"`
}

QueryHandleFailure a query for HandleFailure request

type QueryListPostSorting

type QueryListPostSorting struct {
	// Mandatory. Sort the results lexicographically by a given criterion. Valid values are id, lockExpirationTime,
	// processInstanceId, processDefinitionId, processDefinitionKey, taskPriority and tenantId
	SortBy string `json:"sortBy"`
	// Mandatory. Sort the results in a given order. Values may be asc for ascending order or desc for descending order
	SortOrder string `json:"sortOrder"`
}

QueryListPostSorting a JSON array of criteria to sort the result by

type QueryProcessDefinitionBy

type QueryProcessDefinitionBy struct {
	Id       *string
	Key      *string
	TenantId *string
}

QueryProcessDefinitionBy path builder

func (*QueryProcessDefinitionBy) String

func (q *QueryProcessDefinitionBy) String() string

String a build path part

type QueryProcessInstanceVariableBy

type QueryProcessInstanceVariableBy struct {
	Id           *string
	VariableName *string
}

QueryProcessInstanceVariableBy path builder

func (*QueryProcessInstanceVariableBy) String

String a build path part

type QuerySetRetriesAsync

type QuerySetRetriesAsync struct {
	// The number of retries to set for the external task. Must be >= 0. If this is 0, an incident is created and the
	// task cannot be fetched anymore unless the retries are increased again. Can not be null
	Retries int `json:"retries"`
	// The ids of the external tasks to set the number of retries for
	ExternalTaskIds *string `json:"externalTaskIds,omitempty"`
	// The ids of process instances containing the tasks to set the number of retries for
	ProcessInstanceIds *string `json:"processInstanceIds,omitempty"`
	// Query for the external tasks to set the number of retries for
	ExternalTaskQuery *string `json:"externalTaskQuery,omitempty"`
	// Query for the process instances containing the tasks to set the number of retries for
	ProcessInstanceQuery *string `json:"processInstanceQuery,omitempty"`
	// Query for the historic process instances containing the tasks to set the number of retries for
	HistoricProcessInstanceQuery *string `json:"historicProcessInstanceQuery,omitempty"`
}

QuerySetRetriesAsync a query for SetRetriesAsync request

type QuerySetRetriesSync

type QuerySetRetriesSync struct {
	// The number of retries to set for the external task. Must be >= 0. If this is 0, an incident is created
	// and the task cannot be fetched anymore unless the retries are increased again. Can not be null
	Retries int `json:"retries"`
}

QuerySetRetriesSync a query for SetRetriesSync request

type QueryUserTaskComplete

type QueryUserTaskComplete struct {
	// A JSON object containing variable key-value pairs
	Variables map[string]Variable `json:"variables"`
}

QueryUserTaskComplete a query for Complete user task request

type ReqActivateOrSuspendById

type ReqActivateOrSuspendById struct {
	// A Boolean value which indicates whether to activate or suspend a given process definition. When the value
	// is set to true, the given process definition will be suspended and when the value is set to false,
	// the given process definition will be activated
	Suspended *bool `json:"suspended,omitempty"`
	// A Boolean value which indicates whether to activate or suspend also all process instances of the given process
	// definition. When the value is set to true, all process instances of the provided process definition will be
	// activated or suspended and when the value is set to false, the suspension state of all process instances of
	// the provided process definition will not be updated
	IncludeProcessInstances *bool `json:"includeProcessInstances,omitempty"`
	// The date on which the given process definition will be activated or suspended. If null, the suspension state
	// of the given process definition is updated immediately. The date must have the format yyyy-MM-dd'T'HH:mm:ss,
	// e.g., 2013-01-23T14:42:45
	ExecutionDate *Time `json:"executionDate,omitempty"`
}

ReqActivateOrSuspendById response ActivateOrSuspendById

type ReqActivateOrSuspendByKey

type ReqActivateOrSuspendByKey struct {
	// The key of the process definitions to activate or suspend
	ProcessDefinitionKey string `json:"processDefinitionKey"`
	// A Boolean value which indicates whether to activate or suspend a given process definition. When the value
	// is set to true, the given process definition will be suspended and when the value is set to false,
	// the given process definition will be activated
	Suspended *bool `json:"suspended,omitempty"`
	// A Boolean value which indicates whether to activate or suspend also all process instances of the given process
	// definition. When the value is set to true, all process instances of the provided process definition will be
	// activated or suspended and when the value is set to false, the suspension state of all process instances of
	// the provided process definition will not be updated
	IncludeProcessInstances *bool `json:"includeProcessInstances,omitempty"`
	// The date on which the given process definition will be activated or suspended. If null, the suspension state
	// of the given process definition is updated immediately. The date must have the format yyyy-MM-dd'T'HH:mm:ss,
	// e.g., 2013-01-23T14:42:45
	ExecutionDate *Time `json:"executionDate,omitempty"`
}

ReqActivateOrSuspendByKey response ActivateOrSuspendByKey

type ReqDeleteHistoryProcessInstance

type ReqDeleteHistoryProcessInstance struct {
	// A list process instance ids to delete.
	ProcessInstanceIds []string `json:"processInstanceIds"`
	// A historic process instance query
	HistoricProcessInstanceQuery *ReqHistoryProcessInstanceQuery `json:"historicProcessInstanceQuery"`
	// A string with delete reason.
	DeleteReason *string `json:"deleteReason"`
	// Skip execution listener invocation for activities that are started or ended as part of this request.
	SkipCustomListeners *bool `json:"skipCustomListeners"`
	// Skip deletion of the subprocesses related to deleted processes as part of this request.
	SkipSubprocesses *bool `json:"skipSubprocesses"`
	// If set to false, the request will still be successful if one or more of the process ids are not found.
	FailIfNotExists *bool `json:"failIfNotExists"`
}

ReqDeleteHistoryProcessInstance a JSON object with the following properties: (at least an empty JSON object {} or an empty request body)

type ReqDeleteProcessInstance

type ReqDeleteProcessInstance struct {
	// A list process instance ids to delete.
	ProcessInstanceIds []string `json:"processInstanceIds"`
	// A process instance query
	ProcessInstanceQuery *ReqProcessInstanceQuery `json:"processInstanceQuery"`
	// A string with delete reason.
	DeleteReason *string `json:"deleteReason"`
	// Skip execution listener invocation for activities that are started or ended as part of this request.
	SkipCustomListeners *bool `json:"skipCustomListeners"`
	// Skip deletion of the subprocesses related to deleted processes as part of this request.
	SkipSubprocesses *bool `json:"skipSubprocesses"`
	// If set to false, the request will still be successful if one or more of the process ids are not found.
	FailIfNotExists *bool `json:"failIfNotExists"`
}

ReqDeleteProcessInstance a JSON object with the following properties: (at least an empty JSON object {} or an empty request body)

type ReqDeploymentCreate

type ReqDeploymentCreate struct {
	DeploymentName           string
	EnableDuplicateFiltering *bool
	DeployChangedOnly        *bool
	DeploymentSource         *string
	TenantId                 *string
	Resources                map[string]interface{}
}

ReqDeploymentCreate a request to deployment create

type ReqHistoricProcessInstanceJobRetries

type ReqHistoricProcessInstanceJobRetries struct {
	// A list of process instance ids to fetch jobs, for which retries will be set.
	ProcessInstances []string `json:"processInstances"`
	// A process instance query
	HistoricProcessInstanceQuery *ReqHistoryProcessInstanceQuery `json:"historicProcessInstanceQuery"`
	// An integer representing the number of retries. Please note that the value cannot be negative or null.
	Retries int `json:"retries"`
}

ReqHistoricProcessInstanceJobRetries a JSON object with the following properties: (at least an empty JSON object {} or an empty request body)

type ReqHistoryDeleteProcessInstance

type ReqHistoryDeleteProcessInstance struct {
	// A list process instance ids to delete.
	HistoricProcessInstanceIds []string `json:"historicProcessInstanceIds,omitempty"`
	// A process instance query
	HistoricProcessInstanceQuery *ReqProcessInstanceQuery `json:"historicProcessInstanceQuery,omitempty"`
	// A string with delete reason.
	DeleteReason *string `json:"deleteReason,omitempty"`
}

ReqHistoryDeleteProcessInstance a JSON object with the following properties: (at least an empty JSON object {} or an empty request body)

type ReqHistoryProcessInstanceQuery

type ReqHistoryProcessInstanceQuery struct {
	// Filter by process instance id.
	ProcessInstanceId *string `json:"processInstanceId"`
	// Filter by a list of process instance ids. Must be a JSON array of Strings.
	ProcessInstanceIds []string `json:"processInstanceIds"`
	// Filter by process instance business key.
	BusinessKey *string `json:"processInstanceBusinessKey"`
	// Filter by process instance business key that the parameter is a substring of.
	BusinessKeyLike *string `json:"processInstanceBusinessKeyLike"`
	// Filter by case instance id.
	CaseInstanceId *string `json:"caseInstanceId"`
	// Filter by the process definition the instances run on.
	ProcessDefinitionId *string `json:"processDefinitionId"`
	// Filter by the key of the process definition the instances run on.
	ProcessDefinitionKey *string `json:"processDefinitionKey"`
	// Filter by a list of process definition keys. A process instance must have one of the
	// given process definition keys. Must be a JSON array of Strings.
	ProcessDefinitionKeyIn []string `json:"processDefinitionKeyIn"`
	// Exclude instances by a list of process definition keys. A process instance must not have one of the
	// given process definition keys. Must be a JSON array of Strings.
	ProcessDefinitionKeyNotIn []string `json:"processDefinitionKeyNotIn"`
	// Filter by the name of the process definition the instances run on.
	ProcessDefinitionName *string `json:"processDefinitionName"`
	// Filter by process definition names that the parameter is a substring of.
	ProcessDefinitionNameLike *string `json:"processDefinitionNameLike"`
	// Filter by the deployment the id belongs to.
	DeploymentId *string `json:"deploymentId"`
	// Restrict query to all process instances that are sub process instances of the given process instance.
	// Takes a process instance id.
	SuperProcessInstance *string `json:"superProcessInstance"`
	// Restrict query to all process instances that have the given process instance as a sub process instance.
	// Takes a process instance id.
	SubProcessInstance *string `json:"subProcessInstance"`
	// Restrict query to all process instances that are sub process instances of the given case instance.
	// Takes a case instance id.
	SuperCaseInstance *string `json:"superCaseInstance"`
	// Restrict query to all process instances that have the given case instance as a sub-case instance.
	// Takes a case instance id.
	SubCaseInstance *string `json:"subCaseInstance"`
	// Only include active process instances. Value may only be true, as false is the default behavior.
	Active *bool `json:"active"`
	// Only include finished process instances. This flag includes all process instances that are completed or terminated.
	// Value may only be true, as false is the default behavior.
	Finished *bool `json:"finished"`
	// Only include unfinished process instances. Value may only be true, as false is the default behavior.
	Unfinished *bool `json:"unfinished"`
	// Only include suspended process instances. Value may only be true, as false is the default behavior.
	Suspended *bool `json:"suspended"`
	// Restrict to instance that is externally terminated
	ExternallyTerminated *bool `json:"externallyTerminated"`
	// Restrict to instance that is internally terminated
	InternallyTerminated *bool `json:"internallyTerminated"`
	// Filter by presence of incidents. Selects only process instances that have an incident.
	WithIncidents *bool `json:"withIncidents"`
	// Only include process instances which have a root incident. Value may only be true, as false is the default behavior.
	WithRootIncidents *bool `json:"withRootIncidents"`
	// Filter by the incident type.
	IncidentType *string `json:"incidentType"`
	// Only include process instances which have an incident in status either open or resolved.
	// To get all process instances, use the query parameter withIncidents.
	IncidentStatus *bool `json:"incidentStatus"`
	// Filter by the incident message.
	IncidentMessage *string `json:"incidentMessage"`
	// Filter by the incident message that the parameter is a substring of.
	IncidentMessageLike *string `json:"incidentMessageLike"`
	// Filter by a list of tenant ids. A process instance must have one of the given tenant ids.
	// Must be a JSON array of Strings.
	TenantIdIn []string `json:"tenantIdIn"`
	// Only include process instances which belong to no tenant. Value may only be true, as false is the default behavior.
	WithoutTenantId *bool `json:"withoutTenantId"`
	// Filter by a list of activity ids. A process instance must currently wait in a leaf activity with one of the given activity ids.
	ActivityIdIn []string `json:"activityIdIn"`
	// Restrict to instance that executed an activity with one of given ids.
	ExecutedActivityIdIn []string `json:"executedActivityIdIn"`
	// Restrict the query to all process instances that are top level process instances.
	RootProcessInstances *bool `json:"rootProcessInstances"`
	// Restrict the query to all process instances that are leaf instances. (i.e. don't have any sub instances)
	LeafProcessInstances *bool `json:"leafProcessInstances"`
	// Only include process instances which process definition has no tenant id.
	ProcessDefinitionWithoutTenantId *bool `json:"processDefinitionWithoutTenantId"`
	// A JSON array to only include process instances that have variables with certain values.
	Variables []ReqProcessVariableQuery `json:"variables"`
	// Match all variable names in this query case-insensitively.
	// If set to true variable-Name and variable-name are treated as equal.
	VariableNamesIgnoreCase *bool `json:"variableNamesIgnoreCase"`
	// Match all variable values in this query case-insensitively.
	// If set to true variable-Value and variable-value are treated as equal.
	VariableValuesIgnoreCase *bool `json:"variableValuesIgnoreCase"`
	// A JSON array of nested process instance queries with OR semantics.
	// A process instance matches a nested query if it fulfills at least one of the query's predicates.
	// With multiple nested queries, a process instance must fulfill at least one predicate of each query.
	// All process instance query properties can be used except for: sorting.
	OrQueries []ReqProcessInstanceQuery `json:"orQueries"`
	// A JSON array of criteria to sort the result by.
	// Each element of the array is a JSON object that specifies one ordering.
	// The position in the array identifies the rank of an ordering, i.e., whether it is primary, secondary, etc.
	Sorting []ReqSort `json:"sorting"`
	// Restrict to instance that was started before the given date.
	// By default, the date must have the format yyyy-MM-dd'T'HH:mm:ss.SSSZ, e.g., 2013-01-23T14:42:45.000+0200.
	StartedBefore *string `json:"startedBefore"`
	// Restrict to instance that was started after the given date.
	// By default, the date must have the format yyyy-MM-dd'T'HH:mm:ss.SSSZ, e.g., 2013-01-23T14:42:45.000+0200.
	StartedAfter *string `json:"startedAfter"`
	// Restrict to instance that was finished before the given date.
	// By default, the date must have the format yyyy-MM-dd'T'HH:mm:ss.SSSZ, e.g., 2013-01-23T14:42:45.000+0200.
	FinishedBefore *string `json:"finishedBefore"`
	// Restrict to instance that was finished after the given date.
	// By default, the date must have the format yyyy-MM-dd'T'HH:mm:ss.SSSZ, e.g., 2013-01-23T14:42:45.000+0200.
	FinishedAfter *string `json:"finishedAfter"`
	// Restrict to instance that executed an activity before the given date (inclusive).
	// By default, the date must have the format yyyy-MM-dd'T'HH:mm:ss.SSSZ, e.g., 2013-01-23T14:42:45.000+0200.
	ExecutedActivityBefore *string `json:"executedActivityBefore"`
	// Restrict to instance that executed an activity after the given date (inclusive).
	// By default, the date must have the format yyyy-MM-dd'T'HH:mm:ss.SSSZ, e.g., 2013-01-23T14:42:45.000+0200.
	ExecutedActivityAfter *string `json:"executedActivityAfter"`
	// Restrict to instance that executed a job before the given date (inclusive).
	// By default, the date must have the format yyyy-MM-dd'T'HH:mm:ss.SSSZ, e.g., 2013-01-23T14:42:45.000+0200.
	ExecutedJobBefore *string `json:"executedJobBefore"`
	// Restrict to instance that executed a job after the given date (inclusive).
	// By default, the date must have the format yyyy-MM-dd'T'HH:mm:ss.SSSZ, e.g., 2013-01-23T14:42:45.000+0200.
	ExecutedJobAfter *string `json:"executedJobAfter"`
}

ReqHistoryProcessInstanceQuery a JSON object with the following properties: (at least an empty JSON object {} or an empty request body)

type ReqHistoryTaskQuery

type ReqHistoryTaskQuery struct {
	// Filter by process instance id.
	TaskId *string `json:"taskId,omitempty"`
	// Filter by task parent id.
	TaskParentId *string `json:"taskParentTaskId,omitempty"`
	// Restrict to tasks that belong to process instances with the given id.
	ProcessInstanceId *string `json:"processInstanceId,omitempty"`
	// Restrict to tasks that belong to process instances with the given business key.
	ProcessInstanceBusinessKey *string `json:"processInstanceBusinessKey,omitempty"`
	// Restrict to tasks that belong to process instances with one of the give business keys. The keys need to be in a comma-separated list.
	ProcessInstanceBusinessKeyIn []string `json:"processInstanceBusinessKeyIn,omitempty"`
	// Restrict to tasks that have a process instance business key that has the parameter value as a substring.
	ProcessInstanceBusinessKeyLike *string `json:"processInstanceBusinessKeyLike,omitempty"`
	// Restrict to tasks that belong to an execution with the given id.
	ExecutionId *string `json:"executionId,omitempty"`
	// Restrict to tasks that belong to a process definition with the given id.
	ProcessDefinitionId *string `json:"processDefinitionId,omitempty"`
	// Restrict to tasks that belong to a process definition with the given key.
	ProcessDefinitionKey *string `json:"processDefinitionKey,omitempty"`
	// Restrict to tasks that belong to a process definition with the given name.
	ProcessDefinitionName *string `json:"processDefinitionName,omitempty"`
	// Restrict to tasks that belong to case instances with the given id.
	CaseInstanceId *string `json:"caseInstanceId,omitempty"`
	// Restrict to tasks that belong to a case execution with the given id.
	CaseExecutionId *string `json:"caseExecutionId,omitempty"`
	// Restrict to tasks that belong to a case definition with the given id.
	CaseDefinitionId *string `json:"caseDefinitionId,omitempty"`
	// Restrict to tasks that belong to a case definition with the given key.
	CaseDefinitionKey *string `json:"caseDefinitionKey,omitempty"`
	// Restrict to tasks that belong to a case definition with the given name.
	CaseDefinitionName *string `json:"caseDefinitionName,omitempty"`
	// Only include tasks which belong to one of the passed and comma-separated activity instance ids.
	ActivityInstanceIdIn []string `json:"activityInstanceIdIn,omitempty"`
	// Restrict to tasks that have the given name.
	TaskName *string `json:"taskName,omitempty"`
	// Restrict to tasks that have a name with the given parameter value as substring.
	TaskNameLike *string `json:"taskNameLike,omitempty"`
	// Restrict to tasks that have the given description.
	TaskDescription *string `json:"taskDescription,omitempty"`
	// Restrict to tasks that have a description that has the parameter value as a substring.
	TaskDescriptionLike *string `json:"taskDescriptionLike,omitempty"`
	// Restrict to tasks that have the given key.
	TaskDefinitionKey *string `json:"taskDefinitionKey,omitempty"`
	// Restrict to tasks that have one of the given keys. The keys need to be in a comma-separated list.
	TaskDefinitionKeyIn []string `json:"taskDefinitionKeyIn,omitempty"`
	// Restrict to tasks that have the given delete reason.
	TaskDeleteReason *string `json:"taskDeleteReason,omitempty"`
	// Restrict to tasks that have a delete reason that has the parameter value as a substring.
	TaskDeleteReasonLike *string `json:"taskDeleteReasonLike,omitempty"`
	// Restrict to tasks that the given user is assigned to.
	TaskAssignee *string `json:"taskAssignee,omitempty"`
	// Restrict to tasks that have an assignee that has the parameter value as a substring.
	TaskAssigneeLike *string `json:"taskAssigneeLike,omitempty"`
	// Restrict to tasks that the given user owns.
	TaskOwner *string `json:"taskOwner,omitempty"`
	// Restrict to tasks that the user described by the given expression owns. See the user guide for more information on available functions.
	TaskOwnerLike *string `json:"taskOwnerLike,omitempty"`
	// Only include tasks that are offered to the given group.
	// Restrict to tasks that have the given priority.
	TaskPriority *string `json:"taskPriority,omitempty"`
	// If set to true, restricts the query to all tasks that are assigned.
	Assigned bool `json:"assigned,omitempty"`
	// If set to true, restricts the query to all tasks that are unassigned.
	Unassigned bool `json:"unassigned,omitempty"`
	// If set to true, restricts the query to all tasks that are assigned.
	Finished bool `json:"finished,omitempty"`
	// If set to true, restricts the query to all tasks that are unassigned.
	Unfinished bool `json:"unfinished,omitempty"`
	// Only include tasks of finished processes. Value may only be true, as false is the default behavior.
	ProcessFinished bool `json:"processFinished,omitempty"`
	// Only include tasks of unfinished processes. Value may only be true, as false is the default behavior.
	ProcessUnfinished bool `json:"processUnfinished,omitempty"`
	// Restrict to tasks that are due on the given date. By default*, the date must have the format yyyy-MM-dd'T'HH:mm:ss.SSSZ, e.g., 2013-01-23T14:42:45.000+0200.
	TaskDueDate *string `json:"TaskDueDate,omitempty"`
	// Restrict to tasks that are due before the given date. The date must have the format yyyy-MM-dd'T'HH:mm:ss, e.g., 2013-01-23T14:42:45.
	TaskDueBefore *string `json:"taskDueDateBefore,omitempty"`
	// Restrict to tasks that are due after the given date. The date must have the format yyyy-MM-dd'T'HH:mm:ss, e.g., 2013-01-23T14:42:45.
	TaskDueAfter       *string `json:"taskDueDateAfter,omitempty"`
	WithoutTaskDueDate bool    `json:"withoutTaskDueDate,omitempty"`
	// Restrict to tasks that have a followUp date on the given date. The date must have the format yyyy-MM-dd'T'HH:mm:ss, e.g., 2013-01-23T14:42:45.
	TaskFollowUpDate *string `json:"taskFollowUpDate,omitempty"`
	// Restrict to tasks that have a followUp date before the given date. The date must have the format yyyy-MM-dd'T'HH:mm:ss, e.g., 2013-01-23T14:42:45.
	TaskFollowUpBefore *string `json:"taskFollowUpDateBefore,omitempty"`
	// Restrict to tasks that have a followUp date after the given date. The date must have the format yyyy-MM-dd'T'HH:mm:ss, e.g., 2013-01-23T14:42:45.
	TaskFollowUpAfter *string `json:"taskFollowUpDateAfter,omitempty"`
	// Restrict to tasks that were started before the given date. By default*, the date must have the format yyyy-MM-dd'T'HH:mm:ss.SSSZ, e.g., 2013-01-23T14:42:45.000+0200.
	TaskStartedBefore *string `json:"startedBefore,omitempty"`
	// Restrict to tasks that were started after the given date. By default*, the date must have the format yyyy-MM-dd'T'HH:mm:ss.SSSZ, e.g., 2013-01-23T14:42:45.000+0200.
	TaskStartedAfter string `json:"startedAfter,omitempty"`
	// Restrict to tasks that were finished before the given date. By default*, the date must have the format yyyy-MM-dd'T'HH:mm:ss.SSSZ, e.g., 2013-01-23T14:42:45.000+0200.
	TaskFinishedBefore *string `json:"finishedBefore,omitempty"`
	// Restrict to tasks that were finished after the given date. By default*, the date must have the format yyyy-MM-dd'T'HH:mm:ss.SSSZ, e.g., 2013-01-23T14:42:45.000+0200.
	TaskFinishedAfter *string `json:"finishedAfter,omitempty"`
	// Filter by a comma-separated list of tenant ids. A task instance must have one of the given tenant ids.
	TenantIdIn []string `json:"tenantIdIn,omitempty"`
	// Only include historic task instances that belong to no tenant. Value may only be true, as false is the default behavior.
	WithoutTenantId bool `json:"withoutTenantId,omitempty"`
	// Only include tasks that have variables with certain values.Variable filtering expressions are comma-separated and are structured as follows:
	// A valid parameter value has the form key_operator_value.key is the variable name, operator is the comparison operator to be used and value the variable value.
	// Note: Values are always treated as String objects on server side.
	//
	// Valid operator values are: eq - equal to;
	// neq - not equal to;
	// gt - greater than;
	// gteq - greater than or equal to;
	// lt - lower than;
	// lteq - lower than or equal to;
	// like.
	// key and value may not contain underscore or comma characters.
	TaskVariables []VariableFilterExpression `json:"taskVariables,omitempty"`
	// Only include tasks that belong to process instances that have variables with certain values.Variable filtering expressions are comma-separated and are structured as follows:
	// A valid parameter value has the form key_operator_value.key is the variable name, operator is the comparison operator to be used and value the variable value.
	// Note: Values are always treated as String objects on server side.
	//
	// Valid operator values are: eq - equal to;
	// neq - not equal to;
	// gt - greater than;
	// gteq - greater than or equal to;
	// lt - lower than;
	// lteq - lower than or equal to;
	// like.
	// key and value may not contain underscore or comma characters.
	ProcessVariables []VariableFilterExpression `json:"processVariables,omitempty"`
	// Match the variable name provided in taskVariables and processVariables case-insensitively. If set to true variableName and variablename are treated as equal.
	VariableNamesIgnoreCase bool `json:"variableNamesIgnoreCase,omitempty"`
	// Match the variable value provided in taskVariables and processVariables case-insensitively. If set to true variableValue and variablevalue are treated as equal.
	VariableValuesIgnoreCase bool `json:"variableValuesIgnoreCase,omitempty"`
	// Restrict to tasks with a historic identity link to the given user.
	TaskInvolvedUser *string `json:"taskInvolvedUser,omitempty"`
	// Restrict to tasks with a historic identity link to the given group.
	TaskInvolvedGroup *string `json:"askInvolvedGroup,omitempty"`
	// Restrict to tasks with a historic identity link to the given candidate user.
	TaskHadCandidateUser *string `json:"taskHadCandidateUser,omitempty"`
	// Restrict to tasks with a historic identity link to the given candidate group.
	TaskHadCandidateGroup *string `json:"taskHadCandidateGroup,omitempty"`
	// Only include tasks which have a candidate group. Value may only be true, as false is the default behavior.
	WithCandidateGroups bool `json:"withCandidateGroups,omitempty"`
	// Only include tasks which have no candidate group. Value may only be true, as false is the default behavior.
	WithoutCandidateGroups bool `json:"withoutCandidateGroups,omitempty"`
	// A JSON array of criteria to sort the result by.
	// Each element of the array is a JSON object that specifies one ordering.
	// The position in the array identifies the rank of an ordering, i.e., whether it is primary, secondary, etc.
	Sorting []ReqSort `json:"sorting"`
}

ReqHistoryTaskQuery a JSON object with the following properties: (at least an empty JSON object {} or an empty request body) https://docs.camunda.org/manual/7.15/reference/rest/history/task/get-task-query/#query-parameters

type ReqHistoryVariableInstanceQuery

type ReqHistoryVariableInstanceQuery struct {
	VariableName         string      `json:"variableName"`
	VariableNameLike     string      `json:"variableNameLike"`
	VariableValue        interface{} `json:"variableValue"`
	ProcessInstanceId    string      `json:"processInstanceId"`
	ProcessInstanceIdIn  []string    `json:"processInstanceIdIn"`
	ProcessDefinitionId  string      `json:"process_definition_id"`
	ExecutionIdIn        []string    `json:"executionIdIn"`
	CaseInstanceId       string      `json:"caseInstanceId"`
	CaseExecutionIdIn    []string    `json:"caseExecutionIdIn"`
	CaseActivityIdIn     []string    `json:"caseActivityIdIn"`
	TaskIdIn             []string    `json:"taskIdIn"`
	ActivityInstanceIdIn []string    `json:"activityInstanceIdIn"`
	TenantIdIn           []string    `json:"tenantIdIn"`
}

ReqHistoryVariableInstanceQuery a JSON object with the following properties: (at least an empty JSON object {} or an empty request body)

type ReqIdentityLink struct {
	UserId  string `json:"userId,omitempty"`
	GroupId string `json:"groupId,omitempty"`
	Type    string `json:"type,omitempty"`
}

ReqIdentityLink post request for IdentityLink

type ReqMessage

type ReqMessage struct {
	MessageName       string               `json:"messageName"`
	BusinessKey       string               `json:"businessKey,omitempty"`
	ProcessInstanceId *string              `json:"processInstanceId,omitempty"`
	ProcessVariables  *map[string]Variable `json:"processVariables,omitempty"`
	CorrelationKeys   *map[string]Variable `json:"correlationKeys,omitempty"`
}

ReqMessage a request to send a message

type ReqMessageAsync

type ReqMessageAsync struct {
	MessageName        *string              `json:"messageName,omitempty"`
	ProcessInstanceIds *[]string            `json:"processInstanceIds,omitempty"`
	Variables          *map[string]Variable `json:"variables,omitempty"`
}

type ReqModifyProcessInstance

type ReqModifyProcessInstance struct {
	// Skip execution listener invocation for activities that are started or ended as part of this request.
	SkipCustomListeners *bool `json:"skipCustomListeners"`
	// Skip execution of input/output variable mappings for activities that are started or ended as part of this request.
	SkipIOMappings *bool `json:"skipIoMappings"`
	// A JSON array of modification instructions. The instructions are executed in the order they are in.
	Instructions []ReqModifyProcessInstanceInstruction `json:"instructions"`
	// An arbitrary text annotation set by a user for auditing reasons.
	Annotation *string `json:"annotation"`
}

ReqModifyProcessInstance a JSON object with the following properties: (at least an empty JSON object {} or an empty request body)

type ReqModifyProcessInstanceInstruction

type ReqModifyProcessInstanceInstruction struct {
	// Mandatory. One of the following values: cancel, startBeforeActivity, startAfterActivity, startTransition.
	// A cancel instruction requests cancellation of a single activity instance or all instances of one activity.
	// A startBeforeActivity instruction requests to enter a given activity.
	// A startAfterActivity instruction requests to execute the single outgoing sequence flow of a given activity.
	// A startTransition instruction requests to execute a specific sequence flow.
	Type string `json:"type"`
	// Can be used with instructions of types startBeforeActivity, startAfterActivity, and cancel.
	// Specifies the activity the instruction targets.
	ActivityId *string `json:"activityId"`
	// Can be used with instructions of types startTransition. Specifies the sequence flow to start.
	TransitionId *string `json:"transitionId"`
	// Can be used with instructions of type cancel. Specifies the activity instance to cancel.
	// Valid values are the activity instance IDs supplied by the Get Activity Instance request.
	ActivityInstanceId *string `json:"activityInstanceId"`
	// Can be used with instructions of type cancel. Specifies the transition instance to cancel.
	// Valid values are the transition instance IDs supplied by the Get Activity Instance request.
	TransitionInstanceId *string `json:"transitionInstanceId"`
	// Can be used with instructions of type startBeforeActivity, startAfterActivity, and startTransition.
	// Valid values are the activity instance IDs supplied by the Get Activity Instance request.
	// If there are multiple parent activity instances of the targeted activity, this specifies the ancestor scope
	// in which hierarchy the activity/transition is to be instantiated.
	//Example: When there are two instances of a subprocess and an activity contained in the subprocess is to be started,
	// this parameter allows specifying under which subprocess instance the activity should be started.
	AncestorActivityInstanceId *string `json:"ancestorActivityInstanceId"`
	// Can be used with instructions of type startBeforeActivity, startAfterActivity, and startTransition.
	// A JSON object containing variable key-value pairs.
	// Each key is a variable name and each value a JSON variable value object.
	Variables map[string]ReqProcessVariable `json:"variables"`
}

ReqModifyProcessInstanceInstruction a JSON object with the following properties: (at least an empty JSON object {} or an empty request body)

type ReqModifyProcessVariables

type ReqModifyProcessVariables struct {
	// A JSON object containing variable key-value pairs. Each key is a variable name and each value a JSON.
	Modifications *map[string]ReqProcessVariable `json:"modifications,omitempty"`
	// An array of String keys of variables to be deleted.
	Deletions []string `json:"deletions,omitempty"`
}

ReqModifyProcessVariables a JSON object with the following properties: (at least an empty JSON object {} or an empty request body)

type ReqProcessInstanceActivateSuspend

type ReqProcessInstanceActivateSuspend struct {
	// A list process instance ids to delete.
	ProcessInstanceIds []string `json:"processInstanceIds"`
	// A process instance query
	ProcessInstanceQuery *ReqProcessInstanceQuery `json:"processInstanceQuery"`
	// A historic process instance query
	HistoricProcessInstanceQuery *ReqHistoryProcessInstanceQuery `json:"historicProcessInstanceQuery"`
	// The process definition id of the process instances to activate or suspend.
	ProcessDefinitionId *string `json:"processDefinitionId"`
	// The process definition key of the process instances to activate or suspend.
	ProcessDefinitionKey *string `json:"processDefinitionKey"`
	// Only activate or suspend process instances of a process definition which belongs to a tenant with the given id.
	ProcessDefinitionTenantId *string `json:"processDefinitionTenantId"`
	// Only activate or suspend process instances of a process definition which belongs to no tenant.
	// Value may only be true, as false is the default behavior.
	ProcessDefinitionWithoutTenantId *bool `json:"processDefinitionWithoutTenantId"`
	// A Boolean value which indicates whether to activate or suspend a given process instance.
	// When the value is set to true, the given process instance will be suspended and
	// when the value is set to false, the given process instance will be activated.
	Suspended bool `json:"suspended"`
}

ReqProcessInstanceActivateSuspend a JSON object with the following properties: (at least an empty JSON object {} or an empty request body)

type ReqProcessInstanceJobRetries

type ReqProcessInstanceJobRetries struct {
	// A list of process instance ids to fetch jobs, for which retries will be set.
	ProcessInstances []string `json:"processInstances"`
	// A process instance query
	ProcessInstanceQuery *ReqProcessInstanceQuery `json:"processInstanceQuery"`
	// An integer representing the number of retries. Please note that the value cannot be negative or null.
	Retries int `json:"retries"`
}

ReqProcessInstanceJobRetries a JSON object with the following properties: (at least an empty JSON object {} or an empty request body)

type ReqProcessInstanceQuery

type ReqProcessInstanceQuery struct {
	// Filter by a list of process instance ids. Must be a JSON array of Strings.
	ProcessInstanceIds []string `json:"processInstanceIds"`
	// Filter by process instance business key.
	BusinessKey *string `json:"businessKey"`
	// Filter by process instance business key that the parameter is a substring of.
	BusinessKeyLike *string `json:"businessKeyLike"`
	// Filter by case instance id.
	CaseInstanceId *string `json:"caseInstanceId"`
	// Filter by the process definition the instances run on.
	ProcessDefinitionId *string `json:"processDefinitionId"`
	// Filter by the key of the process definition the instances run on.
	ProcessDefinitionKey *string `json:"processDefinitionKey"`
	// Filter by a list of process definition keys. A process instance must have one of the
	// given process definition keys. Must be a JSON array of Strings.
	ProcessDefinitionKeyIn []string `json:"processDefinitionKeyIn"`
	// Exclude instances by a list of process definition keys. A process instance must not have one of the
	// given process definition keys. Must be a JSON array of Strings.
	ProcessDefinitionKeyNotIn []string `json:"processDefinitionKeyNotIn"`
	// Filter by the deployment the id belongs to.
	DeploymentId *string `json:"deploymentId"`
	// Restrict query to all process instances that are sub process instances of the given process instance.
	// Takes a process instance id.
	SuperProcessInstance *string `json:"superProcessInstance"`
	// Restrict query to all process instances that have the given process instance as a sub process instance.
	// Takes a process instance id.
	SubProcessInstance *string `json:"subProcessInstance"`
	// Restrict query to all process instances that are sub process instances of the given case instance.
	// Takes a case instance id.
	SuperCaseInstance *string `json:"superCaseInstance"`
	// Restrict query to all process instances that have the given case instance as a sub-case instance.
	// Takes a case instance id.
	SubCaseInstance *string `json:"subCaseInstance"`
	// Only include active process instances. Value may only be true, as false is the default behavior.
	Active *bool `json:"active"`
	// Only include suspended process instances. Value may only be true, as false is the default behavior.
	Suspended *bool `json:"suspended"`
	// Filter by presence of incidents. Selects only process instances that have an incident.
	WithIncident *bool `json:"withIncident"`
	// Filter by the incident id.
	IncidentId *string `json:"incidentId"`
	// Filter by the incident type.
	IncidentType *string `json:"incidentType"`
	// Filter by the incident message.
	IncidentMessage *string `json:"incidentMessage"`
	// Filter by the incident message that the parameter is a substring of.
	IncidentMessageLike *string `json:"incidentMessageLike"`
	// Filter by a list of tenant ids. A process instance must have one of the given tenant ids.
	// Must be a JSON array of Strings.
	TenantIdIn []string `json:"tenantIdIn"`
	// Only include process instances which belong to no tenant. Value may only be true, as false is the default behavior.
	WithoutTenantId *bool `json:"withoutTenantId"`
	// Filter by a list of activity ids. A process instance must currently wait in a leaf activity with one of the given activity ids.
	ActivityIdIn []string `json:"activityIdIn"`
	// Restrict the query to all process instances that are top level process instances.
	RootProcessInstances *bool `json:"rootProcessInstances"`
	// Restrict the query to all process instances that are leaf instances. (i.e. don't have any sub instances)
	LeafProcessInstances *bool `json:"leafProcessInstances"`
	// Only include process instances which process definition has no tenant id.
	ProcessDefinitionWithoutTenantId *bool `json:"processDefinitionWithoutTenantId"`
	// A JSON array to only include process instances that have variables with certain values.
	Variables []ReqProcessVariableQuery `json:"variables"`
	// Match all variable names in this query case-insensitively.
	// If set to true variable-Name and variable-name are treated as equal.
	VariableNamesIgnoreCase *bool `json:"variableNamesIgnoreCase"`
	// Match all variable values in this query case-insensitively.
	// If set to true variable-Value and variable-value are treated as equal.
	VariableValuesIgnoreCase *bool `json:"variableValuesIgnoreCase"`
	// A JSON array of nested process instance queries with OR semantics.
	// A process instance matches a nested query if it fulfills at least one of the query's predicates.
	// With multiple nested queries, a process instance must fulfill at least one predicate of each query.
	// All process instance query properties can be used except for: sorting.
	OrQueries []ReqProcessInstanceQuery `json:"orQueries"`
	// A JSON array of criteria to sort the result by.
	// Each element of the array is a JSON object that specifies one ordering.
	// The position in the array identifies the rank of an ordering, i.e., whether it is primary, secondary, etc.
	Sorting []ReqSort `json:"sorting"`
}

ReqProcessInstanceQuery a JSON object with the following properties: (at least an empty JSON object {} or an empty request body)

type ReqProcessInstanceVariables

type ReqProcessInstanceVariables struct {
	// A list process instance ids to delete.
	ProcessInstanceIds []string `json:"processInstanceIds"`
	// A process instance query
	ProcessInstanceQuery *ReqProcessInstanceQuery `json:"processInstanceQuery"`
	// A historic process instance query
	HistoricProcessInstanceQuery *ReqHistoryProcessInstanceQuery `json:"historicProcessInstanceQuery"`
	// A JSON object containing variable key-value pairs the operation will set in the root scope of the process instances.
	// Each key is a variable name and each value a JSON variable value object.
	Variables *ReqProcessVariable `json:"variables"`
}

ReqProcessInstanceVariables a JSON object with the following properties: (at least an empty JSON object {} or an empty request body)

type ReqProcessVariable

type ReqProcessVariable struct {
	// The variable's value. For variables of type Object, the serialized value has to be submitted as a String value.
	// For variables of type File the value has to be submitted as Base64 encoded string.
	Value interface{} `json:"value,omitempty"`
	// The value type of the variable.
	Type *string `json:"type,omitempty"`
	// A JSON object containing additional, value-type-dependent properties.
	ValueInfo *ReqProcessVariableValueInfo `json:"valueInfo,omitempty"`
}

ReqProcessVariable a JSON object with the following properties: (at least an empty JSON object {} or an empty request body)

type ReqProcessVariableQuery

type ReqProcessVariableQuery struct {
	// Process variable name
	Name *string `json:"name"`
	// Valid operator values are: eq - equal to; neq - not equal to; gt - greater than;
	// gteq - greater than or equal to; lt - lower than; lteq - lower than or equal to; like.
	Operator *string `json:"operator"`
	// Process variable value
	Value interface{} `json:"value"`
}

ReqProcessVariableQuery a JSON object with the following properties: (at least an empty JSON object {} or an empty request body)

type ReqProcessVariableValueInfo

type ReqProcessVariableValueInfo struct {
	// A string representation of the object's type name.
	ObjectTypeName *string `json:"objectTypeName,omitempty"`
	// The serialization format used to store the variable.
	SerializationDataFormat *string `json:"serializationDataFormat,omitempty"`
	// The name of the file. This is not the variable name but the name that will be used when downloading the file again.
	FileName *string `json:"filename,omitempty"`
	// The MIME type of the file that is being uploaded.
	MimeType *string `json:"mimetype,omitempty"`
	// The encoding of the file that is being uploaded.
	Encoding *string `json:"encoding,omitempty"`
	// Indicates whether the variable should be transient or not. See documentation for more information.
	Transient *bool `json:"transient,omitempty"`
	// Indicates whether the variable should be a local variable or not.
	// If set to true, the variable becomes a local variable of the execution entering the target activity.
	Local *bool `json:"local"`
}

ReqProcessVariableValueInfo a JSON object with the following properties: (at least an empty JSON object {} or an empty request body)

type ReqRedeploy

type ReqRedeploy struct {
	// A list of deployment resource ids to re-deploy
	ResourceIds *string `json:"resourceIds,omitempty"`
	// A list of deployment resource names to re-deploy
	ResourceNames *string `json:"resourceNames,omitempty"`
	// Sets the source of the deployment
	Source *string `json:"source,omitempty"`
}

ReqRedeploy a request to redeploy

type ReqRestartInstance

type ReqRestartInstance struct {
	// A list of process instance ids to restart
	ProcessInstanceIds *string `json:"processInstanceIds,omitempty"`
	// A historic process instance query like the request body described by POST /history/process-instance
	HistoricProcessInstanceQuery *string `json:"historicProcessInstanceQuery,omitempty"`
	// Optional. A JSON array of instructions that specify which activities to start the process instance at.
	// If this property is omitted, the process instance starts at its default blank start event
	StartInstructions []ReqStartInstructions `json:"startInstructions,omitempty"`
	// Skip execution listener invocation for activities that are started or ended as part of this request
	// Note: This option is currently only respected when start instructions are submitted via
	// the startInstructions property
	SkipCustomListeners *bool `json:"skipCustomListeners,omitempty"`
	// Skip execution of input/output variable mappings for activities that are started or ended as part of this request
	// Note: This option is currently only respected when start instructions are submitted via
	// the startInstructions property
	SkipIoMappings *bool `json:"skipIoMappings,omitempty"`
	// Set the initial set of variables during restart. By default, the last set of variables is used
	InitialVariables *bool `json:"initialVariables,omitempty"`
	// Do not take over the business key of the historic process instance.
	WithoutBusinessKey *bool `json:"withoutBusinessKey,omitempty"`
}

ReqRestartInstance a request to restart instance

type ReqSort

type ReqSort struct {
	// Mandatory. Sort the results lexicographically by a given criterion.
	// Valid values are instanceId, definitionKey, definitionId, tenantId and businessKey.
	SortBy string `json:"sortBy"`
	// Mandatory. Sort the results in a given order. Values may be asc for ascending order or desc for descending order.
	SortOrder string `json:"sortOrder"`
}

ReqSort json representing sort criteria

type ReqStartInstance

type ReqStartInstance struct {
	// A JSON object containing the variables the process is to be initialized with
	Variables *map[string]Variable `json:"variables,omitempty"`
	// The business key the process instance is to be initialized with.
	// The business key uniquely identifies the process instance in the context of the given process definition
	BusinessKey *string `json:"businessKey,omitempty"`
	// The case instance id the process instance is to be initialized with
	CaseInstanceId *string `json:"caseInstanceId,omitempty"`
	// Optional. A JSON array of instructions that specify which activities to start the process instance at.
	// If this property is omitted, the process instance starts at its default blank start event
	StartInstructions []ReqStartInstructions `json:"startInstructions,omitempty"`
	// Skip execution listener invocation for activities that are started or ended as part of this request
	// Note: This option is currently only respected when start instructions are submitted via
	// the startInstructions property
	SkipCustomListeners *bool `json:"skipCustomListeners,omitempty"`
	// Skip execution of input/output variable mappings for activities that are started or ended as part of this request
	// Note: This option is currently only respected when start instructions are submitted via
	// the startInstructions property
	SkipIoMappings *bool `json:"skipIoMappings,omitempty"`
	// Indicates if the variables, which was used by the process instance during execution, should be returned. Default value: false
	WithVariablesInReturn *bool `json:"withVariablesInReturn,omitempty"`
}

ReqStartInstance a JSON object with the following properties: (at least an empty JSON object {} or an empty request body)

type ReqStartInstructions

type ReqStartInstructions struct {
	// Mandatory. One of the following values: startBeforeActivity, startAfterActivity, startTransition.
	// A startBeforeActivity instruction requests to start execution before entering a given activity.
	// A startAfterActivity instruction requests to start at the single outgoing sequence flow of a given activity.
	// A startTransition instruction requests to execute a specific sequence flow
	Type string `json:"type"`
	// Can be used with instructions of types startBeforeActivity and startAfterActivity.
	// Specifies the activity the instruction targets
	ActivityId *string `json:"activityId,omitempty"`
	// Can be used with instructions of types startTransition. Specifies the sequence flow to start
	TransitionId *string `json:"transitionId,omitempty"`
	// Can be used with instructions of type startBeforeActivity, startAfterActivity, and startTransition.
	// A JSON object containing variable key-value pairs
	Variables *map[string]VariableSet `json:"variables,omitempty"`
}

ReqStartInstructions a JSON array of instructions that specify which activities to start the process instance at

type ReqSubmitStartForm

type ReqSubmitStartForm struct {
	// A JSON object containing the variables the process is to be initialized with.
	// Each key corresponds to a variable name and each value to a variable value
	Variables map[string]Variable `json:"variables"`
	// A JSON object containing the business key the process is to be initialized with.
	// The business key uniquely identifies the process instance in the context of the given process definition
	BusinessKey string `json:"businessKey"`
}

ReqSubmitStartForm request a SubmitStartForm

type ResActivityInstanceIncident

type ResActivityInstanceIncident struct {
	// The id of the incident
	Id string `json:"id"`
	// The activity id in which the incident happened
	ActivityId string `json:"activityId"`
}

ResActivityInstanceIncident a response object for process activity instance incident

type ResActivityInstanceStatistics

type ResActivityInstanceStatistics struct {
	// The id of the activity the results are aggregated for
	Id string `json:"id"`
	// The total number of running instances of this activity
	Instances int `json:"instances"`
	// Number	The total number of failed jobs for the running instances.
	// Note: Will be 0 (not null), if failed jobs were excluded
	FailedJobs int `json:"failedJobs"`
	// Each item in the resulting array is an object which contains the following properties
	Incidents []ResActivityInstanceStatisticsIncident `json:"incidents"`
}

ResActivityInstanceStatistics a JSON array containing statistics results per activity

type ResActivityInstanceStatisticsIncident

type ResActivityInstanceStatisticsIncident struct {
	// The type of the incident the number of incidents is aggregated for.
	// See the User Guide for a list of incident types
	IncidentType string `json:"incidentType"`
	// The total number of incidents for the corresponding incident type
	IncidentCount int `json:"incidentCount"`
}

ResActivityInstanceStatisticsIncident a statistics incident

type ResBPMNProcessDefinition

type ResBPMNProcessDefinition struct {
	// The id of the process definition
	Id string `json:"id"`
	// An escaped XML string containing the XML that this definition was deployed with.
	// Carriage returns, line feeds and quotation marks are escaped
	Bpmn20Xml string `json:"bpmn20Xml"`
}

ResBPMNProcessDefinition a JSON object containing the id of the definition and the BPMN 2.0 XML

type ResBatch

type ResBatch struct {
	// The id of the created batch
	Id string `json:"id"`
	// The type of the created batch
	Type string `json:"type"`
	// The total jobs of a batch is the number of batch execution jobs required to complete the batch
	TotalJobs int `json:"totalJobs"`
	// The number of batch execution jobs created per seed job invocation. The batch seed job is invoked until
	// it has created all batch execution jobs required by the batch (see totalJobs property)
	BatchJobsPerSeed int `json:"batchJobsPerSeed"`
	// Every batch execution job invokes the command executed by the batch invocationsPerBatchJob times.
	// E.g., for a process instance migration batch this specifies the number of process instances which are
	// migrated per batch execution job
	InvocationsPerBatchJob int `json:"invocationsPerBatchJob"`
	// The job definition id for the seed jobs of this batch
	SeedJobDefinitionId string `json:"seedJobDefinitionId"`
	// The job definition id for the monitor jobs of this batch.
	MonitorJobDefinitionId string `json:"monitorJobDefinitionId"`
	// The job definition id for the batch execution jobs of this batch.
	BatchJobDefinitionId string `json:"batchJobDefinitionId"`
	// Indicates whether this batch is suspended or not.
	Suspended bool `json:"suspended"`
	// The tenant id of the batch.
	TenantId string `json:"tenantId"`
	// The id of the user that created the batch.
	CreateUserId string `json:"createUserId"`
}

ResBatch a JSON object corresponding to the Batch interface in the engine

type ResCaseDefinition

type ResCaseDefinition struct {
	// The id of the case definition
	Id string `json:"id"`
	// The key of the case definition, i.e., the id of the CMMN 2.0 XML case definition
	Key string `json:"key"`
	// The category of the case definition
	Category string `json:"category"`
	// The name of the case definition
	Name string `json:"name"`
	// The version of the case definition that the engine assigned to it
	Version int `json:"Version"`
	// The file name of the case definition
	Resource string `json:"resource"`
	// The deployment id of the case definition
	DeploymentId string `json:"deploymentId"`
	// The tenant id of the case definition
	TenantId string `json:"tenantId"`
	// History time to live value of the case definition. Is used within History cleanup
	HistoryTimeToLive int `json:"historyTimeToLive"`
}

ResCaseDefinition a JSON object corresponding to the CaseDefinition interface in the engine

type ResCount

type ResCount struct {
	Count int `json:"count"`
}

ResCount a count response

type ResDecisionDefinition

type ResDecisionDefinition struct {
	// The id of the decision definition
	Id string `json:"id"`
	// The key of the decision definition, i.e., the id of the DMN 1.0 XML decision definition
	Key string `json:"key"`
	// The category of the decision definition
	Category string `json:"category"`
	// The name of the decision definition
	Name string `json:"name"`
	// The version of the decision definition that the engine assigned to it
	Version int `json:"Version"`
	// The file name of the decision definition
	Resource string `json:"resource"`
	// The deployment id of the decision definition
	DeploymentId string `json:"deploymentId"`
	// The tenant id of the decision definition
	TenantId string `json:"tenantId"`
	// The id of the decision requirements definition this decision definition belongs to
	DecisionRequirementsDefinitionId string `json:"decisionRequirementsDefinitionId"`
	// The key of the decision requirements definition this decision definition belongs to
	DecisionRequirementsDefinitionKey string `json:"decisionRequirementsDefinitionKey"`
	// The version tag of the process definition
	VersionTag string `json:"versionTag"`
	// History time to live value of the decision definition. Is used within History cleanup
	HistoryTimeToLive int `json:"historyTimeToLive"`
}

ResDecisionDefinition a JSON object corresponding to the DecisionDefinition interface in the engine

type ResDecisionRequirementsDefinition

type ResDecisionRequirementsDefinition struct {
	// The id of the decision requirements definition
	Id string `json:"id"`
	// The key of the decision requirements definition, i.e., the id of the DMN 1.1 XML decision definition
	Key string `json:"key"`
	// The category of the decision requirements definition
	Category string `json:"category"`
	// The name of the decision requirements definition
	Name string `json:"name"`
	// The version of the decision requirements definition that the engine assigned to it
	Version int `json:"Version"`
	// The file name of the decision requirements definition
	Resource string `json:"resource"`
	// The deployment id of the decision requirements definition
	DeploymentId string `json:"deploymentId"`
	// The tenant id of the decision requirements definition
	TenantId string `json:"tenantId"`
}

ResDecisionRequirementsDefinition a JSON object corresponding to the DecisionRequirementsDefinition interface in the engine

type ResDeployment

type ResDeployment struct {
	// The id of the deployment
	Id string `json:"id"`
	// The name of the deployment
	Name string `json:"name"`
	// The source of the deployment
	Source string `json:"source"`
	// The tenant id of the deployment
	TenantId string `json:"tenantId"`
	// The date and time of the deployment.
	DeploymentTime Time `json:"deploymentTime"`
}

ResDeployment a JSON array of deployment objects

type ResDeploymentCreate

type ResDeploymentCreate struct {
	// The id of the deployment
	Id string `json:"id"`
	// The name of the deployment
	Name string `json:"name"`
	// The source of the deployment
	Source string `json:"source"`
	// The tenant id of the deployment
	TenantId string `json:"tenant_id"`
	// The time when the deployment was created
	DeploymentTime Time `json:"deployment_time"`
	// Link to the newly created deployment with method, href and rel
	Links []ResLink `json:"links"`
	// A JSON Object containing a property for each of the process definitions,
	// which are successfully deployed with that deployment
	DeployedProcessDefinitions map[string]ResProcessDefinition `json:"deployedProcessDefinitions"`
	// A JSON Object containing a property for each of the case definitions,
	// which are successfully deployed with that deployment
	DeployedCaseDefinitions map[string]ResCaseDefinition `json:"deployedCaseDefinitions"`
	// A JSON Object containing a property for each of the decision definitions,
	// which are successfully deployed with that deployment
	DeployedDecisionDefinitions map[string]ResDecisionDefinition `json:"deployedDecisionDefinitions"`
	// A JSON Object containing a property for each of the decision requirements definitions,
	// which are successfully deployed with that deployment
	DeployedDecisionRequirementsDefinitions map[string]ResDecisionRequirementsDefinition `json:"deployedDecisionRequirementsDefinitions"`
}

ResDeploymentCreate a JSON object corresponding to the DeploymentWithDefinitions interface in the engine

type ResDeploymentResource

type ResDeploymentResource struct {
	// The id of the deployment resource
	Id string `json:"id"`
	// The name of the deployment resource
	Name string `json:"name"`
	// The id of the deployment
	DeploymentId string `json:"deploymentId"`
}

ResDeploymentResource a JSON array containing all deployment resources of the given deployment

type ResExternalTask

type ResExternalTask struct {
	// The id of the activity that this external task belongs to
	ActivityId string `json:"activityId"`
	// The id of the activity instance that the external task belongs to
	ActivityInstanceId string `json:"activityInstanceId"`
	// The full error message submitted with the latest reported failure executing this task;
	// null if no failure was reported previously or if no error message was submitted
	ErrorMessage string `json:"errorMessage"`
	// The error details submitted with the latest reported failure executing this task.
	// null if no failure was reported previously or if no error details was submitted
	ErrorDetails string `json:"errorDetails"`
	// The id of the execution that the external task belongs to
	ExecutionId string `json:"executionId"`
	// The id of the external task
	Id string `json:"id"`
	// The date that the task's most recent lock expires or has expired
	LockExpirationTime string `json:"lockExpirationTime"`
	// The id of the process definition the external task is defined in
	ProcessDefinitionId string `json:"processDefinitionId"`
	// The key of the process definition the external task is defined in
	ProcessDefinitionKey string `json:"processDefinitionKey"`
	// The id of the process instance the external task belongs to
	ProcessInstanceId string `json:"processInstanceId"`
	// The id of the tenant the external task belongs to
	TenantId string `json:"tenantId"`
	// The number of retries the task currently has left. Could be null in case retries were not set earlier and this is the first retry.
	Retries *int `json:"retries"`
	// A flag indicating whether the external task is suspended or not
	Suspended bool `json:"suspended"`
	// The id of the worker that possesses or possessed the most recent lock
	WorkerId string `json:"workerId"`
	// The priority of the external task
	Priority int `json:"priority"`
	// The topic name of the external task
	TopicName string `json:"topicName"`
	// The business key of the process instance the external task belongs to
	BusinessKey string `json:"businessKey"`
}

ResExternalTask a ExternalTask response

type ResGetStartFormKey

type ResGetStartFormKey struct {
	// The form key for the process definition
	Key string `json:"key"`
	// The context path of the process application
	ContextPath string `json:"contextPath"`
}

ResGetStartFormKey a response from GetStartFormKey method

type ResHistoryProcessInstance

type ResHistoryProcessInstance struct {
	// The id of the process instance
	Id string `json:"id"`
	// The process instance id of the root process instance that initiated the process.
	RootProcessInstanceId string `json:"rootProcessInstanceId"`
	// The id of the parent process instance, if it exists.
	SuperProcessInstanceId string `json:"superProcessInstanceId"`
	// The id of the parent case instance, if it exists.
	SuperCaseInstanceId string `json:"superCaseInstanceId"`
	// The id of the parent case instance, if it exists.
	CaseInstanceId string `json:"caseInstanceId"`
	// The name of the process definition that this process instance belongs to.
	ProcessDefinitionName string `json:"processDefinitionName"`
	// The key of the process definition that this process instance belongs to.
	ProcessDefinitionKey string `json:"processDefinitionKey"`
	// The version of the process definition that this process instance belongs to.
	ProcessDefinitionVersion int `json:"processDefinitionVersion"`
	// The id of the process definition that this process instance belongs to.
	ProcessDefinitionId string `json:"processDefinitionId"`
	// The business key of the process instance.
	BusinessKey string `json:"businessKey"`
	// The time the instance was started. Default format* yyyy-MM-dd’T’HH:mm:ss.SSSZ.
	StartTime string `json:"startTime"`
	// The time the instance ended. Default format* yyyy-MM-dd’T’HH:mm:ss.SSSZ.
	EndTime string `json:"endTime"`
	// The time after which the instance should be removed by the History Cleanup job. Default format* yyyy-MM-dd’T’HH:mm:ss.SSSZ.
	RemovalTime string `json:"removalTime"`
	// The time the instance took to finish (in milliseconds).
	DurationInMillis float32 `json:"durationInMillis"`
	// The id of the user who started the process instance.
	StartUserId string `json:"startUserId"`
	// The id of the initial activity that was executed (e.g., a start event).
	StartActivityId string `json:"startActivityId"`
	// The provided delete reason in case the process instance was canceled during execution.
	DeleteReason string `json:"deleteReason"`
	// The tenant id of the process instance.
	TenantId string `json:"tenantId"`
	// last state of the process instance, possible values are:
	// ACTIVE - running process instance
	// SUSPENDED - suspended process instances
	// COMPLETED - completed through normal end event
	// EXTERNALLY_TERMINATED - terminated externally, for instance through REST API
	// INTERNALLY_TERMINATED - terminated internally, for instance by terminating boundary event
	State string `json:"state"`
}

ResHistoryProcessInstance a response object for process instance

type ResHistoryProcessInstanceDurationReport

type ResHistoryProcessInstanceDurationReport struct {
	// Specifies a timespan within a year.
	// The period must be interpreted in conjunction with the returned periodUnit.
	Period int `json:"period"`
	// The unit of the given period. Possible values are MONTH and QUARTER.
	PeriodUnit string `json:"periodUnit"`
	// The greatest duration in milliseconds of all completed process instances which were started in the given period.
	Maximum int64 `json:"maximum"`
	// The smallest duration in milliseconds of all completed process instances which were started in the given period.
	Minimum int64 `json:"minimum"`
	// The average duration in milliseconds of all completed process instances which were started in the given period.
	Average int64 `json:"average"`
}

ResHistoryProcessInstanceDurationReport a response object for history process instance duration report

type ResHistoryTaskInstance

type ResHistoryTaskInstance struct {
	// The id of the task.
	Id string `json:"id"`
	// The key of the process definition the task belongs to.
	ProcessDefinitionKey string `json:"processDefinitionKey"`
	// The id of the process definition this task belongs to.
	ProcessDefinitionId string `json:"processDefinitionId"`
	// The id of the process instance this task belongs to.
	ProcessInstanceId string `json:"processInstanceId"`
	// The id of the execution the task belongs to.
	ExecutionId string `json:"executionId"`
	// The key of the case definition the task belongs to.
	CaseDefinitionKey string `json:"caseDefinitionKey"`
	// The id of the case definition the task belongs to.
	CaseDefinitionId string `json:"caseDefinitionId"`
	// The id of the case instance the task belongs to.
	CaseInstanceId string `json:"caseInstanceId"`
	// The id of the case execution the task belongs to.
	CaseExecutionId string `json:"caseExecutionId"`
	// The id of the activity that this object is an instance of.
	ActivityInstanceId string `json:"activityInstanceId"`
	// The tasks name.
	Name string `json:"name"`
	// The task description.
	Description string `json:"description"`
	// The task's delete reason.
	DeleteReason string `json:"deleteReason"`
	// The owner of the task.
	Owner string `json:"owner"`
	// The user assigned to this task.
	Assignee string `json:"assignee"`
	// The time the task was started. Default format* yyyy-MM-dd'T'HH:mm:ss.SSSZ.
	StartTime string `json:"startTime"`
	// The time the task ended. Default format* yyyy-MM-dd'T'HH:mm:ss.SSSZ.
	EndTime string `json:"endTime"`
	// The time the task took to finish (in milliseconds).
	Duration int64 `json:"duration"`
	// The task definition key.
	TaskDefinitionKey string `json:"taskDefinitionKey"`
	// The priority of the task.
	Priority int64 `json:"priority"`
	// The time the task was created.Format yyyy-MM-dd'T'HH:mm:ss.
	Created string `json:"created"`
	// The due date for the task.Format yyyy-MM-dd'T'HH:mm:ss.
	Due string `json:"due"`
	// The id of the parent task, if this task is a subtask.
	ParentTaskId string `json:"parentTaskId"`
	// The follow-up date for the task.Format yyyy-MM-dd'T'HH:mm:ss.
	FollowUp string `json:"followUp"`
	// If not null, the tenantId for the task.
	TenantId string `json:"tenantId"`
	// The time after which the task should be removed by the History Cleanup job. Default format* yyyy-MM-dd'T'HH:mm:ss.SSSZ.
	RemovalTime string `json:"removalTime"`
	// The process instance id of the root process instance that initiated the process containing this task.
	RootProcessInstanceId string `json:"rootProcessInstanceId"`
}

type ResHistoryVariableInstance

type ResHistoryVariableInstance struct {
	// The id of the variable instance.
	Id string `json:"id"`
	// The name of the variable instance.
	Name string `json:"name"`
	// The value type of the variable. Can be String/Number/Boolean/Object
	Type string `json:"type"`
	// The variable's value. Value differs depending on the variable's type and on the deserializeValues parameter.
	Value interface{} `json:"value"`
	// A JSON object containing additional, value-type-dependent properties.
	ValueInfo ResProcessVariableValueInfo `json:"valueInfo"`
	// The key of the process definition the variable instance belongs to.
	ProcessDefinitionKey string `json:"processDefinitionKey"`
	// The id of the process definition the variable instance belongs to.
	ProcessDefinitionId string `json:"processDefinitionId"`
	// The process instance id the variable instance belongs to.
	ProcessInstanceId string `json:"processInstanceId"`
	// The execution id the variable instance belongs to.
	ExecutionId string `json:"executionId"`
	// The id of the activity instance in which the variable is valid.
	ActivityInstanceId string `json:"activityInstanceId"`
	// The key of the case definition the variable instance belongs to.
	CaseDefinitionKey string `json:"caseDefinitionKey"`
	// The id of the case definition the variable instance belongs to.
	CaseDefinitionId string `json:"caseDefinitionId"`
	// The case instance id the variable instance belongs to.
	CaseInstanceId string `json:"caseInstanceId"`
	// The case execution id the variable instance belongs to.
	CaseExecutionId string `json:"caseExecutionId"`
	// The id of the task the variable instance belongs to.
	TaskId string `json:"taskId"`
	// The id of the tenant that this variable instance belongs to.
	TenantId string `json:"tenantId"`
	// An error message in case a Java Serialized Object could not be de-serialized.
	ErrorMessage string `json:"errorMessage"`
}

ResHistoryVariableInstance a response object for history variable instance

type ResInstanceStatistics

type ResInstanceStatistics struct {
	// The id of the activity the results are aggregated for
	Id string `json:"id"`
	// The total number of running instances of this activity
	Instances int `json:"instances"`
	// Number	The total number of failed jobs for the running instances.
	// Note: Will be 0 (not null), if failed jobs were excluded
	FailedJobs int `json:"failedJobs"`
	// The process definition with the properties as described in the get single definition method
	Definition ResProcessDefinition `json:"definition"`
	// Each item in the resulting array is an object which contains the following properties
	Incidents []ResActivityInstanceStatisticsIncident `json:"incidents"`
}

ResInstanceStatistics a JSON array containing statistics results per process definition

type ResLink struct {
	Method string `json:"method"`
	Href   string `json:"href"`
	Rel    string `json:"rel"`
}

ResLink a link struct

type ResLockedExternalTask

type ResLockedExternalTask struct {
	// The id of the activity that this external task belongs to
	ActivityId string `json:"activityId"`
	// The id of the activity instance that the external task belongs to
	ActivityInstanceId string `json:"activityInstanceId"`
	// The full error message submitted with the latest reported failure executing this task;
	// null if no failure was reported previously or if no error message was submitted
	ErrorMessage string `json:"errorMessage"`
	// The error details submitted with the latest reported failure executing this task.
	// null if no failure was reported previously or if no error details was submitted
	ErrorDetails string `json:"errorDetails"`
	// The id of the execution that the external task belongs to
	ExecutionId string `json:"executionId"`
	// The id of the external task
	Id string `json:"id"`
	// The date that the task's most recent lock expires or has expired
	LockExpirationTime string `json:"lockExpirationTime"`
	// The id of the process definition the external task is defined in
	ProcessDefinitionId string `json:"processDefinitionId"`
	// The key of the process definition the external task is defined in
	ProcessDefinitionKey string `json:"processDefinitionKey"`
	// The id of the process instance the external task belongs to
	ProcessInstanceId string `json:"processInstanceId"`
	// The id of the tenant the external task belongs to
	TenantId string `json:"tenantId"`
	// The number of retries the task currently has left. Could be null in case retries were not set earlier and this is the first retry.
	Retries *int `json:"retries"`
	// The id of the worker that possesses or possessed the most recent lock
	WorkerId string `json:"workerId"`
	// The priority of the external task
	Priority int `json:"priority"`
	// The topic name of the external task
	TopicName string `json:"topicName"`
	// The business key of the process instance the external task belongs to
	BusinessKey string `json:"businessKey"`
	// A JSON object containing a property for each of the requested variables
	Variables map[string]Variable `json:"variables"`
}

ResLockedExternalTask a response FetchAndLock method

type ResProcessActivityInstance

type ResProcessActivityInstance struct {
	// The id of the activity instance.
	Id string `json:"id"`
	// The id of the parent activity instance.
	ParentActivityInstanceId string `json:"parentActivityInstanceId"`
	// The id of the activity.
	ActivityId string `json:"activityId"`
	// The name of the activity.
	ActivityName string `json:"activityName"`
	// The type of the activity that this instance enters (asyncBefore job) or leaves (asyncAfter job).
	// Corresponds to the XML element name in the BPMN 2.0, e.g., 'userTask'.
	ActivityType string `json:"activityType"`
	// The id of the process instance.
	ProcessInstanceId string `json:"processInstanceId"`
	// The id of the process definition.
	ProcessDefinitionId string `json:"processDefinitionId"`
	// A list of child activity instances.
	ChildActivityInstances []ResProcessActivityInstance `json:"childActivityInstances"`
	// A list of child transition instances. A transition instance represents an execution
	// waiting in an asynchronous continuation.
	ChildTransitionInstances []ResProcessTransitionInstance `json:"childTransitionInstances"`
	// A list of execution ids.
	ExecutionIds []string `json:"executionIds"`
	// A list of incident ids.
	IncidentIds []string `json:"incidentIds"`
	// A list of JSON objects containing incident specific properties.
	Incidents []ResActivityInstanceIncident `json:"incidents"`
}

ResProcessActivityInstance a response object for process activity instance

type ResProcessDefinition

type ResProcessDefinition struct {
	// The id of the process definition
	Id string `json:"id"`
	// The key of the process definition, i.e., the id of the BPMN 2.0 XML process definition
	Key string `json:"key"`
	// The category of the process definition
	Category string `json:"category"`
	// The description of the process definition
	Description string `json:"description"`
	// The name of the process definition
	Name string `json:"name"`
	// The version of the process definition that the engine assigned to it
	Version int `json:"Version"`
	// The file name of the process definition
	Resource string `json:"resource"`
	// The deployment id of the process definition
	DeploymentId string `json:"deploymentId"`
	// The file name of the process definition diagram, if it exists
	Diagram string `json:"diagram"`
	// A flag indicating whether the definition is suspended or not
	Suspended bool `json:"suspended"`
	// The tenant id of the process definition
	TenantId string `json:"tenantId"`
	// The version tag of the process definition
	VersionTag string `json:"versionTag"`
	// History time to live value of the process definition. Is used within History cleanup
	HistoryTimeToLive int `json:"historyTimeToLive"`
	// A flag indicating whether the process definition is startable in Tasklist or not
	StartableInTasklist bool `json:"startableInTasklist"`
}

ResProcessDefinition a JSON object corresponding to the ProcessDefinition interface in the engine

type ResProcessInstance

type ResProcessInstance struct {
	// The id of the process instance.
	Id string `json:"id"`
	// The id of the process definition that this process instance belongs to.
	DefinitionId string `json:"definitionId"`
	// The business key of the process instance.
	BusinessKey string `json:"businessKey"`
	// The id of the case instance associated with the process instance.
	CaseInstanceId string `json:"caseInstanceId"`
	// A flag indicating whether the process instance is suspended or not.
	Suspended bool `json:"suspended"`
	// The tenant id of the process instance.
	TenantId string `json:"tenantId"`
	// A JSON array containing links to interact with the instance
	Links []ResLink `json:"links"`
}

ResProcessInstance a response object for process instance

type ResProcessTransitionInstance

type ResProcessTransitionInstance struct {
	// The id of the activity instance.
	Id string `json:"id"`
	// The id of the parent activity instance.
	ParentActivityInstanceId string `json:"parentActivityInstanceId"`
	// The id of the activity.
	ActivityId string `json:"activityId"`
	// The name of the activity.
	ActivityName string `json:"activityName"`
	// The type of the activity that this instance enters (asyncBefore job) or leaves (asyncAfter job).
	// Corresponds to the XML element name in the BPMN 2.0, e.g., 'userTask'.
	ActivityType string `json:"activityType"`
	// The id of the process instance.
	ProcessInstanceId string `json:"processInstanceId"`
	// The id of the process definition.
	ProcessDefinitionId string `json:"processDefinitionId"`
	// A list of execution ids.
	ExecutionIds []string `json:"executionIds"`
	// A list of incident ids.
	IncidentIds []string `json:"incidentIds"`
	// A list of JSON objects containing incident specific properties.
	Incidents []ResActivityInstanceIncident `json:"incidents"`
}

ResProcessTransitionInstance a response object for process transition instance

type ResProcessVariable

type ResProcessVariable struct {
	// The variable's value. Value differs depending on the variable's type and on the deserializeValues parameter.
	Value interface{} `json:"value"`
	// The value type of the variable.
	Type string `json:"type"`
	// A JSON object containing additional, value-type-dependent properties.
	ValueInfo ResProcessVariableValueInfo `json:"valueInfo"`
}

ResProcessVariable a response object for process variable

type ResProcessVariableValueInfo

type ResProcessVariableValueInfo struct {
	// A string representation of the object's type name.
	ObjectTypeName string `json:"objectTypeName"`
	// The serialization format used to store the variable.
	SerializationDataFormat string `json:"serializationDataFormat"`
}

ResProcessVariableValueInfo variable value info

type ResStartedProcessDefinition

type ResStartedProcessDefinition struct {
	// The id of the process definition
	Id string `json:"id"`
	// The id of the process definition
	DefinitionId string `json:"definitionId"`
	// The business key of the process instance
	BusinessKey string `json:"businessKey"`
	// The case instance id of the process instance
	CaseInstanceId string `json:"caseInstanceId"`
	// The tenant id of the process instance
	TenantId string `json:"tenantId"`
	// A flag indicating whether the instance is still running or not
	Ended bool `json:"ended"`
	// A flag indicating whether the instance is suspended or not
	Suspended bool `json:"suspended"`
	// A JSON array containing links to interact with the instance
	Links []ResLink `json:"links"`
	// A JSON object containing a property for each of the latest variables
	Variables map[string]Variable `json:"variables"`
}

ResStartedProcessDefinition ProcessDefinition for started

type ResSubmitStartForm

type ResSubmitStartForm struct {
	Links        []ResLink `json:"links"`
	Id           string    `json:"id"`
	DefinitionId string    `json:"definitionId"`
	BusinessKey  string    `json:"businessKey"`
	Ended        bool      `json:"ended"`
	Suspended    bool      `json:"suspended"`
}

ReqSubmitStartForm response rrom SubmitStartForm method

type Tenant

type Tenant struct {
	// contains filtered or unexported fields
}

Tenant a client for Tenant

func (*Tenant) Create

func (p *Tenant) Create(id, name string) (err error)

Create a new tenant. `id` - The id of the tenant. `name` - The name of the tenant.

type Time

type Time struct {
	time.Time
}

Time a custom time format

func (*Time) MarshalJSON

func (t *Time) MarshalJSON() ([]byte, error)

MarshalJSON

func (*Time) UnmarshalJSON

func (t *Time) UnmarshalJSON(b []byte) (err error)

UnmarshalJSON

type UserTask

type UserTask struct {
	*UserTaskResponse

	IdentityLinks []*IdentityLink
	// contains filtered or unexported fields
}

UserTask camunda user task

func (t *UserTask) AddIdentityLink(query ReqIdentityLink) error

AddIdentityLink add IdentityLink to UserTask

func (*UserTask) Complete

func (t *UserTask) Complete(query QueryUserTaskComplete) error

Complete complete user task

func (t *UserTask) DeleteIdentityLink(query ReqIdentityLink) error

DeleteIdentityLink delete IdentityLink from UserTask

func (t *UserTask) GetIdentityLinks() (*[]IdentityLink, error)

GetIdentityLinks retrieve IdentityLinks of the UserTask

type UserTaskGetListQuery

type UserTaskGetListQuery struct {
	// Restrict to tasks that belong to process instances with the given id.
	ProcessInstanceId string `json:"processInstanceId,omitempty"`
	// Restrict to tasks that belong to process instances with the given business key.
	ProcessInstanceBusinessKey string `json:"processInstanceBusinessKey,omitempty"`
	// Restrict to tasks that belong to process instances with one of the give business keys. The keys need to be in a comma-separated list.
	ProcessInstanceBusinessKeyIn []string `json:"processInstanceBusinessKeyIn,omitempty"`
	// Restrict to tasks that have a process instance business key that has the parameter value as a substring.
	ProcessInstanceBusinessKeyLike string `json:"processInstanceBusinessKeyLike,omitempty"`
	// Restrict to tasks that belong to a process definition with the given id.
	ProcessDefinitionId string `json:"processDefinitionId,omitempty"`
	// Restrict to tasks that belong to a process definition with the given key.
	ProcessDefinitionKey string `json:"processDefinitionKey,omitempty"`
	// Restrict to tasks that belong to a process definition with one of the given keys. The keys need to be in a comma-separated list.
	ProcessDefinitionKeyIn []string `json:"processDefinitionKeyIn,omitempty"`
	// Restrict to tasks that belong to a process definition with the given name.
	ProcessDefinitionName string `json:"processDefinitionName,omitempty"`
	// Restrict to tasks that have a process definition name that has the parameter value as a substring.
	ProcessDefinitionNameLike string `json:"processDefinitionNameLike,omitempty"`
	// Restrict to tasks that belong to an execution with the given id.
	ExecutionId string `json:"executionId,omitempty"`
	// Restrict to tasks that belong to case instances with the given id.
	CaseInstanceId string `json:"caseInstanceId,omitempty"`
	// Restrict to tasks that belong to case instances with the given business key.
	CaseInstanceBusinessKey string `json:"caseInstanceBusinessKey,omitempty"`
	// Restrict to tasks that have a case instance business key that has the parameter value as a substring.
	CaseInstanceBusinessKeyLike string `json:"caseInstanceBusinessKeyLike,omitempty"`
	// Restrict to tasks that belong to a case definition with the given id.
	CaseDefinitionId string `json:"caseDefinitionId,omitempty"`
	// Restrict to tasks that belong to a case definition with the given key.
	CaseDefinitionKey string `json:"caseDefinitionKey,omitempty"`
	// Restrict to tasks that belong to a case definition with the given name.
	CaseDefinitionName string `json:"caseDefinitionName,omitempty"`
	// Restrict to tasks that have a case definition name that has the parameter value as a substring.
	CaseDefinitionNameLike string `json:"caseDefinitionNameLike,omitempty"`
	// Restrict to tasks that belong to a case execution with the given id.
	CaseExecutionId string `json:"caseExecutionId,omitempty"`
	// Only include tasks which belong to one of the passed and comma-separated activity instance ids.
	ActivityInstanceIdIn []string `json:"activityInstanceIdIn,omitempty"`
	// Only include tasks which belong to one of the passed and comma-separated tenant ids.
	TenantIdIn []string `json:"tenantIdIn,omitempty"`
	// Only include tasks which belong to no tenant. Value may only be true, as false is the default behavior.
	WithoutTenantId string `json:"withoutTenantId,omitempty"`
	// Restrict to tasks that the given user is assigned to.
	Assignee string `json:"assignee,omitempty"`
	// Restrict to tasks that the user described by the given expression is assigned to. See the user guide for more information on available functions.
	AssigneeExpression string `json:"assigneeExpression,omitempty"`
	// Restrict to tasks that have an assignee that has the parameter value as a substring.
	AssigneeLike string `json:"assigneeLike,omitempty"`
	// Restrict to tasks that have an assignee that has the parameter value described by the given expression as a substring. See the user guide for more information on available functions.
	AssigneeLikeExpression string `json:"assigneeLikeExpression,omitempty"`
	// Restrict to tasks that the given user owns.
	Owner string `json:"owner,omitempty"`
	// Restrict to tasks that the user described by the given expression owns. See the user guide for more information on available functions.
	OwnerExpression string `json:"ownerExpression,omitempty"`
	// Only include tasks that are offered to the given group.
	CandidateGroup string `json:"candidateGroup,omitempty"`
	// Only include tasks that are offered to the group described by the given expression. See the user guide for more information on available functions.
	CandidateGroupExpression string `json:"candidateGroupExpression,omitempty"`
	// Only include tasks that are offered to the given user or to one of his groups.
	CandidateUser string `json:"candidateUser,omitempty"`
	// Only include tasks that are offered to the user described by the given expression. See the user guide for more information on available functions.
	CandidateUserExpression string `json:"candidateUserExpression,omitempty"`
	// Also include tasks that are assigned to users in candidate queries. Default is to only include tasks that are not assigned to any user if you query by candidate user or group(s).
	IncludeAssignedTasks bool `json:"includeAssignedTasks,omitempty"`
	// Only include tasks that the given user is involved in. A user is involved in a task if an identity link exists between task and user (e.g., the user is the assignee).
	InvolvedUser string `json:"involvedUser,omitempty"`
	// Only include tasks that the user described by the given expression is involved in. A user is involved in a task if an identity link exists between task and user (e.g., the user is the assignee). See the user guide for more information on available functions.
	InvolvedUserExpression string `json:"involvedUserExpression,omitempty"`
	// If set to true, restricts the query to all tasks that are assigned.
	Assigned bool `json:"assigned,omitempty"`
	// If set to true, restricts the query to all tasks that are unassigned.
	Unassigned bool `json:"unassigned,omitempty"`
	// Restrict to tasks that have the given key.
	TaskDefinitionKey string `json:"taskDefinitionKey,omitempty"`
	// Restrict to tasks that have one of the given keys. The keys need to be in a comma-separated list.
	TaskDefinitionKeyIn []string `json:"taskDefinitionKeyIn,omitempty"`
	// Restrict to tasks that have a key that has the parameter value as a substring.
	TaskDefinitionKeyLike string `json:"taskDefinitionKeyLike,omitempty"`
	// Restrict to tasks that have the given name.
	Name string `json:"name,omitempty"`
	// Restrict to tasks that do not have the given name.
	NameNotEqual string `json:"nameNotEqual,omitempty"`
	// Restrict to tasks that have a name with the given parameter value as substring.
	NameLike string `json:"nameLike,omitempty"`
	// Restrict to tasks that do not have a name with the given parameter value as substring.
	NameNotLike string `json:"nameNotLike,omitempty"`
	// Restrict to tasks that have the given description.
	Description string `json:"description,omitempty"`
	// Restrict to tasks that have a description that has the parameter value as a substring.
	DescriptionLike string `json:"descriptionLike,omitempty"`
	// Restrict to tasks that have the given priority.
	Priority int64 `json:"priority,omitempty"`
	// Restrict to tasks that have a lower or equal priority.
	MaxPriority int64 `json:"maxPriority,omitempty"`
	// Restrict to tasks that have a higher or equal priority.
	MinPriority int64 `json:"minPriority,omitempty"`
	// Restrict to tasks that are due on the given date. The date must have the format yyyy-MM-dd'T'HH:mm:ss, e.g., 2013-01-23T14:42:45.
	DueDate time.Time `json:"dueDate"`
	// Restrict to tasks that are due on the date described by the given expression. See the user guide for more information on available functions. The expression must evaluate to a java.util.Date or org.joda.time.DateTime object.
	DueDateExpression time.Time `json:"dueDateExpression,omitempty"`
	// Restrict to tasks that are due after the given date. The date must have the format yyyy-MM-dd'T'HH:mm:ss, e.g., 2013-01-23T14:42:45.
	DueAfter time.Time `json:"dueAfter,omitempty"`
	// Restrict to tasks that are due after the date described by the given expression. See the user guide for more information on available functions. The expression must evaluate to a java.util.Date or org.joda.time.DateTime object.
	DueAfterExpression string `json:"dueAfterExpression,omitempty"`
	// Restrict to tasks that are due before the given date. The date must have the format yyyy-MM-dd'T'HH:mm:ss, e.g., 2013-01-23T14:42:45.
	DueBefore time.Time `json:"dueBefore,omitempty"`
	// Restrict to tasks that are due before the date described by the given expression. See the user guide for more information on available functions. The expression must evaluate to a java.util.Date or org.joda.time.DateTime object.
	DueBeforeExpression string `json:"dueBeforeExpression,omitempty"`
	// Restrict to tasks that have a followUp date on the given date. The date must have the format yyyy-MM-dd'T'HH:mm:ss, e.g., 2013-01-23T14:42:45.
	FollowUpDate time.Time `json:"followUpDate,omitempty"`
	// Restrict to tasks that have a followUp date on the date described by the given expression. See the user guide for more information on available functions. The expression must evaluate to a java.util.Date or org.joda.time.DateTime object.
	FollowUpDateExpression string `json:"followUpDateExpression,omitempty"`
	// Restrict to tasks that have a followUp date after the given date. The date must have the format yyyy-MM-dd'T'HH:mm:ss, e.g., 2013-01-23T14:42:45.
	FollowUpAfter time.Time `json:"followUpAfter,omitempty"`
	// Restrict to tasks that have a followUp date after the date described by the given expression. See the user guide for more information on available functions. The expression must evaluate to a java.util.Date or org.joda.time.DateTime object.
	FollowUpAfterExpression string `json:"followUpAfterExpression,omitempty"`
	// Restrict to tasks that have a followUp date before the given date. The date must have the format yyyy-MM-dd'T'HH:mm:ss, e.g., 2013-01-23T14:42:45.
	FollowUpBefore time.Time `json:"followUpBefore,omitempty"`
	// Restrict to tasks that have a followUp date before the date described by the given expression. See the user guide for more information on available functions. The expression must evaluate to a java.util.Date or org.joda.time.DateTime object.
	FollowUpBeforeExpression string `json:"followUpBeforeExpression,omitempty"`
	// Restrict to tasks that have no followUp date or a followUp date before the given date. The date must have the format yyyy-MM-dd'T'HH:mm:ss, e.g., 2013-01-23T14:42:45. The typical use case is to query all "active" tasks for a user for a given date.
	FollowUpBeforeOrNotExistent time.Time `json:"followUpBeforeOrNotExistent,omitempty"`
	// Restrict to tasks that have no followUp date or a followUp date before the date described by the given expression. See the user guide for more information on available functions. The expression must evaluate to a java.util.Date or org.joda.time.DateTime object.
	FollowUpBeforeOrNotExistentExpression string `json:"followUpBeforeOrNotExistentExpression,omitempty"`
	// Restrict to tasks that were created on the given date. The date must have the format yyyy-MM-dd'T'HH:mm:ss, e.g., 2013-01-23T14:42:45. Note: if the used database saves dates with milliseconds precision this query only will return tasks created on the given timestamp with zero milliseconds.
	CreatedOn time.Time `json:"createdOn,omitempty"`
	// Restrict to tasks that were created on the date described by the given expression. See the user guide for more information on available functions. The expression must evaluate to a java.util.Date or org.joda.time.DateTime object.
	CreatedOnExpression string `json:"createdOnExpression,omitempty"`
	// Restrict to tasks that were created after the given date. The date must have the format yyyy-MM-dd'T'HH:mm:ss, e.g., 2013-01-23T14:42:45.
	CreatedAfter time.Time `json:"createdAfter,omitempty"`
	// Restrict to tasks that were created after the date described by the given expression. See the user guide for more information on available functions. The expression must evaluate to a java.util.Date or org.joda.time.DateTime object.
	CreatedAfterExpression string `json:"createdAfterExpression,omitempty"`
	// Restrict to tasks that were created before the given date. The date must have the format yyyy-MM-dd'T'HH:mm:ss, e.g., 2013-01-23T14:42:45.
	CreatedBefore time.Time `json:"createdBefore,omitempty"`
	// Restrict to tasks that were created before the date described by the given expression. See the user guide for more information on available functions. The expression must evaluate to a java.util.Date or org.joda.time.DateTime object.
	CreatedBeforeExpression string `json:"createdBeforeExpression,omitempty"`
	// Restrict to tasks that are in the given delegation state. Valid values are PENDING and RESOLVED.
	DelegationState delegationState `json:"delegationState,omitempty"`
	// Restrict to tasks that are offered to any of the given candidate groups.Takes a comma-separated list of group names, so for example developers, support, sales.
	CandidateGroups []string `json:"candidateGroups,omitempty"`
	// Restrict to tasks that are offered to any of the candidate groups described by the given expression.See the user guide for more information on available functions.The expression must evaluate to java.util.List of Strings.
	CandidateGroupsExpression []string `json:"candidateGroupsExpression,omitempty"`
	// Only include tasks which have a candidate group.Value may only be true, as false is the default behavior.
	WithCandidateGroups bool `json:"withCandidateGroups,omitempty"`
	// Only include tasks which have no candidate group.Value may only be true, as false is the default behavior.
	WithoutCandidateGroups bool `json:"withoutCandidateGroups,omitempty"`
	// Only include tasks which have a candidate user.Value may only be true, as false is the default behavior.
	WithCandidateUsers bool `json:"withCandidateUsers,omitempty"`
	// Only include tasks which have no candidate users.Value may only be true, as false is the default behavior.
	WithoutCandidateUsers bool `json:"withoutCandidateUsers,omitempty"`
	// Only include active tasks.Value may only be true, as false is the default behavior.
	Active bool `json:"active,omitempty"`
	// Only include suspended tasks.Value may only be true, as false is the default behavior.
	Suspended bool `json:"suspended,omitempty"`
	// Only include tasks that have variables with certain values.Variable filtering expressions are comma-separated and are structured as follows:
	// A valid parameter value has the form key_operator_value.key is the variable name, operator is the comparison operator to be used and value the variable value.
	// Note: Values are always treated as String objects on server side.
	//
	// Valid operator values are: eq - equal to;
	// neq - not equal to;
	// gt - greater than;
	// gteq - greater than or equal to;
	// lt - lower than;
	// lteq - lower than or equal to;
	// like.
	// key and value may not contain underscore or comma characters.
	TaskVariables []VariableFilterExpression `json:"taskVariables,omitempty"`
	// Only include tasks that belong to process instances that have variables with certain values.Variable filtering expressions are comma-separated and are structured as follows:
	// A valid parameter value has the form key_operator_value.key is the variable name, operator is the comparison operator to be used and value the variable value.
	// Note: Values are always treated as String objects on server side.
	//
	// Valid operator values are: eq - equal to;
	// neq - not equal to;
	// gt - greater than;
	// gteq - greater than or equal to;
	// lt - lower than;
	// lteq - lower than or equal to;
	// like.
	// key and value may not contain underscore or comma characters.
	ProcessVariables []VariableFilterExpression `json:"processVariables,omitempty"`
	// Only include tasks that belong to case instances that have variables with certain values.Variable filtering expressions are comma-separated and are structured as follows:
	// A valid parameter value has the form key_operator_value.key is the variable name, operator is the comparison operator to be used and value the variable value.
	// Note: Values are always treated as String objects on server side.
	//
	// Valid operator values are: eq - equal to;
	// neq - not equal to;
	// gt - greater than;
	// gteq - greater than or equal to;
	// lt - lower than;
	// lteq - lower than or equal to;
	// like.
	// key and value may not contain underscore or comma characters.
	CaseInstanceVariables []VariableFilterExpression `json:"caseInstanceVariables,omitempty"`
	// Restrict query to all tasks that are sub tasks of the given task.Takes a task id.
	ParentTaskId string `json:"parentTaskId,omitempty"`
	// Sort the results lexicographically by a given criterion.Valid values are instanceId, caseInstanceId, dueDate, executionId, caseExecutionId, assignee, created, description, id, name, nameCaseInsensitive and priority.Must be used in conjunction with the sortOrder parameter.
	SortBy string `json:"sortBy,omitempty"`
	// Sort the results in a given order.Values may be asc for ascending order or desc for descending order.Must be used in conjunction with the sortBy parameter.
	SortOrder string `json:"sortOrder,omitempty"`
	// Pagination of results.Specifies the index of the first result to return.
	FirstResult int64 `json:"firstResult,omitempty"`
	// Pagination of results.Specifies the maximum number of results to return.Will return less results if there are no more results left.
	MaxResults int64 `json:"maxResults,omitempty"`
}

UserTaskGetListQuery query for GetList,

func (*UserTaskGetListQuery) MarshalJSON

func (q *UserTaskGetListQuery) MarshalJSON() ([]byte, error)

MarshalJSON marshal to json

type UserTaskResponse

type UserTaskResponse struct {
	// The id of the task.
	Id string `json:"id"`
	// The tasks name.
	Name string `json:"name"`
	// The user assigned to this task.
	Assignee string `json:"assignee"`
	// The time the task was created.Format yyyy-MM-dd'T'HH:mm:ss.
	Created string `json:"created"`
	// The due date for the task.Format yyyy-MM-dd'T'HH:mm:ss.
	Due string `json:"due"`
	// The follow-up date for the task.Format yyyy-MM-dd'T'HH:mm:ss.
	FollowUp string `json:"followUp"`
	// The delegation state of the task.Corresponds to the DelegationState enum in the engine.Possible values are RESOLVED and PENDING.
	DelegationState string `json:"delegationState"`
	// The task description.
	Description string `json:"description"`
	// The id of the execution the task belongs to.
	ExecutionId string `json:"executionId"`
	// The owner of the task.
	Owner string `json:"owner"`
	// The id of the parent task, if this task is a subtask.
	ParentTaskId string `json:"parentTaskId"`
	// The priority of the task.
	Priority int64 `json:"priority"`
	// The id of the process definition this task belongs to.
	ProcessDefinitionId string `json:"processDefinitionId"`
	// The id of the process instance this task belongs to.
	ProcessInstanceId string `json:"processInstanceId"`
	// The id of the case execution the task belongs to.
	CaseExecutionId string `json:"caseExecutionId"`
	// The id of the case definition the task belongs to.
	CaseDefinitionId string `json:"caseDefinitionId"`
	// The id of the case instance the task belongs to.
	CaseInstanceId string `json:"caseInstanceId"`
	// The task definition key.
	TaskDefinitionKey string `json:"taskDefinitionKey"`
	// Whether the task belongs to a process instance that is suspended.
	Suspended bool `json:"suspended"`
	// If not null, the form key for the task.
	FormKey *string `json:"formKey"`
	// If not null, the tenantId for the task.
	TenantId *string `json:"tenantId"`
}

UserTaskResponse get task response

type ValueInfo

type ValueInfo struct {
	// A string representation of the object's type name
	ObjectTypeName *string `json:"objectTypeName"`
	// The serialization format used to store the variable.
	SerializationDataFormat *string `json:"serializationDataFormat"`
}

ValueInfo a value info in variable

type Variable

type Variable struct {
	// The variable's value
	Value interface{} `json:"value"`
	// The value type of the variable.
	Type string `json:"type"`
	// A JSON object containing additional, value-type-dependent properties
	ValueInfo ValueInfo `json:"valueInfo"`
}

Variable a variable

type VariableFilterExpression

type VariableFilterExpression struct {
	Name     string                           `json:"name"`
	Operator variableFilterExpressionOperator `json:"operator"`
	Value    string                           `json:"value"`
}

VariableFilterExpression filter expression

type VariableSet

type VariableSet struct {
	// The variable's value
	Value string `json:"value"`
	// The value type of the variable.
	Type string `json:"type"`
	// A JSON object containing additional, value-type-dependent properties
	ValueInfo ValueInfo `json:"valueInfo"`
	// Indicates whether the variable should be a local variable or not. If set to true, the variable becomes a local
	// variable of the execution entering the target activity
	Local bool `json:"local"`
}

VariableSet a variable for set

Directories

Path Synopsis
examples

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL