2017-10-04 111 views
0

我使用camunda_bpm_apigit url和drupal8 camunda+drupal8 sample module模塊)模塊在Drupal我的自定義應用程序連接到服務器camunda。檢索任務列表分配給特定用戶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

我該如何做到這一點?任何幫助表示讚賞。

回答

2

只是爲了仔細檢查您是否獲得了結果,如果您打電話curl -X GET "http://localhost:8080/engine-rest/engine/default/task?assignee=nimyav" -H "accept: application/json",假設您的BPM工程已在本地安裝,會發生什麼情況?如果您不使用捲曲,則可以使用網址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); 
} 
+0

我猜中了。謝謝 :) 。另一個問題**如何通過其餘API API獲取任務進程的表單變量?當我嘗試** http:// localhost:8080/engine-rest/engine/default/task/0ce473ad-a922-11e7-bc26-005056a64ad8/form-variables **它獲得一個json,不包含給定的表單變量在表單提交中。 – Crazyrubixfan

+0

嗨,它也可以使用像返回**公共函數getTaskVariables($ id,數組$變量,$ businessKey = NULL){ 返回$ this-> request('get',array(),'/ process-instance /' 。$ id。'/ variables'); } ** 正在通過** http://192.168.1.188:8080/engine-rest/process-instance/e78f1bd3-a921-11e7-bc26-005056a64ad8 /變量獲取響應** – Crazyrubixfan

相關問題