2

我使用 Active Collab API 创建了任务,还使用 ​​API 处理关闭任务和重新打开任务。现在,如果我创建或关闭或重新打开任务,然后想通知用户,但我不知道如何使用 Active Collab API 执行此操作。

下面是我的创建任务、关闭任务和重新打开任务的代码。

/* 使用 API 创建任务 */

try {
    $res = API::call('projects/60/tasks/add', null, array(
    'task[name]' => $_POST['name'],
    'task[body]' => $_POST['message'],
    'task[priority]' => $priority,  
    'task[due_on]' => $date,
    'task[assignee_id]' => 21,      
    ));
    
    $GLOBALS['$mytask'] = $res['task_id'];      
    $GLOBALS['$myValue'] = $res['permalink']; 
    echo $GLOBALS['$myValue']."+=";  
    echo $GLOBALS['$mytask'];
    //echo 'Ticket Created Successfully.';  
    
    
} catch(AppException $e) {
  print $e->getMessage() . '<br><br>';
  // var_dump($e->getServerResponse()); (need more info?)
}

/*使用API​​关闭任务*/

try {
    
    $res = API::call('projects/60/tasks/200/complete', null, array(
    'submitted' => 'submitted',     
    ));
    
    echo 'Ticket Updated Successfully.';        
} catch(AppException $e) {
  print $e->getMessage() . '<br><br>';
}

/* 使用 API 重新打开任务*/

try {
    $res = API::call('projects/60/tasks/200/reopen', null, array(
    'task[body]' => $_POST['message'],
    'submitted' => 'submitted',     
    ));
    echo 'Ticket Updated Successfully.';        
} catch(AppException $e) {
  print $e->getMessage() . '<br><br>';
}

我需要的是在创建或关闭或重新打开任务时通知用户。为此,我需要在上面的代码中更改或添加什么?

而且我还想向负责此任务的用户(分配用户)发送邮件。

4

1 回答 1

1

Active Collab 4 在发送电子邮件时有自己的逻辑。创建任务时,所有受让人和订阅者都会收到通知。当您完成或重新打开任务时,系统也会通知所有订阅者。请注意,不会通知执行该操作的人(通知您您所做的事情是多余的)。

话虽如此,我觉得您应该向您的 PHP 代码发送通知,而不是依赖 Active Collab 为您发送通知。这样您就可以控制行为,即使 Active Collab 发生更改(例如,版本 5 不会通知订阅者任务已完成或重新打开,您需要留下评论才能做到这一点)。

于 2016-05-03T21:06:03.033 回答