extensionmanagement

package
v1.0.0-b5 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 23, 2020 License: MIT Imports: 11 Imported by: 1

Documentation

Index

Constants

This section is empty.

Variables

View Source
var AcquisitionAssignmentTypeValues = acquisitionAssignmentTypeValuesType{
	None: "none",

	Me: "me",

	All: "all",
}
View Source
var AcquisitionOperationStateValues = acquisitionOperationStateValuesType{

	Disallow: "disallow",

	Allow: "allow",

	Completed: "completed",
}
View Source
var AcquisitionOperationTypeValues = acquisitionOperationTypeValuesType{

	Get: "get",

	Install: "install",

	Buy: "buy",

	Try: "try",

	Request: "request",

	None: "none",

	PurchaseRequest: "purchaseRequest",
}
View Source
var ContributionLicensingBehaviorTypeValues = contributionLicensingBehaviorTypeValuesType{

	OnlyIfLicensed: "onlyIfLicensed",

	OnlyIfUnlicensed: "onlyIfUnlicensed",

	AlwaysInclude: "alwaysInclude",
}
View Source
var ContributionPropertyTypeValues = contributionPropertyTypeValuesType{

	Unknown: "unknown",

	String: "string",

	Uri: "uri",

	Guid: "guid",

	Boolean: "boolean",

	Integer: "integer",

	Double: "double",

	DateTime: "dateTime",

	Dictionary: "dictionary",

	Array: "array",

	Object: "object",
}
View Source
var ContributionQueryOptionsValues = contributionQueryOptionsValuesType{
	None: "none",

	IncludeSelf: "includeSelf",

	IncludeChildren: "includeChildren",

	IncludeSubTree: "includeSubTree",

	IncludeAll: "includeAll",

	IgnoreConstraints: "ignoreConstraints",
}
View Source
var ExtensionFlagsValues = extensionFlagsValuesType{

	BuiltIn: "builtIn",

	Trusted: "trusted",
}
View Source
var ExtensionRequestStateValues = extensionRequestStateValuesType{

	Open: "open",

	Accepted: "accepted",

	Rejected: "rejected",
}
View Source
var ExtensionRequestUpdateTypeValues = extensionRequestUpdateTypeValuesType{
	Created:  "created",
	Approved: "approved",
	Rejected: "rejected",
	Deleted:  "deleted",
}
View Source
var ExtensionStateFlagsValues = extensionStateFlagsValuesType{

	None: "none",

	Disabled: "disabled",

	BuiltIn: "builtIn",

	MultiVersion: "multiVersion",

	UnInstalled: "unInstalled",

	VersionCheckError: "versionCheckError",

	Trusted: "trusted",

	Error: "error",

	NeedsReauthorization: "needsReauthorization",

	AutoUpgradeError: "autoUpgradeError",

	Warning: "warning",
}
View Source
var ExtensionUpdateTypeValues = extensionUpdateTypeValuesType{
	Installed:      "installed",
	Uninstalled:    "uninstalled",
	Enabled:        "enabled",
	Disabled:       "disabled",
	VersionUpdated: "versionUpdated",
	ActionRequired: "actionRequired",
	ActionResolved: "actionResolved",
}
View Source
var InstalledExtensionStateIssueTypeValues = installedExtensionStateIssueTypeValuesType{

	Warning: "warning",

	Error: "error",
}
View Source
var ResourceAreaId, _ = uuid.Parse("6c2b0933-3600-42ae-bf8b-93d4f7e83594")

Functions

This section is empty.

Types

type AcquisitionAssignmentType

type AcquisitionAssignmentType string

How the acquisition is assigned

type AcquisitionOperation

type AcquisitionOperation struct {
	// State of the the AcquisitionOperation for the current user
	OperationState *AcquisitionOperationState `json:"operationState,omitempty"`
	// AcquisitionOperationType: install, request, buy, etc...
	OperationType *AcquisitionOperationType `json:"operationType,omitempty"`
	// Optional reason to justify current state. Typically used with Disallow state.
	Reason *string `json:"reason,omitempty"`
	// List of reasons indicating why the operation is not allowed.
	Reasons *[]AcquisitionOperationDisallowReason `json:"reasons,omitempty"`
}

type AcquisitionOperationDisallowReason

type AcquisitionOperationDisallowReason struct {
	// User-friendly message clarifying the reason for disallowance
	Message *string `json:"message,omitempty"`
	// Type of reason for disallowance - AlreadyInstalled, UnresolvedDemand, etc.
	Type *string `json:"type,omitempty"`
}

type AcquisitionOperationState

type AcquisitionOperationState string

type AcquisitionOperationType

type AcquisitionOperationType string

Set of different types of operations that can be requested.

type AcquisitionOptions

type AcquisitionOptions struct {
	// Default Operation for the ItemId in this target
	DefaultOperation *AcquisitionOperation `json:"defaultOperation,omitempty"`
	// The item id that this options refer to
	ItemId *string `json:"itemId,omitempty"`
	// Operations allowed for the ItemId in this target
	Operations *[]AcquisitionOperation `json:"operations,omitempty"`
	// Additional properties which can be added to the request.
	Properties interface{} `json:"properties,omitempty"`
	// The target that this options refer to
	Target *string `json:"target,omitempty"`
}

Market item acquisition options (install, buy, etc) for an installation target.

type Client

type Client interface {
	// [Preview API] Get an installed extension by its publisher and extension name.
	GetInstalledExtensionByName(context.Context, GetInstalledExtensionByNameArgs) (*InstalledExtension, error)
	// [Preview API] List the installed extensions in the account / project collection.
	GetInstalledExtensions(context.Context, GetInstalledExtensionsArgs) (*[]InstalledExtension, error)
	// [Preview API] Install the specified extension into the account / project collection.
	InstallExtensionByName(context.Context, InstallExtensionByNameArgs) (*InstalledExtension, error)
	// [Preview API] Uninstall the specified extension from the account / project collection.
	UninstallExtensionByName(context.Context, UninstallExtensionByNameArgs) error
	// [Preview API] Update an installed extension. Typically this API is used to enable or disable an extension.
	UpdateInstalledExtension(context.Context, UpdateInstalledExtensionArgs) (*InstalledExtension, error)
}

func NewClient

func NewClient(ctx context.Context, connection *azuredevops.Connection) (Client, error)

type ClientContribution

type ClientContribution struct {
	// Description of the contribution/type
	Description *string `json:"description,omitempty"`
	// Fully qualified identifier of the contribution/type
	Id *string `json:"id,omitempty"`
	// Includes is a set of contributions that should have this contribution included in their targets list.
	Includes *[]string `json:"includes,omitempty"`
	// Properties/attributes of this contribution
	Properties interface{} `json:"properties,omitempty"`
	// The ids of the contribution(s) that this contribution targets. (parent contributions)
	Targets *[]string `json:"targets,omitempty"`
	// Id of the Contribution Type
	Type *string `json:"type,omitempty"`
}

Representation of a ContributionNode that can be used for serialized to clients.

type ClientContributionNode

type ClientContributionNode struct {
	// List of ids for contributions which are children to the current contribution.
	Children *[]string `json:"children,omitempty"`
	// Contribution associated with this node.
	Contribution *ClientContribution `json:"contribution,omitempty"`
	// List of ids for contributions which are parents to the current contribution.
	Parents *[]string `json:"parents,omitempty"`
}

Representation of a ContributionNode that can be used for serialized to clients.

type ClientContributionProviderDetails

type ClientContributionProviderDetails struct {
	// Friendly name for the provider.
	DisplayName *string `json:"displayName,omitempty"`
	// Unique identifier for this provider. The provider name can be used to cache the contribution data and refer back to it when looking for changes
	Name *string `json:"name,omitempty"`
	// Properties associated with the provider
	Properties *map[string]string `json:"properties,omitempty"`
	// Version of contributions associated with this contribution provider.
	Version *string `json:"version,omitempty"`
}

type ClientDataProviderQuery

type ClientDataProviderQuery struct {
	// Contextual information to pass to the data providers
	Context *DataProviderContext `json:"context,omitempty"`
	// The contribution ids of the data providers to resolve
	ContributionIds *[]string `json:"contributionIds,omitempty"`
	// The Id of the service instance type that should be communicated with in order to resolve the data providers from the client given the query values.
	QueryServiceInstanceType *uuid.UUID `json:"queryServiceInstanceType,omitempty"`
}

A client data provider are the details needed to make the data provider request from the client.

type ClientImpl

type ClientImpl struct {
	Client azuredevops.Client
}

func (*ClientImpl) GetInstalledExtensionByName

func (client *ClientImpl) GetInstalledExtensionByName(ctx context.Context, args GetInstalledExtensionByNameArgs) (*InstalledExtension, error)

[Preview API] Get an installed extension by its publisher and extension name.

func (*ClientImpl) GetInstalledExtensions

func (client *ClientImpl) GetInstalledExtensions(ctx context.Context, args GetInstalledExtensionsArgs) (*[]InstalledExtension, error)

[Preview API] List the installed extensions in the account / project collection.

func (*ClientImpl) InstallExtensionByName

func (client *ClientImpl) InstallExtensionByName(ctx context.Context, args InstallExtensionByNameArgs) (*InstalledExtension, error)

[Preview API] Install the specified extension into the account / project collection.

func (*ClientImpl) UninstallExtensionByName

func (client *ClientImpl) UninstallExtensionByName(ctx context.Context, args UninstallExtensionByNameArgs) error

[Preview API] Uninstall the specified extension from the account / project collection.

func (*ClientImpl) UpdateInstalledExtension

func (client *ClientImpl) UpdateInstalledExtension(ctx context.Context, args UpdateInstalledExtensionArgs) (*InstalledExtension, error)

[Preview API] Update an installed extension. Typically this API is used to enable or disable an extension.

type Contribution

type Contribution struct {
	// Description of the contribution/type
	Description *string `json:"description,omitempty"`
	// Fully qualified identifier of the contribution/type
	Id *string `json:"id,omitempty"`
	// VisibleTo can be used to restrict whom can reference a given contribution/type. This value should be a list of publishers or extensions access is restricted too.  Examples: "ms" - Means only the "ms" publisher can reference this. "ms.vss-web" - Means only the "vss-web" extension from the "ms" publisher can reference this.
	VisibleTo *[]string `json:"visibleTo,omitempty"`
	// List of constraints (filters) that should be applied to the availability of this contribution
	Constraints *[]ContributionConstraint `json:"constraints,omitempty"`
	// Includes is a set of contributions that should have this contribution included in their targets list.
	Includes *[]string `json:"includes,omitempty"`
	// Properties/attributes of this contribution
	Properties interface{} `json:"properties,omitempty"`
	// List of demanded claims in order for the user to see this contribution (like anonymous, public, member...).
	RestrictedTo *[]string `json:"restrictedTo,omitempty"`
	// The ids of the contribution(s) that this contribution targets. (parent contributions)
	Targets *[]string `json:"targets,omitempty"`
	// Id of the Contribution Type
	Type *string `json:"type,omitempty"`
}

An individual contribution made by an extension

type ContributionBase

type ContributionBase struct {
	// Description of the contribution/type
	Description *string `json:"description,omitempty"`
	// Fully qualified identifier of the contribution/type
	Id *string `json:"id,omitempty"`
	// VisibleTo can be used to restrict whom can reference a given contribution/type. This value should be a list of publishers or extensions access is restricted too.  Examples: "ms" - Means only the "ms" publisher can reference this. "ms.vss-web" - Means only the "vss-web" extension from the "ms" publisher can reference this.
	VisibleTo *[]string `json:"visibleTo,omitempty"`
}

Base class shared by contributions and contribution types

type ContributionConstraint

type ContributionConstraint struct {
	// An optional property that can be specified to group constraints together. All constraints within a group are AND'd together (all must be evaluate to True in order for the contribution to be included). Different groups of constraints are OR'd (only one group needs to evaluate to True for the contribution to be included).
	Group *int `json:"group,omitempty"`
	// Fully qualified identifier of a shared constraint
	Id *string `json:"id,omitempty"`
	// If true, negate the result of the filter (include the contribution if the applied filter returns false instead of true)
	Inverse *bool `json:"inverse,omitempty"`
	// Name of the IContributionFilter plugin
	Name *string `json:"name,omitempty"`
	// Properties that are fed to the contribution filter class
	Properties interface{} `json:"properties,omitempty"`
	// Constraints can be optionally be applied to one or more of the relationships defined in the contribution. If no relationships are defined then all relationships are associated with the constraint. This means the default behaviour will eliminate the contribution from the tree completely if the constraint is applied.
	Relationships *[]string `json:"relationships,omitempty"`
}

Specifies a constraint that can be used to dynamically include/exclude a given contribution

type ContributionLicensingBehaviorType

type ContributionLicensingBehaviorType string

Represents different ways of including contributions based on licensing

type ContributionNodeQuery

type ContributionNodeQuery struct {
	// The contribution ids of the nodes to find.
	ContributionIds *[]string `json:"contributionIds,omitempty"`
	// Contextual information that can be leveraged by contribution constraints
	DataProviderContext *DataProviderContext `json:"dataProviderContext,omitempty"`
	// Indicator if contribution provider details should be included in the result.
	IncludeProviderDetails *bool `json:"includeProviderDetails,omitempty"`
	// Query options tpo be used when fetching ContributionNodes
	QueryOptions *ContributionQueryOptions `json:"queryOptions,omitempty"`
}

A query that can be issued for contribution nodes

type ContributionNodeQueryResult

type ContributionNodeQueryResult struct {
	// Map of contribution ids to corresponding node.
	Nodes *map[string]ClientContributionNode `json:"nodes,omitempty"`
	// Map of provider ids to the corresponding provider details object.
	ProviderDetails *map[string]ClientContributionProviderDetails `json:"providerDetails,omitempty"`
}

Result of a contribution node query. Wraps the resulting contribution nodes and provider details.

type ContributionPropertyDescription

type ContributionPropertyDescription struct {
	// Description of the property
	Description *string `json:"description,omitempty"`
	// Name of the property
	Name *string `json:"name,omitempty"`
	// True if this property is required
	Required *bool `json:"required,omitempty"`
	// The type of value used for this property
	Type *ContributionPropertyType `json:"type,omitempty"`
}

Description about a property of a contribution type

type ContributionPropertyType

type ContributionPropertyType string

[Flags] The type of value used for a property

type ContributionProviderDetails

type ContributionProviderDetails struct {
	// Friendly name for the provider.
	DisplayName *string `json:"displayName,omitempty"`
	// Unique identifier for this provider. The provider name can be used to cache the contribution data and refer back to it when looking for changes
	Name *string `json:"name,omitempty"`
	// Properties associated with the provider
	Properties *map[string]string `json:"properties,omitempty"`
	// Version of contributions associated with this contribution provider.
	Version *string `json:"version,omitempty"`
}

type ContributionQueryOptions

type ContributionQueryOptions string

[Flags] Options that control the contributions to include in a query

type ContributionType

type ContributionType struct {
	// Description of the contribution/type
	Description *string `json:"description,omitempty"`
	// Fully qualified identifier of the contribution/type
	Id *string `json:"id,omitempty"`
	// VisibleTo can be used to restrict whom can reference a given contribution/type. This value should be a list of publishers or extensions access is restricted too.  Examples: "ms" - Means only the "ms" publisher can reference this. "ms.vss-web" - Means only the "vss-web" extension from the "ms" publisher can reference this.
	VisibleTo *[]string `json:"visibleTo,omitempty"`
	// Controls whether or not contributions of this type have the type indexed for queries. This allows clients to find all extensions that have a contribution of this type.  NOTE: Only TrustedPartners are allowed to specify indexed contribution types.
	Indexed *bool `json:"indexed,omitempty"`
	// Friendly name of the contribution/type
	Name *string `json:"name,omitempty"`
	// Describes the allowed properties for this contribution type
	Properties *map[string]ContributionPropertyDescription `json:"properties,omitempty"`
}

A contribution type, given by a json schema

type DataProviderContext

type DataProviderContext struct {
	// Generic property bag that contains context-specific properties that data providers can use when populating their data dictionary
	Properties *map[string]interface{} `json:"properties,omitempty"`
}

Contextual information that data providers can examine when populating their data

type DataProviderExceptionDetails

type DataProviderExceptionDetails struct {
	// The type of the exception that was thrown.
	ExceptionType *string `json:"exceptionType,omitempty"`
	// Message that is associated with the exception.
	Message *string `json:"message,omitempty"`
	// The StackTrace from the exception turned into a string.
	StackTrace *string `json:"stackTrace,omitempty"`
}

type DataProviderQuery

type DataProviderQuery struct {
	// Contextual information to pass to the data providers
	Context *DataProviderContext `json:"context,omitempty"`
	// The contribution ids of the data providers to resolve
	ContributionIds *[]string `json:"contributionIds,omitempty"`
}

A query that can be issued for data provider data

type DataProviderResult

type DataProviderResult struct {
	// This is the set of data providers that were requested, but either they were defined as client providers, or as remote providers that failed and may be retried by the client.
	ClientProviders *map[string]ClientDataProviderQuery `json:"clientProviders,omitempty"`
	// Property bag of data keyed off of the data provider contribution id
	Data *map[string]interface{} `json:"data,omitempty"`
	// Set of exceptions that occurred resolving the data providers.
	Exceptions *map[string]DataProviderExceptionDetails `json:"exceptions,omitempty"`
	// List of data providers resolved in the data-provider query
	ResolvedProviders *[]ResolvedDataProvider `json:"resolvedProviders,omitempty"`
	// Scope name applied to this data provider result.
	ScopeName *string `json:"scopeName,omitempty"`
	// Scope value applied to this data provider result.
	ScopeValue *string `json:"scopeValue,omitempty"`
	// Property bag of shared data that was contributed to by any of the individual data providers
	SharedData *map[string]interface{} `json:"sharedData,omitempty"`
}

Result structure from calls to GetDataProviderData

type DataProviderSharedData

type DataProviderSharedData struct {
}

Data bag that any data provider can contribute to. This shared dictionary is returned in the data provider result.

type ExtensionAcquisitionRequest

type ExtensionAcquisitionRequest struct {
	// How the item is being assigned
	AssignmentType *AcquisitionAssignmentType `json:"assignmentType,omitempty"`
	// The id of the subscription used for purchase
	BillingId *string `json:"billingId,omitempty"`
	// The marketplace id (publisherName.extensionName) for the item
	ItemId *string `json:"itemId,omitempty"`
	// The type of operation, such as install, request, purchase
	OperationType *AcquisitionOperationType `json:"operationType,omitempty"`
	// Additional properties which can be added to the request.
	Properties interface{} `json:"properties,omitempty"`
	// How many licenses should be purchased
	Quantity *int `json:"quantity,omitempty"`
}

Contract for handling the extension acquisition process

type ExtensionAuditLog

type ExtensionAuditLog struct {
	// Collection of audit log entries
	Entries *[]ExtensionAuditLogEntry `json:"entries,omitempty"`
	// Extension that the change was made for
	ExtensionName *string `json:"extensionName,omitempty"`
	// Publisher that the extension is part of
	PublisherName *string `json:"publisherName,omitempty"`
}

Audit log for an extension

type ExtensionAuditLogEntry

type ExtensionAuditLogEntry struct {
	// Change that was made to extension
	AuditAction *string `json:"auditAction,omitempty"`
	// Date at which the change was made
	AuditDate *azuredevops.Time `json:"auditDate,omitempty"`
	// Extra information about the change
	Comment *string `json:"comment,omitempty"`
	// Represents the user who made the change
	UpdatedBy *webapi.IdentityRef `json:"updatedBy,omitempty"`
}

An audit log entry for an extension

type ExtensionAuthorization

type ExtensionAuthorization struct {
	Id     *uuid.UUID `json:"id,omitempty"`
	Scopes *[]string  `json:"scopes,omitempty"`
}

type ExtensionDataCollection

type ExtensionDataCollection struct {
	// The name of the collection
	CollectionName *string `json:"collectionName,omitempty"`
	// A list of documents belonging to the collection
	Documents *[]interface{} `json:"documents,omitempty"`
	// The type of the collection's scope, such as Default or User
	ScopeType *string `json:"scopeType,omitempty"`
	// The value of the collection's scope, such as Current or Me
	ScopeValue *string `json:"scopeValue,omitempty"`
}

Represents a single collection for extension data documents

type ExtensionDataCollectionQuery

type ExtensionDataCollectionQuery struct {
	// A list of collections to query
	Collections *[]ExtensionDataCollection `json:"collections,omitempty"`
}

Represents a query to receive a set of extension data collections

type ExtensionEvent

type ExtensionEvent struct {
	// The extension which has been updated
	Extension *gallery.PublishedExtension `json:"extension,omitempty"`
	// The current version of the extension that was updated
	ExtensionVersion *string `json:"extensionVersion,omitempty"`
	// Name of the collection for which the extension was requested
	Host *ExtensionHost `json:"host,omitempty"`
	// Gallery host url
	Links *ExtensionEventUrls `json:"links,omitempty"`
	// Represents the user who initiated the update
	ModifiedBy *webapi.IdentityRef `json:"modifiedBy,omitempty"`
	// The type of update that was made
	UpdateType *ExtensionUpdateType `json:"updateType,omitempty"`
}

type ExtensionEventCallback

type ExtensionEventCallback struct {
	// The uri of the endpoint that is hit when an event occurs
	Uri *string `json:"uri,omitempty"`
}

Base class for an event callback for an extension

type ExtensionEventCallbackCollection

type ExtensionEventCallbackCollection struct {
	// Optional.  Defines an endpoint that gets called via a POST request to notify that an extension disable has occurred.
	PostDisable *ExtensionEventCallback `json:"postDisable,omitempty"`
	// Optional.  Defines an endpoint that gets called via a POST request to notify that an extension enable has occurred.
	PostEnable *ExtensionEventCallback `json:"postEnable,omitempty"`
	// Optional.  Defines an endpoint that gets called via a POST request to notify that an extension install has completed.
	PostInstall *ExtensionEventCallback `json:"postInstall,omitempty"`
	// Optional.  Defines an endpoint that gets called via a POST request to notify that an extension uninstall has occurred.
	PostUninstall *ExtensionEventCallback `json:"postUninstall,omitempty"`
	// Optional.  Defines an endpoint that gets called via a POST request to notify that an extension update has occurred.
	PostUpdate *ExtensionEventCallback `json:"postUpdate,omitempty"`
	// Optional.  Defines an endpoint that gets called via a POST request to notify that an extension install is about to occur.  Response indicates whether to proceed or abort.
	PreInstall *ExtensionEventCallback `json:"preInstall,omitempty"`
	// For multi-version extensions, defines an endpoint that gets called via an OPTIONS request to determine the particular version of the extension to be used
	VersionCheck *ExtensionEventCallback `json:"versionCheck,omitempty"`
}

Collection of event callbacks - endpoints called when particular extension events occur.

type ExtensionEventUrls

type ExtensionEventUrls struct {
	// Url of the extension icon
	ExtensionIcon *string `json:"extensionIcon,omitempty"`
	// Link to view the extension details page
	ExtensionPage *string `json:"extensionPage,omitempty"`
	// Url of the extension management page
	ManageExtensionsPage *string `json:"manageExtensionsPage,omitempty"`
}

type ExtensionFlags

type ExtensionFlags string

[Flags] Set of flags applied to extensions that are relevant to contribution consumers

type ExtensionHost

type ExtensionHost struct {
	Id   *uuid.UUID `json:"id,omitempty"`
	Name *string    `json:"name,omitempty"`
}

type ExtensionLicensing

type ExtensionLicensing struct {
	// A list of contributions which deviate from the default licensing behavior
	Overrides *[]LicensingOverride `json:"overrides,omitempty"`
}

How an extension should handle including contributions based on licensing

type ExtensionManifest

type ExtensionManifest struct {
	// Uri used as base for other relative uri's defined in extension
	BaseUri *string `json:"baseUri,omitempty"`
	// List of shared constraints defined by this extension
	Constraints *[]ContributionConstraint `json:"constraints,omitempty"`
	// List of contributions made by this extension
	Contributions *[]Contribution `json:"contributions,omitempty"`
	// List of contribution types defined by this extension
	ContributionTypes *[]ContributionType `json:"contributionTypes,omitempty"`
	// List of explicit demands required by this extension
	Demands *[]string `json:"demands,omitempty"`
	// Collection of endpoints that get called when particular extension events occur
	EventCallbacks *ExtensionEventCallbackCollection `json:"eventCallbacks,omitempty"`
	// Secondary location that can be used as base for other relative uri's defined in extension
	FallbackBaseUri *string `json:"fallbackBaseUri,omitempty"`
	// Language Culture Name set by the Gallery
	Language *string `json:"language,omitempty"`
	// How this extension behaves with respect to licensing
	Licensing *ExtensionLicensing `json:"licensing,omitempty"`
	// Version of the extension manifest format/content
	ManifestVersion *float64 `json:"manifestVersion,omitempty"`
	// Default user claims applied to all contributions (except the ones which have been specified restrictedTo explicitly) to control the visibility of a contribution.
	RestrictedTo *[]string `json:"restrictedTo,omitempty"`
	// List of all oauth scopes required by this extension
	Scopes *[]string `json:"scopes,omitempty"`
	// The ServiceInstanceType(Guid) of the VSTS service that must be available to an account in order for the extension to be installed
	ServiceInstanceType *uuid.UUID `json:"serviceInstanceType,omitempty"`
}

Base class for extension properties which are shared by the extension manifest and the extension model

type ExtensionRequest

type ExtensionRequest struct {
	// Required message supplied if the request is rejected
	RejectMessage *string `json:"rejectMessage,omitempty"`
	// Date at which the request was made
	RequestDate *azuredevops.Time `json:"requestDate,omitempty"`
	// Represents the user who made the request
	RequestedBy *webapi.IdentityRef `json:"requestedBy,omitempty"`
	// Optional message supplied by the requester justifying the request
	RequestMessage *string `json:"requestMessage,omitempty"`
	// Represents the state of the request
	RequestState *ExtensionRequestState `json:"requestState,omitempty"`
	// Date at which the request was resolved
	ResolveDate *azuredevops.Time `json:"resolveDate,omitempty"`
	// Represents the user who resolved the request
	ResolvedBy *webapi.IdentityRef `json:"resolvedBy,omitempty"`
}

A request for an extension (to be installed or have a license assigned)

type ExtensionRequestEvent

type ExtensionRequestEvent struct {
	// The extension which has been requested
	Extension *gallery.PublishedExtension `json:"extension,omitempty"`
	// Information about the host for which this extension is requested
	Host *ExtensionHost `json:"host,omitempty"`
	// Name of the collection for which the extension was requested
	HostName *string `json:"hostName,omitempty"`
	// Gallery host url
	Links *ExtensionRequestUrls `json:"links,omitempty"`
	// The extension request object
	Request *ExtensionRequest `json:"request,omitempty"`
	// The type of update that was made
	UpdateType *ExtensionRequestUpdateType `json:"updateType,omitempty"`
}

type ExtensionRequestState

type ExtensionRequestState string

Represents the state of an extension request

type ExtensionRequestUpdateType

type ExtensionRequestUpdateType string

type ExtensionRequestUrls

type ExtensionRequestUrls struct {
	// Url of the extension icon
	ExtensionIcon *string `json:"extensionIcon,omitempty"`
	// Link to view the extension details page
	ExtensionPage *string `json:"extensionPage,omitempty"`
	// Link to view the extension request
	RequestPage *string `json:"requestPage,omitempty"`
}

type ExtensionRequestsEvent

type ExtensionRequestsEvent struct {
	// The extension which has been requested
	Extension *gallery.PublishedExtension `json:"extension,omitempty"`
	// Information about the host for which this extension is requested
	Host *ExtensionHost `json:"host,omitempty"`
	// Gallery host url
	Links *ExtensionRequestUrls `json:"links,omitempty"`
	// The extension request object
	Requests *[]ExtensionRequest `json:"requests,omitempty"`
	// The type of update that was made
	UpdateType *ExtensionRequestUpdateType `json:"updateType,omitempty"`
}

type ExtensionState

type ExtensionState struct {
	// States of an installed extension
	Flags *ExtensionStateFlags `json:"flags,omitempty"`
	// List of installation issues
	InstallationIssues *[]InstalledExtensionStateIssue `json:"installationIssues,omitempty"`
	// The time at which this installation was last updated
	LastUpdated   *azuredevops.Time `json:"lastUpdated,omitempty"`
	ExtensionName *string           `json:"extensionName,omitempty"`
	// The time at which the version was last checked
	LastVersionCheck *azuredevops.Time `json:"lastVersionCheck,omitempty"`
	PublisherName    *string           `json:"publisherName,omitempty"`
	Version          *string           `json:"version,omitempty"`
}

The state of an extension

type ExtensionStateFlags

type ExtensionStateFlags string

[Flags] States of an extension Note: If you add value to this enum, you need to do 2 other things. First add the back compat enum in value src\Vssf\Sdk\Server\Contributions\InstalledExtensionMessage.cs. Second, you can not send the new value on the message bus. You need to remove it from the message bus event prior to being sent.

type ExtensionUpdateType

type ExtensionUpdateType string

type ExtensionUrls

type ExtensionUrls struct {
	// Url of the extension icon
	ExtensionIcon *string `json:"extensionIcon,omitempty"`
	// Link to view the extension details page
	ExtensionPage *string `json:"extensionPage,omitempty"`
}

type GetInstalledExtensionByNameArgs

type GetInstalledExtensionByNameArgs struct {
	// (required) Name of the publisher. Example: "fabrikam".
	PublisherName *string
	// (required) Name of the extension. Example: "ops-tools".
	ExtensionName *string
	// (optional)
	AssetTypes *[]string
}

Arguments for the GetInstalledExtensionByName function

type GetInstalledExtensionsArgs

type GetInstalledExtensionsArgs struct {
	// (optional) If true (the default), include disabled extensions in the results.
	IncludeDisabledExtensions *bool
	// (optional) If true, include installed extensions with errors.
	IncludeErrors *bool
	// (optional)
	AssetTypes *[]string
	// (optional)
	IncludeInstallationIssues *bool
}

Arguments for the GetInstalledExtensions function

type InstallExtensionByNameArgs

type InstallExtensionByNameArgs struct {
	// (required) Name of the publisher. Example: "fabrikam".
	PublisherName *string
	// (required) Name of the extension. Example: "ops-tools".
	ExtensionName *string
	// (optional)
	Version *string
}

Arguments for the InstallExtensionByName function

type InstalledExtension

type InstalledExtension struct {
	// Uri used as base for other relative uri's defined in extension
	BaseUri *string `json:"baseUri,omitempty"`
	// List of shared constraints defined by this extension
	Constraints *[]ContributionConstraint `json:"constraints,omitempty"`
	// List of contributions made by this extension
	Contributions *[]Contribution `json:"contributions,omitempty"`
	// List of contribution types defined by this extension
	ContributionTypes *[]ContributionType `json:"contributionTypes,omitempty"`
	// List of explicit demands required by this extension
	Demands *[]string `json:"demands,omitempty"`
	// Collection of endpoints that get called when particular extension events occur
	EventCallbacks *ExtensionEventCallbackCollection `json:"eventCallbacks,omitempty"`
	// Secondary location that can be used as base for other relative uri's defined in extension
	FallbackBaseUri *string `json:"fallbackBaseUri,omitempty"`
	// Language Culture Name set by the Gallery
	Language *string `json:"language,omitempty"`
	// How this extension behaves with respect to licensing
	Licensing *ExtensionLicensing `json:"licensing,omitempty"`
	// Version of the extension manifest format/content
	ManifestVersion *float64 `json:"manifestVersion,omitempty"`
	// Default user claims applied to all contributions (except the ones which have been specified restrictedTo explicitly) to control the visibility of a contribution.
	RestrictedTo *[]string `json:"restrictedTo,omitempty"`
	// List of all oauth scopes required by this extension
	Scopes *[]string `json:"scopes,omitempty"`
	// The ServiceInstanceType(Guid) of the VSTS service that must be available to an account in order for the extension to be installed
	ServiceInstanceType *uuid.UUID `json:"serviceInstanceType,omitempty"`
	// The friendly extension id for this extension - unique for a given publisher.
	ExtensionId *string `json:"extensionId,omitempty"`
	// The display name of the extension.
	ExtensionName *string `json:"extensionName,omitempty"`
	// This is the set of files available from the extension.
	Files *[]gallery.ExtensionFile `json:"files,omitempty"`
	// Extension flags relevant to contribution consumers
	Flags *ExtensionFlags `json:"flags,omitempty"`
	// Information about this particular installation of the extension
	InstallState *InstalledExtensionState `json:"installState,omitempty"`
	// This represents the date/time the extensions was last updated in the gallery. This doesnt mean this version was updated the value represents changes to any and all versions of the extension.
	LastPublished *azuredevops.Time `json:"lastPublished,omitempty"`
	// Unique id of the publisher of this extension
	PublisherId *string `json:"publisherId,omitempty"`
	// The display name of the publisher
	PublisherName *string `json:"publisherName,omitempty"`
	// Unique id for this extension (the same id is used for all versions of a single extension)
	RegistrationId *uuid.UUID `json:"registrationId,omitempty"`
	// Version of this extension
	Version *string `json:"version,omitempty"`
}

Represents a VSTS extension along with its installation state

type InstalledExtensionQuery

type InstalledExtensionQuery struct {
	AssetTypes *[]string                      `json:"assetTypes,omitempty"`
	Monikers   *[]gallery.ExtensionIdentifier `json:"monikers,omitempty"`
}

type InstalledExtensionState

type InstalledExtensionState struct {
	// States of an installed extension
	Flags *ExtensionStateFlags `json:"flags,omitempty"`
	// List of installation issues
	InstallationIssues *[]InstalledExtensionStateIssue `json:"installationIssues,omitempty"`
	// The time at which this installation was last updated
	LastUpdated *azuredevops.Time `json:"lastUpdated,omitempty"`
}

The state of an installed extension

type InstalledExtensionStateIssue

type InstalledExtensionStateIssue struct {
	// The error message
	Message *string `json:"message,omitempty"`
	// Source of the installation issue, for example  "Demands"
	Source *string `json:"source,omitempty"`
	// Installation issue type (Warning, Error)
	Type *InstalledExtensionStateIssueType `json:"type,omitempty"`
}

Represents an installation issue

type InstalledExtensionStateIssueType

type InstalledExtensionStateIssueType string

Installation issue type (Warning, Error)

type LicensingOverride

type LicensingOverride struct {
	// How the inclusion of this contribution should change based on licensing
	Behavior *ContributionLicensingBehaviorType `json:"behavior,omitempty"`
	// Fully qualified contribution id which we want to define licensing behavior for
	Id *string `json:"id,omitempty"`
}

Maps a contribution to a licensing behavior

type RequestedExtension

type RequestedExtension struct {
	// The unique name of the extension
	ExtensionName *string `json:"extensionName,omitempty"`
	// A list of each request for the extension
	ExtensionRequests *[]ExtensionRequest `json:"extensionRequests,omitempty"`
	// DisplayName of the publisher that owns the extension being published.
	PublisherDisplayName *string `json:"publisherDisplayName,omitempty"`
	// Represents the Publisher of the requested extension
	PublisherName *string `json:"publisherName,omitempty"`
	// The total number of requests for an extension
	RequestCount *int `json:"requestCount,omitempty"`
}

A request for an extension (to be installed or have a license assigned)

type ResolvedDataProvider

type ResolvedDataProvider struct {
	// The total time the data provider took to resolve its data (in milliseconds)
	Duration *float32 `json:"duration,omitempty"`
	Error    *string  `json:"error,omitempty"`
	Id       *string  `json:"id,omitempty"`
}

Entry for a specific data provider's resulting data

type Scope

type Scope struct {
	Description *string `json:"description,omitempty"`
	Title       *string `json:"title,omitempty"`
	Value       *string `json:"value,omitempty"`
}

type SupportedExtension

type SupportedExtension struct {
	// Unique Identifier for this extension
	Extension *string `json:"extension,omitempty"`
	// Unique Identifier for this publisher
	Publisher *string `json:"publisher,omitempty"`
	// Supported version for this extension
	Version *string `json:"version,omitempty"`
}

Information about the extension

type UninstallExtensionByNameArgs

type UninstallExtensionByNameArgs struct {
	// (required) Name of the publisher. Example: "fabrikam".
	PublisherName *string
	// (required) Name of the extension. Example: "ops-tools".
	ExtensionName *string
	// (optional)
	Reason *string
	// (optional)
	ReasonCode *string
}

Arguments for the UninstallExtensionByName function

type UpdateInstalledExtensionArgs

type UpdateInstalledExtensionArgs struct {
	// (required)
	Extension *InstalledExtension
}

Arguments for the UpdateInstalledExtension function

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL