检索分配给 camunda 中特定用户的任务列表
Retrieve Task List assigned to a particular user in camunda
我正在使用 camunda_bpm_api
(git url and the module in 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
?
我如何做到这一点?感谢您的帮助。
只是为了仔细检查您是否得到了结果,假设您的 BPM engin 安装在本地,如果您调用 curl -X GET "http://localhost:8080/engine-rest/engine/default/task?assignee=nimyav" -H "accept: application/json"
会发生什么?如果您不使用 curl,您可以直接使用 URL http://localhost:8080/engine-rest/engine/default/task?assignee=nimyav 打开浏览器。您是否只看到分配给您的任务?
一般来说,您的请求似乎没问题,但没有向 getList()
传递第二个参数,您正在 HTTP GET 模式下使用它。如果您查看 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);
}
我正在使用 camunda_bpm_api
(git url and the module in 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
?
我如何做到这一点?感谢您的帮助。
只是为了仔细检查您是否得到了结果,假设您的 BPM engin 安装在本地,如果您调用 curl -X GET "http://localhost:8080/engine-rest/engine/default/task?assignee=nimyav" -H "accept: application/json"
会发生什么?如果您不使用 curl,您可以直接使用 URL http://localhost:8080/engine-rest/engine/default/task?assignee=nimyav 打开浏览器。您是否只看到分配给您的任务?
一般来说,您的请求似乎没问题,但没有向 getList()
传递第二个参数,您正在 HTTP GET 模式下使用它。如果您查看 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);
}