使用 API 创建、关闭或重新打开任务时,Active Collab 会通知用户

Active Collab notify user when create, close or reopen task using API

我使用 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>';
}

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

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

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

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