func (client *ClientImpl) GetSubscriber(ctx context.Context, args GetSubscriberArgs) (*NotificationSubscriber, error) {
	routeValues := make(map[string]string)
	if args.SubscriberId == nil {
		return nil, &azuredevops.ArgumentNilError{ArgumentName: "args.SubscriberId"}
	}
	routeValues["subscriberId"] = (*args.SubscriberId).String()
	locationId, _ := uuid.Parse("4d5caff1-25ba-430b-b808-7a1f352cc197")
	resp, err := client.Client.Send(ctx, http.MethodGet, locationId, "5.1", routeValues, nil, nil, "", "application/json", nil)
	if err != nil {
		return nil, err
	}
	var responseValue NotificationSubscriber
	err = client.Client.UnmarshalBody(resp, &responseValue)
	return &responseValue, err
}
Get delivery preferences of a notifications subscriber.
package notification
import (
	"bytes"
	"context"
	"encoding/json"
	"github.com/google/uuid"
	"github.com/microsoft/azure-devops-go-api/azuredevops"
	"net/http"
	"net/url"
	"strings"
)
type Client interface {
	CreateSubscription(context.Context, CreateSubscriptionArgs) (*NotificationSubscription, error)
	DeleteSubscription(context.Context, DeleteSubscriptionArgs) error
	GetEventType(context.Context, GetEventTypeArgs) (*NotificationEventType, error)
	GetSettings(context.Context, GetSettingsArgs) (*NotificationAdminSettings, error)
	GetSubscriber(context.Context, GetSubscriberArgs) (*NotificationSubscriber, error)
	GetSubscription(context.Context, GetSubscriptionArgs) (*NotificationSubscription, error)
	GetSubscriptionDiagnostics(context.Context, GetSubscriptionDiagnosticsArgs) (*SubscriptionDiagnostics, error)
	GetSubscriptionTemplates(context.Context, GetSubscriptionTemplatesArgs) (*[]NotificationSubscriptionTemplate, error)
	ListEventTypes(context.Context, ListEventTypesArgs) (*[]NotificationEventType, error)
	ListLogs(context.Context, ListLogsArgs) (*[]INotificationDiagnosticLog, error)
	ListSubscriptions(context.Context, ListSubscriptionsArgs) (*[]NotificationSubscription, error)
	QuerySubscriptions(context.Context, QuerySubscriptionsArgs) (*[]NotificationSubscription, error)
	UpdateSettings(context.Context, UpdateSettingsArgs) (*NotificationAdminSettings, error)
	UpdateSubscriber(context.Context, UpdateSubscriberArgs) (*NotificationSubscriber, error)
	UpdateSubscription(context.Context, UpdateSubscriptionArgs) (*NotificationSubscription, error)
	UpdateSubscriptionDiagnostics(context.Context, UpdateSubscriptionDiagnosticsArgs) (*SubscriptionDiagnostics, error)
	UpdateSubscriptionUserSettings(context.Context, UpdateSubscriptionUserSettingsArgs) (*SubscriptionUserSettings, error)
}
type ClientImpl struct {
	Client azuredevops.Client
}
func NewClient(ctx context.Context, connection *azuredevops.Connection) Client {
	client := connection.GetClientByUrl(connection.BaseUrl)
	return &ClientImpl{
		Client: *client,
	}
}
func (client *ClientImpl) CreateSubscription(ctx context.Context, args CreateSubscriptionArgs) (*NotificationSubscription, error) {
	if args.CreateParameters == nil {
		return nil, &azuredevops.ArgumentNilError{ArgumentName: "args.CreateParameters"}
	}
	body, marshalErr := json.Marshal(*args.CreateParameters)
	if marshalErr != nil {
		return nil, marshalErr
	}
	locationId, _ := uuid.Parse("70f911d6-abac-488c-85b3-a206bf57e165")
	resp, err := client.Client.Send(ctx, http.MethodPost, locationId, "5.1", nil, nil, bytes.NewReader(body), "application/json", "application/json", nil)
	if err != nil {
		return nil, err
	}
	var responseValue NotificationSubscription
	err = client.Client.UnmarshalBody(resp, &responseValue)
	return &responseValue, err
}
type CreateSubscriptionArgs struct {
	CreateParameters *NotificationSubscriptionCreateParameters
}
func (client *ClientImpl) DeleteSubscription(ctx context.Context, args DeleteSubscriptionArgs) error {
	routeValues := make(map[string]string)
	if args.SubscriptionId == nil || *args.SubscriptionId == "" {
		return &azuredevops.ArgumentNilOrEmptyError{ArgumentName: "args.SubscriptionId"}
	}
	routeValues["subscriptionId"] = *args.SubscriptionId
	locationId, _ := uuid.Parse("70f911d6-abac-488c-85b3-a206bf57e165")
	_, err := client.Client.Send(ctx, http.MethodDelete, locationId, "5.1", routeValues, nil, nil, "", "application/json", nil)
	if err != nil {
		return err
	}
	return nil
}
type DeleteSubscriptionArgs struct {
	SubscriptionId *string
}
func (client *ClientImpl) GetEventType(ctx context.Context, args GetEventTypeArgs) (*NotificationEventType, error) {
	routeValues := make(map[string]string)
	if args.EventType == nil || *args.EventType == "" {
		return nil, &azuredevops.ArgumentNilOrEmptyError{ArgumentName: "args.EventType"}
	}
	routeValues["eventType"] = *args.EventType
	locationId, _ := uuid.Parse("cc84fb5f-6247-4c7a-aeae-e5a3c3fddb21")
	resp, err := client.Client.Send(ctx, http.MethodGet, locationId, "5.1", routeValues, nil, nil, "", "application/json", nil)
	if err != nil {
		return nil, err
	}
	var responseValue NotificationEventType
	err = client.Client.UnmarshalBody(resp, &responseValue)
	return &responseValue, err
}
type GetEventTypeArgs struct {
	EventType *string
}
func (client *ClientImpl) GetSettings(ctx context.Context, args GetSettingsArgs) (*NotificationAdminSettings, error) {
	locationId, _ := uuid.Parse("cbe076d8-2803-45ff-8d8d-44653686ea2a")
	resp, err := client.Client.Send(ctx, http.MethodGet, locationId, "5.1", nil, nil, nil, "", "application/json", nil)
	if err != nil {
		return nil, err
	}
	var responseValue NotificationAdminSettings
	err = client.Client.UnmarshalBody(resp, &responseValue)
	return &responseValue, err
}
type GetSettingsArgs struct {
}