<!-- markdown-toc start - Don't edit this section. npm run toc to generate it--> <!-- toc --> - [BPM](#bpm) * [Task Api](#task-api) + [List Task](#list-task) + [Get Task](#get-task) + [Filter Tasks](#filter-tasks) + [Complete Task](#complete-task) + [Get Task Form](#get-task-form) + [Complete Task Form](#complete-task-form) * [Process Api](#process-api) + [Get Process Instances](#get-process-instances) * [Models Api](#models-api) + [Get Model](#get-model) * [Report Api](#report-api) + [Create default Reports](#create-default-reports) + [Get Reports](#get-reports) + [Report Params](#report-params) * [Report Process Definitions](#report-process-definitions) * [Tasks of process definition](#tasks-of-process-definition) * [Generate reports](#generate-reports) * [Update report details](#update-report-details) * [Export to csv](#export-to-csv) * [Save Report](#save-report) * [Delete report](#delete-report) <!-- tocstop --> <!-- markdown-toc end --> # BPM A complete list of all the BPM methods is available here: [Activiti API](../src/api/activiti-rest-api/README.md). Below you can find some common examples. ## Task Api Below you can find some example relative to the Activiti process api for all the possible method go to [Tasks Api](../src/api/activiti-rest-api/docs/TasksApi.md) documentation. ### List Task ```javascript TasksApi.listTasks(tasksQuery) ``` return a list of task based on the `tasksQuery` query #### Example ```javascript import { TasksApi, TaskQueryRepresentation } from '@alfresco/js-api'; const alfrescoApi = new AlfrescoApi(/*...*/); const taskApi = TasksApi(alfrescoApi); const tasksQuery = new TaskQueryRepresentation(); taskApi.listTasks(tasksQuery).then( (data) => { console.log('listTasks ' + data); }, (error) => { console.log('Error' + error); }); ``` ### Get Task ```javascript TasksApi.getTask(taskId) ``` Returns the [TaskRepresentation](/src/api/activiti-rest-api/docs/TaskRepresentation.md) of single task by id **Parameters** | Name | Type | Description | |--------|--------|-------------| | taskId | String | taskId | **Example** ```javascript const alfrescoApi = new AlfrescoApi(/*...*/); const taskApi = TasksApi(this.alfrescoApi); const taskId = '10'; // String | taskId taskApi.getTask(taskId).then( (data) => { console.log('Task representation ' + data); }, (error) => { console.log('Error' + error); }); ``` ### Filter Tasks ```javascript TasksApi.filterTasks(requestTasks) ``` Returns the [ResultListDataRepresentation](../src/api/activiti-rest-api/docs/ResultListDataRepresentation«TaskRepresentation».md) that is a filtered list of all the tasks. **Parameters** | Name | Type | Description | |--------------|------------------------------------------------------------------------------------------------------|--------------| | requestTasks | [TaskFilterRequestRepresentation](../src/api/activiti-rest-api/docs/TaskFilterRequestRepresentation.md) | requestTasks | **Example** ```javascript const alfrescoApi = new AlfrescoApi(/*...*/); const taskApi = TasksApi(alfrescoApi); const requestTasks = new TaskFilterRequestRepresentation({ appDefinitionId: 1 }); taskApi.filterTasks(requestTasks).then( (data) => { console.log('Task filter list ' + data); }, (error) => { console.log('Error' + error); }); ``` ### Complete Task ```javascript TasksApi.completeTask(taskId) ``` To complete a task (standalone or without a task form). **Parameters** | Name | Type | Description | |------------|------------|-------------| | **taskId** | **String** | taskId | **Example** ```javascript const alfrescoApi = new AlfrescoApi(/*...*/); const taskApi = TasksApi(alfrescoApi); const taskId = '10'; // String | taskId taskApi.taskApi.completeTask(taskId).then( () => { console.log('Task completed'); }, (error) => { console.log('Error' + error); }); ``` ### Get Task Form ```javascript TasksApi.getTaskForm(taskId) ``` Retrieve the [Task Form](../src/api/activiti-rest-api/docs/FormDefinitionRepresentation.md) representation. **Parameters** | Name | Type | Description | |------------|------------|-------------| | **taskId** | **String** | taskId | **Example** ```javascript const alfrescoApi = new AlfrescoApi(/*...*/); const taskApi = TasksApi(this.alfrescoApi); const taskId = '10'; taskApi.getTaskForm(taskId).then( (data) => { console.log('Task form representation' + data); }, (error) => { console.log('Error' + error); }); ``` ### Complete Task Form completeTaskForm(taskId, completeTaskFormRepresentation) Complete a Task Form **Parameters** | Name | Type | Description | |--------------------------------|--------------------------------------------------------------------------------------------|--------------------------------| | taskId | String | taskId | | completeTaskFormRepresentation | [CompleteFormRepresentation](../src/api/activiti-rest-api/docs/CompleteFormRepresentation.md) | completeTaskFormRepresentation | **Example** ```javascript const alfrescoApi = new AlfrescoApi(/*...*/); const taskApi = TasksApi(this.alfrescoApi); const taskId = '10'; // String | taskId taskApi.completeTaskForm(taskId, completeTaskFormRepresentation).then( () => { console.log('Task completed'); }, (error) => { console.log('Error' + error); }); ``` ## Process Api ### Get Process Instances ```javascript ProcessInstancesApi.getProcessInstances(requestNode) ``` Retrieve a list of process instances, see [ResultListDataRepresentationProcessInstanceRepresentation](../src/api/activiti-rest-api/docs/ResultListDataRepresentation«ProcessInstanceRepresentation».md) **Parameters** | Name | Type | Description | |-------------|------------------------------------------------------------------------------------------------------------|-------------| | requestNode | [ProcessInstanceQueryRepresentation](../src/api/activiti-rest-api/docs/ProcessInstanceQueryRepresentation.md) | requestNode | **Example** ```javascript const alfrescoApi = new AlfrescoApi(/*...*/); const processApi = ProcessApi(alfrescoApi); const requestNode = new ProcessInstanceQueryRepresentation(); processApi.getProcessInstances(requestNode).then( (data) => { console.log('All processes' + data); }, (error) => { console.log('Error' + error); }); ``` Filtered process: ```javascript const alfrescoApi = new AlfrescoApi(/*...*/); const processApi = ProcessApi(this.alfrescoApi); const requestNode = new ProcessInstanceQueryRepresentation({ page: 0, sort: 'created-desc', state: 'completed' }); processApi.getProcessInstances(requestNode).then( (data) => { console.log('All processes completed' + data); }, (error) => { console.log('Error' + error); }); ``` ## Models Api Below you can find some example relative to the Activiti process api for all the possible method go to [Models Api](../src/api/activiti-rest-api/docs/ModelsApi.md) documentation. ### Get Model getModel(modelId, opts) To retrieve details about a particular model (process, form, decision rule or app) return a [ModelRepresentation](../src/api/activiti-rest-api/docs/ModelRepresentation.md) **Parameters** | Name | Type | Description | Notes | |--------------------|---------|--------------------|------------| | modelId | Number | modelId | | | includePermissions | Boolean | includePermissions | [optional] | **Example** ```javascript const alfrescoApi = new AlfrescoApi(/*...*/); const modelsApi = new ModelsApi(alfrescoApi); const opts = { filter: 'myReusableForms', modelType: 2 }; modelsApi.getModels(opts).then( (data) => { console.log('All your reusable forms' + data); }, (error) => { console.log('Error' + error); }); ``` ## Report Api Below you can find some example relative to the Activiti report api for all the possible method go to [Report Api documentation](../src/api/activiti-rest-api/docs/ReportApi.md) ### Create Default Reports ```javascript ReportApi.createDefaultReports() ``` Creates the default reports ```javascript const alfrescoApi = new AlfrescoApi(/*...*/); const reportApi = ReportApi(alfrescoApi); reportApi.createDefaultReports(); ``` ### Get Reports ```javascript ReportApi.getReportList() ``` Retrieve the available report list ```javascript const alfrescoApi = new AlfrescoApi(/*...*/); const reportApi = ReportApi(alfrescoApi); reportApi.getReportList(); ``` ### Report Params ```javascript ReportApi.getReportParams(reportId) ``` > Retrieve the parameters referring to the reportId. **Parameters** | Name | Type | Description | |----------|--------|-------------| | reportId | String | reportId | **Example** ```javascript const alfrescoApi = new AlfrescoApi(/*...*/); const reportApi = ReportApi(alfrescoApi); const reportId = '1'; reportApi.getReportParams(reportId); ``` ## Report Process Definitions ```javascript ReportApi.getProcessDefinitions() ``` Retrieve the process definition list for all the apps. ```javascript const alfrescoApi = new AlfrescoApi(/*...*/); const reportApi = ReportApi(alfrescoApi); reportApi.getProcessDefinitions(); ``` ## Tasks of Process Definition getTasksByProcessDefinitionId(reportId, processDefinitionId) Retrieves all tasks that refer to the processDefinitionId **Parameters** | Name | Type | Description | |---------------------|--------|-----------------------| | reportId | String | reportId | | processDefinitionId | String | process definition id | **Example** ```javascript const alfrescoApi = new AlfrescoApi(/*...*/); const reportApi = ReportApi(alfrescoApi); const reportId = '1'; const processDefinitionId = '1'; reportApi.getTasksByProcessDefinitionId(reportId, processDefinitionId); ``` ## Generate reports ```javascript ReportApi.getReportsByParams(reportId, paramsQuery) ``` Generate the reports based on the input parameters **Parameters** | Name | Type | Description | |-------------|--------|------------------| | reportId | String | reportId | | paramsQuery | Object | Query parameters | **Example** ```javascript const alfrescoApi = new AlfrescoApi(/*...*/); const reportApi = ReportApi(alfrescoApi); const reportId = '1'; const paramsQuery = { status: 'ALL' }; reportApi.getReportsByParams(reportId, paramsQuery); ``` ## Update report details ```javascript ReportApi.updateReport(reportId, name) ``` Update the report details **Parameters** | Name | Type | Description | |----------|--------|-----------------| | reportId | String | reportId | | name | String | The report name | **Example** ```javascript const alfrescoApi = new AlfrescoApi(/*...*/); const reportApi = ReportApi(alfrescoApi); const reportId = '1'; const name = 'new report name'; reportApi.updateReport(reportId, name); ``` ## Export to CSV ```javascript ReportApi.exportToCsv(reportId, queryParams) ``` Export a report as csv **Parameters** | Name | Type | Description | |-------------|--------|------------------| | reportId | String | reportId | | queryParams | Object | Query parameters | **Example** ```javascript const alfrescoApi = new AlfrescoApi(/*...*/); const reportApi = ReportApi(alfrescoApi); const reportId = '1'; const queryParams = { processDefinitionId: 'TEST:99:999', dateRange: { startDate: '2017-01-01T00:00:00.000Z', endDate: '2017-01-24T23:59:59.999Z', rangeId: 'currentYear' }, slowProcessInstanceInteger: 10, status: 'All', __reportName: 'FAKE_REPORT_NAME' }; reportApi.exportToCsv(reportId, queryParams); ``` ## Save Report ```javascript ReportApi.saveReport(reportId, queryParams) ``` Save a report **Parameters** | Name | Type | Description | |-------------|--------|------------------| | reportId | String | reportId | | queryParams | Object | Query parameters | **Example** ```javascript const alfrescoApi = new AlfrescoApi(/*...*/); const reportApi = ReportApi(alfrescoApi); const reportId = '1'; const queryParams = { processDefinitionId: 'TEST:99:999', dateRange: { startDate: '2017-01-01T00:00:00.000Z', endDate: '2017-01-24T23:59:59.999Z', rangeId: 'currentYear' }, slowProcessInstanceInteger: 10, status: 'All', __reportName: 'FAKE_REPORT_NAME' }; reportApi.saveReport(reportId, queryParams); ``` ## Delete report ```javascript ReportApi.deleteReport(reportId) ``` Delete a report **Parameters** | Name | Type | Description | |----------|--------|-------------| | reportId | String | reportId | **Example** ```javascript const alfrescoApi = new AlfrescoApi(/*...*/); const reportApi = ReportApi(alfrescoApi); const reportId = '1'; reportApi.deleteReport(reportId); ```