检索分配给camunda中特定用户的任务列表

时间:2017-10-04 13:12:25

标签: drupal-8 camunda tasklist

我正在使用 camunda_bpm_api git url和drupal8 camunda+drupal8 sample module中的模块)模块将我在drupal中的自定义应用程序连接到camunda服务器。

我正在使用以下函数检索 process definitions

private function fetchProcessDefinitions() {
    return \Drupal::service('camunda_bpm_api.process_definition')->getList();
  }

这是正常的。

如何检索分配给特定用户的任务?我尝试如下:

public function fetchTaskList() {
    $payload = array('assignee' => 'nimyav');
    return \Drupal::service('camunda_bpm_api.task')->getList($payload);
}

retriveing all the tasks ,无论 assignee

我如何实现这一目标?任何帮助表示赞赏。

1 个答案:

答案 0 :(得分:2)

只是要仔细检查您是否得到了结果,如果您假设您的BPM engin是在本地安装的,请致电curl -X GET "http://localhost:8080/engine-rest/engine/default/task?assignee=nimyav" -H "accept: application/json"会发生什么?如果您不使用curl,则只需使用网址http://localhost:8080/engine-rest/engine/default/task?assignee=nimyav打开浏览器即可。您是否只看到分配给您的任务?

通常,您的请求似乎没问题,但是没有将第二个参数传递给您在HTTP GET模式下使用它的getList()。如果查看Camunda REST docs,您会注意到一些方法可用作GET和POST方法。特别是,我认为Valentin设计getList方法在HTTP POST模式下工作,因为它在请求体中传递参数(请查看camunda_bpm_api/src/BPMPlatform/BaseService.php以获取更多详细信息。)

请尝试拨打此类服务:

public function fetchTaskList() {
    $payload = array('assignee' => 'nimyav');
    $usePost = TRUE;
    return \Drupal::service('camunda_bpm_api.task')->getList($payload, $usePost);
}