| <?php |
|
|
| namespace Kanboard\Notification; |
|
|
| use Kanboard\Core\Base; |
| use Kanboard\Core\Notification\NotificationInterface; |
|
|
| |
| |
| |
| |
| |
| |
| class WebhookNotification extends Base implements NotificationInterface |
| { |
| |
| |
| |
| |
| |
| |
| |
| |
| public function notifyUser(array $user, $event_name, array $event_data) |
| { |
| } |
|
|
| |
| |
| |
| |
| |
| |
| |
| |
| public function notifyProject(array $project, $event_name, array $event_data) |
| { |
| $url = $this->configModel->get('webhook_url'); |
| $token = $this->configModel->get('webhook_token'); |
|
|
| if (! empty($url)) { |
| if (strpos($url, '?') !== false) { |
| $url .= '&token='.$token; |
| } else { |
| $url .= '?token='.$token; |
| } |
|
|
| $payload = array( |
| 'event_name' => $event_name, |
| 'event_data' => $event_data, |
| 'event_author' => ($this->userSession->isLogged() ? $this->userSession->getUsername() : NULL), |
| ); |
|
|
| $this->httpClient->postJson($url, $payload); |
| } |
| } |
| } |
|
|