vso-node-api
Version:
Node client for Visual Studio Online/TFS REST APIs
610 lines (609 loc) • 37.3 kB
TypeScript
/// <reference types="node" />
import basem = require('./ClientApiBases');
import VsoBaseInterfaces = require('./interfaces/common/VsoBaseInterfaces');
import BuildInterfaces = require("./interfaces/BuildInterfaces");
import VSSInterfaces = require("./interfaces/common/VSSInterfaces");
export interface IBuildApi extends basem.ClientApiBase {
createArtifact(artifact: BuildInterfaces.BuildArtifact, buildId: number, project?: string): Promise<BuildInterfaces.BuildArtifact>;
getArtifact(buildId: number, artifactName: string, project?: string): Promise<BuildInterfaces.BuildArtifact>;
getArtifactContentZip(buildId: number, artifactName: string, project?: string): Promise<NodeJS.ReadableStream>;
getArtifacts(buildId: number, project?: string): Promise<BuildInterfaces.BuildArtifact[]>;
getBadge(project: string, definitionId: number, branchName?: string): Promise<string>;
listBranches(project: string, providerName: string, serviceEndpointId?: string, repository?: string): Promise<string[]>;
getBuildBadge(project: string, repoType: string, repoId?: string, branchName?: string): Promise<BuildInterfaces.BuildBadge>;
getBuildBadgeData(project: string, repoType: string, repoId?: string, branchName?: string): Promise<string>;
deleteBuild(buildId: number, project?: string): Promise<void>;
getBuild(buildId: number, project?: string, propertyFilters?: string): Promise<BuildInterfaces.Build>;
getBuilds(project?: string, definitions?: number[], queues?: number[], buildNumber?: string, minTime?: Date, maxTime?: Date, requestedFor?: string, reasonFilter?: BuildInterfaces.BuildReason, statusFilter?: BuildInterfaces.BuildStatus, resultFilter?: BuildInterfaces.BuildResult, tagFilters?: string[], properties?: string[], top?: number, continuationToken?: string, maxBuildsPerDefinition?: number, deletedFilter?: BuildInterfaces.QueryDeletedOption, queryOrder?: BuildInterfaces.BuildQueryOrder, branchName?: string, buildIds?: number[], repositoryId?: string, repositoryType?: string): Promise<BuildInterfaces.Build[]>;
queueBuild(build: BuildInterfaces.Build, project?: string, ignoreWarnings?: boolean, checkInTicket?: string): Promise<BuildInterfaces.Build>;
updateBuild(build: BuildInterfaces.Build, buildId: number, project?: string): Promise<BuildInterfaces.Build>;
updateBuilds(builds: BuildInterfaces.Build[], project?: string): Promise<BuildInterfaces.Build[]>;
getBuildChanges(project: string, buildId: number, continuationToken?: string, top?: number, includeSourceChange?: boolean): Promise<BuildInterfaces.Change[]>;
getChangesBetweenBuilds(project: string, fromBuildId?: number, toBuildId?: number, top?: number): Promise<BuildInterfaces.Change[]>;
getBuildController(controllerId: number): Promise<BuildInterfaces.BuildController>;
getBuildControllers(name?: string): Promise<BuildInterfaces.BuildController[]>;
createDefinition(definition: BuildInterfaces.BuildDefinition, project?: string, definitionToCloneId?: number, definitionToCloneRevision?: number): Promise<BuildInterfaces.BuildDefinition>;
deleteDefinition(definitionId: number, project?: string): Promise<void>;
getDefinition(definitionId: number, project?: string, revision?: number, minMetricsTime?: Date, propertyFilters?: string[], includeLatestBuilds?: boolean): Promise<BuildInterfaces.BuildDefinition>;
getDefinitions(project?: string, name?: string, repositoryId?: string, repositoryType?: string, queryOrder?: BuildInterfaces.DefinitionQueryOrder, top?: number, continuationToken?: string, minMetricsTime?: Date, definitionIds?: number[], path?: string, builtAfter?: Date, notBuiltAfter?: Date, includeAllProperties?: boolean, includeLatestBuilds?: boolean, taskIdFilter?: string): Promise<BuildInterfaces.BuildDefinitionReference[]>;
updateDefinition(definition: BuildInterfaces.BuildDefinition, definitionId: number, project?: string, secretsSourceDefinitionId?: number, secretsSourceDefinitionRevision?: number): Promise<BuildInterfaces.BuildDefinition>;
createFolder(folder: BuildInterfaces.Folder, project: string, path: string): Promise<BuildInterfaces.Folder>;
deleteFolder(project: string, path: string): Promise<void>;
getFolders(project: string, path?: string, queryOrder?: BuildInterfaces.FolderQueryOrder): Promise<BuildInterfaces.Folder[]>;
updateFolder(folder: BuildInterfaces.Folder, project: string, path: string): Promise<BuildInterfaces.Folder>;
getBuildLog(project: string, buildId: number, logId: number, startLine?: number, endLine?: number): Promise<NodeJS.ReadableStream>;
getBuildLogLines(project: string, buildId: number, logId: number, startLine?: number, endLine?: number): Promise<string[]>;
getBuildLogs(project: string, buildId: number): Promise<BuildInterfaces.BuildLog[]>;
getBuildLogsZip(project: string, buildId: number): Promise<NodeJS.ReadableStream>;
getProjectMetrics(project: string, metricAggregationType?: string, minMetricsTime?: Date): Promise<BuildInterfaces.BuildMetric[]>;
getDefinitionMetrics(project: string, definitionId: number, minMetricsTime?: Date): Promise<BuildInterfaces.BuildMetric[]>;
getBuildOptionDefinitions(project?: string): Promise<BuildInterfaces.BuildOptionDefinition[]>;
getBuildProperties(project: string, buildId: number, filter?: string[]): Promise<any>;
updateBuildProperties(customHeaders: any, document: VSSInterfaces.JsonPatchDocument, project: string, buildId: number): Promise<any>;
getDefinitionProperties(project: string, definitionId: number, filter?: string[]): Promise<any>;
updateDefinitionProperties(customHeaders: any, document: VSSInterfaces.JsonPatchDocument, project: string, definitionId: number): Promise<any>;
getBuildReport(project: string, buildId: number, type?: string): Promise<BuildInterfaces.BuildReportMetadata>;
getBuildReportHtmlContent(project: string, buildId: number, type?: string): Promise<NodeJS.ReadableStream>;
listRepositories(project: string, providerName: string, serviceEndpointId?: string, repository?: string): Promise<BuildInterfaces.SourceRepository[]>;
getResourceUsage(): Promise<BuildInterfaces.BuildResourceUsage>;
getDefinitionRevisions(project: string, definitionId: number): Promise<BuildInterfaces.BuildDefinitionRevision[]>;
getBuildSettings(): Promise<BuildInterfaces.BuildSettings>;
updateBuildSettings(settings: BuildInterfaces.BuildSettings): Promise<BuildInterfaces.BuildSettings>;
listSourceProviders(project: string): Promise<BuildInterfaces.SourceProviderAttributes[]>;
addBuildTag(project: string, buildId: number, tag: string): Promise<string[]>;
addBuildTags(tags: string[], project: string, buildId: number): Promise<string[]>;
deleteBuildTag(project: string, buildId: number, tag: string): Promise<string[]>;
getBuildTags(project: string, buildId: number): Promise<string[]>;
addDefinitionTag(project: string, definitionId: number, tag: string): Promise<string[]>;
addDefinitionTags(tags: string[], project: string, definitionId: number): Promise<string[]>;
deleteDefinitionTag(project: string, definitionId: number, tag: string): Promise<string[]>;
getDefinitionTags(project: string, definitionId: number, revision?: number): Promise<string[]>;
getTags(project: string): Promise<string[]>;
deleteTemplate(project: string, templateId: string): Promise<void>;
getTemplate(project: string, templateId: string): Promise<BuildInterfaces.BuildDefinitionTemplate>;
getTemplates(project: string): Promise<BuildInterfaces.BuildDefinitionTemplate[]>;
saveTemplate(template: BuildInterfaces.BuildDefinitionTemplate, project: string, templateId: string): Promise<BuildInterfaces.BuildDefinitionTemplate>;
getBuildTimeline(project: string, buildId: number, timelineId?: string, changeId?: number, planId?: string): Promise<BuildInterfaces.Timeline>;
listWebhooks(project: string, providerName: string, serviceEndpointId?: string, repository?: string): Promise<BuildInterfaces.RepositoryWebhook[]>;
getBuildWorkItemsRefs(project: string, buildId: number, top?: number): Promise<VSSInterfaces.ResourceRef[]>;
getBuildWorkItemsRefsFromCommits(commitIds: string[], project: string, buildId: number, top?: number): Promise<VSSInterfaces.ResourceRef[]>;
getWorkItemsBetweenBuilds(project: string, fromBuildId: number, toBuildId: number, top?: number): Promise<VSSInterfaces.ResourceRef[]>;
}
export declare class BuildApi extends basem.ClientApiBase implements IBuildApi {
constructor(baseUrl: string, handlers: VsoBaseInterfaces.IRequestHandler[], options?: VsoBaseInterfaces.IRequestOptions);
static readonly RESOURCE_AREA_ID: string;
/**
* Associates an artifact with a build.
*
* @param {BuildInterfaces.BuildArtifact} artifact - The artifact.
* @param {number} buildId - The ID of the build.
* @param {string} project - Project ID or project name
*/
createArtifact(artifact: BuildInterfaces.BuildArtifact, buildId: number, project?: string): Promise<BuildInterfaces.BuildArtifact>;
/**
* Gets a specific artifact for a build.
*
* @param {number} buildId - The ID of the build.
* @param {string} artifactName - The name of the artifact.
* @param {string} project - Project ID or project name
*/
getArtifact(buildId: number, artifactName: string, project?: string): Promise<BuildInterfaces.BuildArtifact>;
/**
* Gets a specific artifact for a build.
*
* @param {number} buildId - The ID of the build.
* @param {string} artifactName - The name of the artifact.
* @param {string} project - Project ID or project name
*/
getArtifactContentZip(buildId: number, artifactName: string, project?: string): Promise<NodeJS.ReadableStream>;
/**
* Gets all artifacts for a build.
*
* @param {number} buildId - The ID of the build.
* @param {string} project - Project ID or project name
*/
getArtifacts(buildId: number, project?: string): Promise<BuildInterfaces.BuildArtifact[]>;
/**
* Gets a badge that indicates the status of the most recent build for a definition.
*
* @param {string} project - The project ID or name.
* @param {number} definitionId - The ID of the definition.
* @param {string} branchName - The name of the branch.
*/
getBadge(project: string, definitionId: number, branchName?: string): Promise<string>;
/**
* Gets a list of branches for the given source code repository.
*
* @param {string} project - Project ID or project name
* @param {string} providerName - The name of the source provider.
* @param {string} serviceEndpointId - If specified, the ID of the service endpoint to query. Can only be omitted for providers that do not use service endpoints, e.g. TFVC or TFGit.
* @param {string} repository - If specified, the vendor-specific identifier or the name of the repository to get branches. Can only be omitted for providers that do not support multiple repositories.
*/
listBranches(project: string, providerName: string, serviceEndpointId?: string, repository?: string): Promise<string[]>;
/**
* Gets a badge that indicates the status of the most recent build for the specified branch.
*
* @param {string} project - Project ID or project name
* @param {string} repoType - The repository type.
* @param {string} repoId - The repository ID.
* @param {string} branchName - The branch name.
*/
getBuildBadge(project: string, repoType: string, repoId?: string, branchName?: string): Promise<BuildInterfaces.BuildBadge>;
/**
* Gets a badge that indicates the status of the most recent build for the specified branch.
*
* @param {string} project - Project ID or project name
* @param {string} repoType - The repository type.
* @param {string} repoId - The repository ID.
* @param {string} branchName - The branch name.
*/
getBuildBadgeData(project: string, repoType: string, repoId?: string, branchName?: string): Promise<string>;
/**
* Deletes a build.
*
* @param {number} buildId - The ID of the build.
* @param {string} project - Project ID or project name
*/
deleteBuild(buildId: number, project?: string): Promise<void>;
/**
* Gets a build.
*
* @param {number} buildId - The ID of the build.
* @param {string} project - Project ID or project name
* @param {string} propertyFilters - A comma-delimited list of properties to include in the results.
*/
getBuild(buildId: number, project?: string, propertyFilters?: string): Promise<BuildInterfaces.Build>;
/**
* Gets a list of builds.
*
* @param {string} project - Project ID or project name
* @param {number[]} definitions - A comma-delimited list of definition IDs. If specified, filters to builds for these definitions.
* @param {number[]} queues - A comma-delimited list of queue IDs. If specified, filters to builds that ran against these queues.
* @param {string} buildNumber - If specified, filters to builds that match this build number. Append * to do a prefix search.
* @param {Date} minTime - If specified, filters to builds that finished/started/queued after this date based on the queryOrder specified.
* @param {Date} maxTime - If specified, filters to builds that finished/started/queued before this date based on the queryOrder specified.
* @param {string} requestedFor - If specified, filters to builds requested for the specified user.
* @param {BuildInterfaces.BuildReason} reasonFilter - If specified, filters to builds that match this reason.
* @param {BuildInterfaces.BuildStatus} statusFilter - If specified, filters to builds that match this status.
* @param {BuildInterfaces.BuildResult} resultFilter - If specified, filters to builds that match this result.
* @param {string[]} tagFilters - A comma-delimited list of tags. If specified, filters to builds that have the specified tags.
* @param {string[]} properties - A comma-delimited list of properties to retrieve.
* @param {number} top - The maximum number of builds to return.
* @param {string} continuationToken - A continuation token, returned by a previous call to this method, that can be used to return the next set of builds.
* @param {number} maxBuildsPerDefinition - The maximum number of builds to return per definition.
* @param {BuildInterfaces.QueryDeletedOption} deletedFilter - Indicates whether to exclude, include, or only return deleted builds.
* @param {BuildInterfaces.BuildQueryOrder} queryOrder - The order in which builds should be returned.
* @param {string} branchName - If specified, filters to builds that built branches that built this branch.
* @param {number[]} buildIds - A comma-delimited list that specifies the IDs of builds to retrieve.
* @param {string} repositoryId - If specified, filters to builds that built from this repository.
* @param {string} repositoryType - If specified, filters to builds that built from repositories of this type.
*/
getBuilds(project?: string, definitions?: number[], queues?: number[], buildNumber?: string, minTime?: Date, maxTime?: Date, requestedFor?: string, reasonFilter?: BuildInterfaces.BuildReason, statusFilter?: BuildInterfaces.BuildStatus, resultFilter?: BuildInterfaces.BuildResult, tagFilters?: string[], properties?: string[], top?: number, continuationToken?: string, maxBuildsPerDefinition?: number, deletedFilter?: BuildInterfaces.QueryDeletedOption, queryOrder?: BuildInterfaces.BuildQueryOrder, branchName?: string, buildIds?: number[], repositoryId?: string, repositoryType?: string): Promise<BuildInterfaces.Build[]>;
/**
* Queues a build
*
* @param {BuildInterfaces.Build} build
* @param {string} project - Project ID or project name
* @param {boolean} ignoreWarnings
* @param {string} checkInTicket
*/
queueBuild(build: BuildInterfaces.Build, project?: string, ignoreWarnings?: boolean, checkInTicket?: string): Promise<BuildInterfaces.Build>;
/**
* Updates a build.
*
* @param {BuildInterfaces.Build} build - The build.
* @param {number} buildId - The ID of the build.
* @param {string} project - Project ID or project name
*/
updateBuild(build: BuildInterfaces.Build, buildId: number, project?: string): Promise<BuildInterfaces.Build>;
/**
* Updates multiple builds.
*
* @param {BuildInterfaces.Build[]} builds - The builds to update.
* @param {string} project - Project ID or project name
*/
updateBuilds(builds: BuildInterfaces.Build[], project?: string): Promise<BuildInterfaces.Build[]>;
/**
* Gets the changes associated with a build.
*
* @param {string} project - Project ID or project name
* @param {number} buildId - The build ID.
* @param {string} continuationToken
* @param {number} top - The maximum number of changes to return.
* @param {boolean} includeSourceChange
*/
getBuildChanges(project: string, buildId: number, continuationToken?: string, top?: number, includeSourceChange?: boolean): Promise<BuildInterfaces.Change[]>;
/**
* Gets the changes made to the repository between two given builds.
*
* @param {string} project - Project ID or project name
* @param {number} fromBuildId - The ID of the first build.
* @param {number} toBuildId - The ID of the last build.
* @param {number} top - The maximum number of changes to return.
*/
getChangesBetweenBuilds(project: string, fromBuildId?: number, toBuildId?: number, top?: number): Promise<BuildInterfaces.Change[]>;
/**
* Gets a controller
*
* @param {number} controllerId
*/
getBuildController(controllerId: number): Promise<BuildInterfaces.BuildController>;
/**
* Gets controller, optionally filtered by name
*
* @param {string} name
*/
getBuildControllers(name?: string): Promise<BuildInterfaces.BuildController[]>;
/**
* Creates a new definition.
*
* @param {BuildInterfaces.BuildDefinition} definition - The definition.
* @param {string} project - Project ID or project name
* @param {number} definitionToCloneId
* @param {number} definitionToCloneRevision
*/
createDefinition(definition: BuildInterfaces.BuildDefinition, project?: string, definitionToCloneId?: number, definitionToCloneRevision?: number): Promise<BuildInterfaces.BuildDefinition>;
/**
* Deletes a definition and all associated builds.
*
* @param {number} definitionId - The ID of the definition.
* @param {string} project - Project ID or project name
*/
deleteDefinition(definitionId: number, project?: string): Promise<void>;
/**
* Gets a definition, optionally at a specific revision.
*
* @param {number} definitionId - The ID of the definition.
* @param {string} project - Project ID or project name
* @param {number} revision - The revision number to retrieve. If this is not specified, the latest version will be returned.
* @param {Date} minMetricsTime - If specified, indicates the date from which metrics should be included.
* @param {string[]} propertyFilters - A comma-delimited list of properties to include in the results.
* @param {boolean} includeLatestBuilds
*/
getDefinition(definitionId: number, project?: string, revision?: number, minMetricsTime?: Date, propertyFilters?: string[], includeLatestBuilds?: boolean): Promise<BuildInterfaces.BuildDefinition>;
/**
* Gets a list of definitions.
*
* @param {string} project - Project ID or project name
* @param {string} name - If specified, filters to definitions whose names match this pattern.
* @param {string} repositoryId - A repository ID. If specified, filters to definitions that use this repository.
* @param {string} repositoryType - If specified, filters to definitions that have a repository of this type.
* @param {BuildInterfaces.DefinitionQueryOrder} queryOrder - Indicates the order in which definitions should be returned.
* @param {number} top - The maximum number of definitions to return.
* @param {string} continuationToken - A continuation token, returned by a previous call to this method, that can be used to return the next set of definitions.
* @param {Date} minMetricsTime - If specified, indicates the date from which metrics should be included.
* @param {number[]} definitionIds - A comma-delimited list that specifies the IDs of definitions to retrieve.
* @param {string} path - If specified, filters to definitions under this folder.
* @param {Date} builtAfter - If specified, filters to definitions that have builds after this date.
* @param {Date} notBuiltAfter - If specified, filters to definitions that do not have builds after this date.
* @param {boolean} includeAllProperties - Indicates whether the full definitions should be returned. By default, shallow representations of the definitions are returned.
* @param {boolean} includeLatestBuilds - Indicates whether to return the latest and latest completed builds for this definition.
* @param {string} taskIdFilter - If specified, filters to definitions that use the specified task.
*/
getDefinitions(project?: string, name?: string, repositoryId?: string, repositoryType?: string, queryOrder?: BuildInterfaces.DefinitionQueryOrder, top?: number, continuationToken?: string, minMetricsTime?: Date, definitionIds?: number[], path?: string, builtAfter?: Date, notBuiltAfter?: Date, includeAllProperties?: boolean, includeLatestBuilds?: boolean, taskIdFilter?: string): Promise<BuildInterfaces.BuildDefinitionReference[]>;
/**
* Updates an existing definition.
*
* @param {BuildInterfaces.BuildDefinition} definition - The new version of the defintion.
* @param {number} definitionId - The ID of the definition.
* @param {string} project - Project ID or project name
* @param {number} secretsSourceDefinitionId
* @param {number} secretsSourceDefinitionRevision
*/
updateDefinition(definition: BuildInterfaces.BuildDefinition, definitionId: number, project?: string, secretsSourceDefinitionId?: number, secretsSourceDefinitionRevision?: number): Promise<BuildInterfaces.BuildDefinition>;
/**
* Creates a new folder.
*
* @param {BuildInterfaces.Folder} folder - The folder.
* @param {string} project - Project ID or project name
* @param {string} path - The full path of the folder.
*/
createFolder(folder: BuildInterfaces.Folder, project: string, path: string): Promise<BuildInterfaces.Folder>;
/**
* Deletes a definition folder. Definitions and their corresponding builds will also be deleted.
*
* @param {string} project - Project ID or project name
* @param {string} path - The full path to the folder.
*/
deleteFolder(project: string, path: string): Promise<void>;
/**
* Gets a list of build definition folders.
*
* @param {string} project - Project ID or project name
* @param {string} path - The path to start with.
* @param {BuildInterfaces.FolderQueryOrder} queryOrder - The order in which folders should be returned.
*/
getFolders(project: string, path?: string, queryOrder?: BuildInterfaces.FolderQueryOrder): Promise<BuildInterfaces.Folder[]>;
/**
* Updates an existing folder at given existing path
*
* @param {BuildInterfaces.Folder} folder - The new version of the folder.
* @param {string} project - Project ID or project name
* @param {string} path - The full path to the folder.
*/
updateFolder(folder: BuildInterfaces.Folder, project: string, path: string): Promise<BuildInterfaces.Folder>;
/**
* Gets an individual log file for a build.
*
* @param {string} project - Project ID or project name
* @param {number} buildId - The ID of the build.
* @param {number} logId - The ID of the log file.
* @param {number} startLine - The start line.
* @param {number} endLine - The end line.
*/
getBuildLog(project: string, buildId: number, logId: number, startLine?: number, endLine?: number): Promise<NodeJS.ReadableStream>;
/**
* Gets an individual log file for a build.
*
* @param {string} project - Project ID or project name
* @param {number} buildId - The ID of the build.
* @param {number} logId - The ID of the log file.
* @param {number} startLine - The start line.
* @param {number} endLine - The end line.
*/
getBuildLogLines(project: string, buildId: number, logId: number, startLine?: number, endLine?: number): Promise<string[]>;
/**
* Gets the logs for a build.
*
* @param {string} project - Project ID or project name
* @param {number} buildId - The ID of the build.
*/
getBuildLogs(project: string, buildId: number): Promise<BuildInterfaces.BuildLog[]>;
/**
* Gets the logs for a build.
*
* @param {string} project - Project ID or project name
* @param {number} buildId - The ID of the build.
*/
getBuildLogsZip(project: string, buildId: number): Promise<NodeJS.ReadableStream>;
/**
* Gets build metrics for a project.
*
* @param {string} project - Project ID or project name
* @param {string} metricAggregationType - The aggregation type to use (hourly, daily).
* @param {Date} minMetricsTime - The date from which to calculate metrics.
*/
getProjectMetrics(project: string, metricAggregationType?: string, minMetricsTime?: Date): Promise<BuildInterfaces.BuildMetric[]>;
/**
* Gets build metrics for a definition.
*
* @param {string} project - Project ID or project name
* @param {number} definitionId - The ID of the definition.
* @param {Date} minMetricsTime - The date from which to calculate metrics.
*/
getDefinitionMetrics(project: string, definitionId: number, minMetricsTime?: Date): Promise<BuildInterfaces.BuildMetric[]>;
/**
* Gets all build definition options supported by the system.
*
* @param {string} project - Project ID or project name
*/
getBuildOptionDefinitions(project?: string): Promise<BuildInterfaces.BuildOptionDefinition[]>;
/**
* Gets properties for a build.
*
* @param {string} project - Project ID or project name
* @param {number} buildId - The ID of the build.
* @param {string[]} filter - A comma-delimited list of properties. If specified, filters to these specific properties.
*/
getBuildProperties(project: string, buildId: number, filter?: string[]): Promise<any>;
/**
* Updates properties for a build.
*
* @param {VSSInterfaces.JsonPatchDocument} document - A json-patch document describing the properties to update.
* @param {string} project - Project ID or project name
* @param {number} buildId - The ID of the build.
*/
updateBuildProperties(customHeaders: any, document: VSSInterfaces.JsonPatchDocument, project: string, buildId: number): Promise<any>;
/**
* Gets properties for a definition.
*
* @param {string} project - Project ID or project name
* @param {number} definitionId - The ID of the definition.
* @param {string[]} filter - A comma-delimited list of properties. If specified, filters to these specific properties.
*/
getDefinitionProperties(project: string, definitionId: number, filter?: string[]): Promise<any>;
/**
* Updates properties for a definition.
*
* @param {VSSInterfaces.JsonPatchDocument} document - A json-patch document describing the properties to update.
* @param {string} project - Project ID or project name
* @param {number} definitionId - The ID of the definition.
*/
updateDefinitionProperties(customHeaders: any, document: VSSInterfaces.JsonPatchDocument, project: string, definitionId: number): Promise<any>;
/**
* Gets a build report.
*
* @param {string} project - Project ID or project name
* @param {number} buildId - The ID of the build.
* @param {string} type
*/
getBuildReport(project: string, buildId: number, type?: string): Promise<BuildInterfaces.BuildReportMetadata>;
/**
* Gets a build report.
*
* @param {string} project - Project ID or project name
* @param {number} buildId - The ID of the build.
* @param {string} type
*/
getBuildReportHtmlContent(project: string, buildId: number, type?: string): Promise<NodeJS.ReadableStream>;
/**
* Gets a list of source code repositories.
*
* @param {string} project - Project ID or project name
* @param {string} providerName - The name of the source provider.
* @param {string} serviceEndpointId - If specified, the ID of the service endpoint to query. Can only be omitted for providers that do not use service endpoints, e.g. TFVC or TFGit.
* @param {string} repository - If specified, the vendor-specific identifier or the name of a single repository to get.
*/
listRepositories(project: string, providerName: string, serviceEndpointId?: string, repository?: string): Promise<BuildInterfaces.SourceRepository[]>;
/**
* Gets information about build resources in the system.
*
*/
getResourceUsage(): Promise<BuildInterfaces.BuildResourceUsage>;
/**
* Gets all revisions of a definition.
*
* @param {string} project - Project ID or project name
* @param {number} definitionId - The ID of the definition.
*/
getDefinitionRevisions(project: string, definitionId: number): Promise<BuildInterfaces.BuildDefinitionRevision[]>;
/**
* Gets the build settings.
*
*/
getBuildSettings(): Promise<BuildInterfaces.BuildSettings>;
/**
* Updates the build settings.
*
* @param {BuildInterfaces.BuildSettings} settings - The new settings.
*/
updateBuildSettings(settings: BuildInterfaces.BuildSettings): Promise<BuildInterfaces.BuildSettings>;
/**
* Get a list of source providers and their capabilities.
*
* @param {string} project - Project ID or project name
*/
listSourceProviders(project: string): Promise<BuildInterfaces.SourceProviderAttributes[]>;
/**
* Adds a tag to a build.
*
* @param {string} project - Project ID or project name
* @param {number} buildId - The ID of the build.
* @param {string} tag - The tag to add.
*/
addBuildTag(project: string, buildId: number, tag: string): Promise<string[]>;
/**
* Adds tags to a build.
*
* @param {string[]} tags - The tags to add.
* @param {string} project - Project ID or project name
* @param {number} buildId - The ID of the build.
*/
addBuildTags(tags: string[], project: string, buildId: number): Promise<string[]>;
/**
* Removes a tag from a build.
*
* @param {string} project - Project ID or project name
* @param {number} buildId - The ID of the build.
* @param {string} tag - The tag to remove.
*/
deleteBuildTag(project: string, buildId: number, tag: string): Promise<string[]>;
/**
* Gets the tags for a build.
*
* @param {string} project - Project ID or project name
* @param {number} buildId - The ID of the build.
*/
getBuildTags(project: string, buildId: number): Promise<string[]>;
/**
* Adds a tag to a definition
*
* @param {string} project - Project ID or project name
* @param {number} definitionId - The ID of the definition.
* @param {string} tag - The tag to add.
*/
addDefinitionTag(project: string, definitionId: number, tag: string): Promise<string[]>;
/**
* Adds multiple tags to a definition.
*
* @param {string[]} tags - The tags to add.
* @param {string} project - Project ID or project name
* @param {number} definitionId - The ID of the definition.
*/
addDefinitionTags(tags: string[], project: string, definitionId: number): Promise<string[]>;
/**
* Removes a tag from a definition.
*
* @param {string} project - Project ID or project name
* @param {number} definitionId - The ID of the definition.
* @param {string} tag - The tag to remove.
*/
deleteDefinitionTag(project: string, definitionId: number, tag: string): Promise<string[]>;
/**
* Gets the tags for a definition.
*
* @param {string} project - Project ID or project name
* @param {number} definitionId - The ID of the definition.
* @param {number} revision - The definition revision number. If not specified, uses the latest revision of the definition.
*/
getDefinitionTags(project: string, definitionId: number, revision?: number): Promise<string[]>;
/**
* Gets a list of all build and definition tags in the project.
*
* @param {string} project - Project ID or project name
*/
getTags(project: string): Promise<string[]>;
/**
* Deletes a build definition template.
*
* @param {string} project - Project ID or project name
* @param {string} templateId - The ID of the template.
*/
deleteTemplate(project: string, templateId: string): Promise<void>;
/**
* Gets a specific build definition template.
*
* @param {string} project - Project ID or project name
* @param {string} templateId - The ID of the requested template.
*/
getTemplate(project: string, templateId: string): Promise<BuildInterfaces.BuildDefinitionTemplate>;
/**
* Gets all definition templates.
*
* @param {string} project - Project ID or project name
*/
getTemplates(project: string): Promise<BuildInterfaces.BuildDefinitionTemplate[]>;
/**
* Updates an existing build definition template.
*
* @param {BuildInterfaces.BuildDefinitionTemplate} template - The new version of the template.
* @param {string} project - Project ID or project name
* @param {string} templateId - The ID of the template.
*/
saveTemplate(template: BuildInterfaces.BuildDefinitionTemplate, project: string, templateId: string): Promise<BuildInterfaces.BuildDefinitionTemplate>;
/**
* Gets a timeline for a build.
*
* @param {string} project - Project ID or project name
* @param {number} buildId - The ID of the build.
* @param {string} timelineId - The ID of the timeline. If not specified, uses the main timeline for the plan.
* @param {number} changeId
* @param {string} planId - The ID of the plan. If not specified, uses the primary plan for the build.
*/
getBuildTimeline(project: string, buildId: number, timelineId?: string, changeId?: number, planId?: string): Promise<BuildInterfaces.Timeline>;
/**
* Gets a list of webhooks installed in the given source code repository.
*
* @param {string} project - Project ID or project name
* @param {string} providerName - The name of the source provider.
* @param {string} serviceEndpointId - If specified, the ID of the service endpoint to query. Can only be omitted for providers that do not use service endpoints, e.g. TFVC or TFGit.
* @param {string} repository - If specified, the vendor-specific identifier or the name of the repository to get webhooks. Can only be omitted for providers that do not support multiple repositories.
*/
listWebhooks(project: string, providerName: string, serviceEndpointId?: string, repository?: string): Promise<BuildInterfaces.RepositoryWebhook[]>;
/**
* Gets the work items associated with a build.
*
* @param {string} project - Project ID or project name
* @param {number} buildId - The ID of the build.
* @param {number} top - The maximum number of work items to return.
*/
getBuildWorkItemsRefs(project: string, buildId: number, top?: number): Promise<VSSInterfaces.ResourceRef[]>;
/**
* Gets the work items associated with a build, filtered to specific commits.
*
* @param {string[]} commitIds - A comma-delimited list of commit IDs.
* @param {string} project - Project ID or project name
* @param {number} buildId - The ID of the build.
* @param {number} top - The maximum number of work items to return, or the number of commits to consider if no commit IDs are specified.
*/
getBuildWorkItemsRefsFromCommits(commitIds: string[], project: string, buildId: number, top?: number): Promise<VSSInterfaces.ResourceRef[]>;
/**
* Gets all the work items between two builds.
*
* @param {string} project - Project ID or project name
* @param {number} fromBuildId - The ID of the first build.
* @param {number} toBuildId - The ID of the last build.
* @param {number} top - The maximum number of work items to return.
*/
getWorkItemsBetweenBuilds(project: string, fromBuildId: number, toBuildId: number, top?: number): Promise<VSSInterfaces.ResourceRef[]>;
}