From Code to Community: Sponsoring The Perl and Raku Conference 2025 Learn more

NAME

Activiti::Rest::Client - Low level client for the Activiti Rest API

AUTHORS

Nicolas Franck <nicolas.franck at ugent.be>

NOTE

This is a work in progress. More documentation will be added in time

PROJECT

see http://www.activiti.org/userguide

SYNOPSIS

my $client = Activiti::Rest::Client->new(
);
my $res = $client->process_definitions;
die("no parsed content") unless $res->has_parsed_content;
my $pdefs = $res->parsed_content;
my @ids = map { $_->{id} } @{ $pdefs->{data} };
for my $id(@ids){
print Dumper($client->process_definition(processDefinitionId => $id)->parsed_content);
}

CONSTRUCTOR parameters

url

base url of the activiti rest api
activiti-rest uses basic http authentication, so username and password should be included in the url
e.g.
http://kermit:kermit@localhost:8080/activiti-rest/service

timeout

timeout in seconds when connecting to the activiti rest api
default value is 180

METHODS

deployments

Retrieve list of Deployments
parameters: see user guide (http://www.activiti.org/userguide/index.html#N13293)
equal to rest call:
GET repository/deployments

deployment

Get a deployment
parameters:
deploymentId
other parameters: see user guide (http://www.activiti.org/userguide/index.html#N1332E)
equal to rest call:
GET repository/deployments/:deploymentId

deployment_resources

List resources in a deployment
parameters:
deploymentId
other parameters: see user guide (http://www.activiti.org/userguide/index.html#N133F1)
equal to rest call:
GET repository/deployments/:deploymentId/resources

deployment_resource

Get a deployment resource
parameters:
deploymentId
resourceId
other parameters: see user guide (http://www.activiti.org/userguide/index.html#N1345B)
equal to rest call:
GET repository/deployments/:deploymentId/resources/:resourceId

process_definitions

List of process definitions
parameters: see user guide (http://www.activiti.org/userguide/index.html#N13520)
equal to rest call:
GET repository/process-definitions

process_definition

Get a process definition
parameters:
processDefinitionId
other parameters: see user guide (http://www.activiti.org/userguide/index.html#N13605)
equal to rest call:
GET repository/process-definitions/:processDefinitionId

process_definition_resource_data

Get a process definition resource content
parameters:
processDefinitionId
equal to rest call:
GET repository/process-definitions/:processDefinitionId/resourcedata

process_definition_model

Get a process definition BPMN model
parameters:
processDefinitionId
equal to rest call:
GET repository/process-definitions/:processDefinitionId/model
Get all candidate starters for a process-definition
parameters:
processDefinitionId
equal to rest call:
GET repository/process-definitions/:processDefinitionId/identitylinks
Get a candidate starter from a process definition
parameters: (see http://www.activiti.org/userguide/index.html#N138A9)
processDefinitionId
family
identityId
equal to rest call:
GET repository/process-definitions/:processDefinitionId/identitylinks/:family/:identityId

models

Get a list of models
Parameters: see user guide (http://www.activiti.org/userguide/index.html#N1390A)
equal to rest call:
GET repository/models

models

Get a model
Parameters:
modelId
equal to rest call:
GET repository/models/:modelId

process_instances

List of process instances
Parameters: see user guide (http://www.activiti.org/userguide/index.html#restProcessInstancesGet)
equal to rest call:
GET runtime/process-instances

process_instance

Get a process instance
Parameters:
processInstanceId
equal to rest call:
GET runtime/process-instances/:processInstanceId

query_process_instances

Query process instances
Parameters: see user guide (http://www.activiti.org/userguide/index.html#N13E2A)
equal to rest call:
POST runtime/process-instances

start_process_instance

Start a process instance
Parameters: see user guide (http://www.activiti.org/userguide/index.html#N13CE6)
equal to rest call:
POST runtime/process-instances
Get involved people for process instance
Parameters:
processInstanceId
equal to rest call:
GET runtime/process-instances/:processInstanceId/identitylinks

process_instance_variables

List of variables for a process instance
Parameters:
processInstanceId
equal to rest call:
GET runtime/process-instances/:processInstanceId/variables

process_instance_variable

Get a variable for a process instance
Parameters:
processInstanceId
variableName
equal to rest call:
GET runtime/process-instances/:processInstanceId/variables/:variableName

process_instance_diagram

Get a diagram for a process instance
Parameters:
processInstanceId
equal to rest call:
GET runtime/process-instances/:processInstanceId/diagram
when successfull the "content_type" of the response is "image/png" and "content" is equal to the image data

executions

List of executions
Parameters: see user guide (http://www.activiti.org/userguide/index.html#restExecutionsGet)
equal to rest call:
GET repository/executions

query_executions

Query executions
Parameters in request body (i.e. 'content' hash)
equal to rest call:
POST query/executions

signal_execution

send signal to execution
equal to rest call:
PUT runtime/executions/{executionId}

execution

Get an execution
Parameters:
executionId
equal to rest call:
GET repository/executions/:executionId

execution_activities

Get active activities in an execution
Parameters:
executionId
equal to rest call:
GET repository/executions/:executionId/activities

execution_variables

List of variables for an execution
Parameters:
executionId
equal to rest call:
GET repository/executions/:executionId/variables

tasks

List of tasks
Parameters: see user guide (http://www.activiti.org/userguide/index.html#restTasksGet)
equal to rest call:
GET runtime/tasks

query_tasks

Query for tasks
Parameters: see user guide (http://www.activiti.org/userguide/index.html#N148B7)
equal to rest call:
POST query/tasks

task

Get a task
Parameters:
taskId
equal to rest call:
GET runtime/tasks/:taskId

update_task

Update a task
Parameters:
taskId
Body parameters: see user guide (http://www.activiti.org/userguide/index.html#N148FA)
equal to rest call:
PUT runtime/tasks/:taskId

task_variables

Get all variables for a task
Parameters:
taskId
scope (global|local)
equal to rest call:
GET runtime/tasks/:taskId/variables?scope=:scope

task_variable

Get one variable for a task
Parameters:
taskId
scope (global|local)
equal to rest call:
GET runtime/tasks/:taskId/variables/:variableName?scope=:scope
Get all identity links for a task
Parameters:
taskId
equal to rest call:
GET runtime/tasks/:taskId/identitylinks
Get all identity links for a task for either groups or users
Parameters:
taskId
equal to rest call:
GET runtime/tasks/:taskId/identitylinks/(users|groups)

task_comments

Get all comments on a task
Parameters:
taskId
equal to rest call:
GET runtime/tasks/:taskId/comments

task_comment

Get a comments on a task
Parameters:
taskId
commentId
equal to rest call:
GET runtime/tasks/:taskId/comments/:commentId

task_events

Get all events for a task
Parameters:
taskId
equal to rest call:
GET runtime/tasks/:taskId/events

task_event

Get an event for a task
Parameters:
taskId
eventId
equal to rest call:
GET runtime/tasks/:taskId/events/:eventId

task_attachments

Get all attachments on a task
Parameters:
taskId
equal to rest call:
GET runtime/tasks/:taskId/attachments

task_attachment

Get an attachment on a task
Parameters:
taskId
attachmentId
equal to rest call:
GET runtime/tasks/:taskId/comments/:attachmentId

task_attachment_content

Get the content for an attachment on a task
Parameters:
taskId
attachmentId
equal to rest call:
GET runtime/tasks/:taskId/attachments/:attachmentId/content

historic_process_instances

List of historic process instances
Parameters: see user guide (http://www.activiti.org/userguide/index.html#restHistoricProcessInstancesGet)
equal to rest call:
GET history/historic-process-instances

query_historic_process_instances

Query for historic process instances
Parameters: see user guide (http://www.activiti.org/userguide/index.html#N153C2)
equal to rest call:
POST history/historic-process-instances

historic_process_instance

Get a historic process instance
Parameters:
processInstanceId
equal to rest call:
GET history/historic-process-instances/:processInstanceId

delete_historic_process_instance

Delete a historic process instance
Parameters:
processInstanceId
equal to rest call:
DELETE history/historic-process-instances/:processInstanceId

historic_process_instance_comments

Get all comments on a historic process instance
Parameters:
processInstanceId
equal to rest call:
GET history/historic-process-instances/:processInstanceId/comments

historic_process_instance_comment

Get a comment on a historic process instance
Parameters:
processInstanceId
commentId
equal to rest call:
GET history/historic-process-instances/:processInstanceId/comments/:commentId

historic_task_instances

Get historic task instances
Parameters: see user guide (http://www.activiti.org/userguide/index.html#restHistoricTaskInstancesGet)
equal to rest call:
GET history/historic-task-instances

historic_variable_instances

Get historic variable instances, either from tasks or process instances
Parameters: see user guide (http://www.activiti.org/userguide/index.html#restHistoricVariableInstancesGet)
equal to rest call:
GET history/historic-variable-instances

query_historic_variable_instances

Query historic variable instances, either from tasks or process instances
Parameters: see user guide (http://www.activiti.org/userguide/index.html#N15B00)
equal to rest call:
POST query/historic-variable-instances

historic_task_instance

Get a historic task instance
Parameters:
taskId
equal to rest call:
GET history/historic-task-instances/:taskId
Get the identity links of a historic task instance
Parameters:
taskId
equal to rest call:
GET history/historic-task-instances/:taskId/identitylinks

LICENSE AND COPYRIGHT

This program is free software; you can redistribute it and/or modify it under the terms of either: the GNU General Public License as published by the Free Software Foundation; or the Artistic License.

See http://dev.perl.org/licenses/ for more information.