コード例 #1
0
// TakeOwnership method takes the ownership of an alert at OpsGenie.
func (cli *OpsGenieAlertClient) TakeOwnership(req alerts.TakeOwnershipAlertRequest) (*alerts.TakeOwnershipAlertResponse, error) {
	req.APIKey = cli.apiKey
	resp, err := cli.sendRequest(cli.buildPostRequest(takeOwnershipAlertURL, req))

	if resp == nil {
		return nil, err
	}
	defer resp.Body.Close()

	var takeOwnershipResp alerts.TakeOwnershipAlertResponse

	if err = resp.Body.FromJsonTo(&takeOwnershipResp); err != nil {
		message := "Server response can not be parsed, " + err.Error()
		logging.Logger().Warn(message)
		return nil, errors.New(message)
	}
	return &takeOwnershipResp, nil
}