public function post(PagerDutyEntityInterface $pagerDutyEntity)
    {
        $data = null;

        try {
            $response = $this->getHttpClient()->post(
                $this->getResourceUrl($pagerDutyEntity),
                $this->headers,
                $this->getRepresentProcessor()->representJSON($pagerDutyEntity)
            );

            $data = $this->performResponse($response);
        } catch (HttpClientException $exception) {
            throw EventClientTransportException::transportProblem($exception);
        } catch (EventValidationResponseException $exception) {
            throw ResponseDataValidationException::validationFail($exception);
        }

        return $data;
    }