From 2e3bde837341d382c05768c270e7fbec175e3918 Mon Sep 17 00:00:00 2001 From: serkan-inci Date: Mon, 27 Jun 2016 05:13:21 -0400 Subject: [PATCH] Updating to M101 deployment. --- lib/VSS.SDK.js | 94 +- lib/VSS.SDK.min.js | 6 +- package.json | 2 +- typings/rmo.d.ts | 732 +++------ typings/tfs.d.ts | 3759 +++++++++++++------------------------------- typings/vss.d.ts | 1631 +++++++------------ 6 files changed, 1983 insertions(+), 4241 deletions(-) diff --git a/lib/VSS.SDK.js b/lib/VSS.SDK.js index 1c71b9f..e49b97f 100644 --- a/lib/VSS.SDK.js +++ b/lib/VSS.SDK.js @@ -1,3 +1,6 @@ +//---------------------------------------------------------- +// Copyright (C) Microsoft Corporation. All rights reserved. +//---------------------------------------------------------- /// /// /// @@ -678,8 +681,16 @@ var VSS; var isReady = false; var readyCallbacks; var parentChannel = XDM.XDMChannelManager.get().addChannel(window.parent); + var shimmedLocalStorage; + var hostReadyForShimUpdates = false; var Storage = (function () { - function Storage() { + var changeCallback; + function invokeChangeCallback() { + if (changeCallback) { + changeCallback.call(this); + } + } + function Storage(changeCallback) { } Object.defineProperties(Storage.prototype, { getItem: { @@ -693,23 +704,37 @@ var VSS; setItem: { get: function () { return function (key, value) { - this["" + key] = "" + value; + key = "" + key; + var existingValue = this[key]; + var newValue = "" + value; + if (existingValue !== newValue) { + this[key] = newValue; + invokeChangeCallback(); + } }; } }, removeItem: { get: function () { return function (key) { - delete this["" + key]; + key = "" + key; + if (typeof this[key] !== "undefined") { + delete this[key]; + invokeChangeCallback(); + } }; } }, clear: { get: function () { return function () { - for (var _i = 0, _a = Object.keys(this); _i < _a.length; _i++) { - var key = _a[_i]; - delete this[key]; + var keys = Object.keys(this); + if (keys.length > 0) { + for (var _i = 0, keys_1 = keys; _i < keys_1.length; _i++) { + var key = keys_1[_i]; + delete this[key]; + } + invokeChangeCallback(); } }; } @@ -720,11 +745,26 @@ var VSS; return Object.keys(this)[index]; }; } + }, + length: { + get: function () { + return Object.keys(this).length; + } } }); return Storage; }()); function shimSandboxedProperties() { + var updateSettingsTimeout; + function updateShimmedStorageCallback() { + // Talk to the host frame on a 50 ms delay in order to batch storage/cookie updates + if (!updateSettingsTimeout) { + updateSettingsTimeout = setTimeout(function () { + updateSettingsTimeout = 0; + updateHostSandboxedStorage(); + }, 50); + } + } // Override document.cookie if it is not available var hasCookieSupport = false; try { @@ -750,7 +790,8 @@ var VSS; } if (!hasLocalStorage) { delete window.localStorage; - Object.defineProperty(window, "localStorage", { value: new Storage() }); + shimmedLocalStorage = new Storage(updateShimmedStorageCallback); + Object.defineProperty(window, "localStorage", { value: shimmedLocalStorage }); delete window.sessionStorage; Object.defineProperty(window, "sessionStorage", { value: new Storage() }); } @@ -808,6 +849,37 @@ var VSS; initialConfiguration = handshakeData.initialConfig || {}; initialContribution = handshakeData.contribution; extensionContext = handshakeData.extensionContext; + if (handshakeData.sandboxedStorage) { + var updateNeeded = false; + if (shimmedLocalStorage) { + if (handshakeData.sandboxedStorage.localStorage) { + // Merge host data in with any values already set. + var newData = handshakeData.sandboxedStorage.localStorage; + // Check for any properties written prior to the initial handshake + for (var _i = 0, _a = Object.keys(shimmedLocalStorage); _i < _a.length; _i++) { + var key = _a[_i]; + var value = shimmedLocalStorage.getItem(key); + if (value !== newData[key]) { + newData[key] = value; + updateNeeded = true; + } + } + // Update the stored values + for (var _b = 0, _c = Object.keys(newData); _b < _c.length; _b++) { + var key = _c[_b]; + shimmedLocalStorage.setItem(key, newData[key]); + } + } + else if (shimmedLocalStorage.length > 0) { + updateNeeded = true; + } + } + hostReadyForShimUpdates = true; + if (updateNeeded) { + // Talk to host frame to issue update + updateHostSandboxedStorage(); + } + } if (usingPlatformScripts || usingPlatformStyles) { setupAmdLoader(); } @@ -818,6 +890,12 @@ var VSS; }, 0); } VSS.init = init; + function updateHostSandboxedStorage() { + var storage = { + localStorage: JSON.stringify(shimmedLocalStorage || {}) + }; + parentChannel.invokeRemoteMethod("updateSandboxedStorage", "VSS.HostControl", [storage]); + } /** * Ensures that the AMD loader from the host is configured and fetches a script (AMD) module * (and its dependencies). If no callback is supplied, this will still perform an asynchronous @@ -1300,4 +1378,4 @@ var VSS; } } })(VSS || (VSS = {})); -//# sourceMappingURL=VSS.SDK.js.map \ No newline at end of file +//dependencies= diff --git a/lib/VSS.SDK.min.js b/lib/VSS.SDK.min.js index 717a2a7..285179f 100644 --- a/lib/VSS.SDK.min.js +++ b/lib/VSS.SDK.min.js @@ -1 +1,5 @@ -var XDM,VSS;(function(n){function u(){return new o}function s(){return Math.floor(Math.random()*(f-t)+t).toString(36)+Math.floor(Math.random()*(f-t)+t).toString(36)}var i,r,e;n.createDeferred=u;var o=function(){function n(){var n=this;this._resolveCallbacks=[];this._rejectCallbacks=[];this._isResolved=!1;this._isRejected=!1;this.resolve=function(t){n._resolve(t)};this.reject=function(t){n._reject(t)};this.promise={};this.promise.then=function(t,i){return n._then(t,i)}}return n.prototype._then=function(t,i){var u=this,r;return!t&&!i||this._isResolved&&!t||this._isRejected&&!i?this.promise:(r=new n,this._resolveCallbacks.push(function(n){u._wrapCallback(t,n,r,!1)}),this._rejectCallbacks.push(function(n){u._wrapCallback(i,n,r,!0)}),this._isResolved?this._resolve(this._resolvedValue):this._isRejected&&this._reject(this._rejectValue),r.promise)},n.prototype._wrapCallback=function(n,t,i,r){if(!n){r?i.reject(t):i.resolve(t);return}var u;try{u=n(t)}catch(f){i.reject(f);return}u===undefined?i.resolve(t):u&&typeof u.then=="function"?u.then(function(n){i.resolve(n)},function(n){i.reject(n)}):i.resolve(u)},n.prototype._resolve=function(n){if(this._isRejected||this._isResolved||(this._isResolved=!0,this._resolvedValue=n),this._isResolved&&this._resolveCallbacks.length>0){var t=this._resolveCallbacks.splice(0);window.setTimeout(function(){for(var i=0,r=t.length;i0){var t=this._rejectCallbacks.splice(0);window.setTimeout(function(){for(var i=0,r=t.length;it.MAX_XDM_DEPTH)||this._shouldSkipSerialization(n))return null;if(a=function(t,e,o){var s,c,l,a,v;try{s=t[o]}catch(y){}(c=typeof s,c!=="undefined")&&(l=-1,c==="object"&&(l=r.originalObjects.indexOf(s)),l>=0?(a=r.newObjects[l],a.__circularReferenceId||(a.__circularReferenceId=u++),e[o]={__circularReference:a.__circularReferenceId}):c==="function"?(v=h._nextProxyFunctionId++,e[o]={__proxyFunctionId:h._registerProxyFunction(s,n),__channelId:h._channelId}):c==="object"?e[o]=s&&s instanceof Date?{__proxyDate:s.getTime()}:h._customSerializeObject(s,i,r,u,f+1):o!=="__proxyFunctionId"&&(e[o]=s))},r||(r={newObjects:[],originalObjects:[]}),r.originalObjects.push(n),n instanceof Array)for(o=[],r.newObjects.push(o),e=0,c=n.length;e=t.length?n.substr(0,t.length).localeCompare(t)===0:!1}function a(n,t){var i=n||"";return i[i.length-1]!=="/"&&(i+="/"),t&&(i+=t[0]==="/"?t.substr(1):t),i}function ri(n,t,i){var r,u;if(n.paths){t.paths||(t.paths={});for(r in n.paths)n.paths.hasOwnProperty(r)&&(u=n.paths[r],i&&(u=i(r,n.paths[r])),u&&(t.paths[r]=u))}}function st(n,t){if(n.shim){t.shim||(t.shim={});for(var i in n.shim)n.shim.hasOwnProperty(i)&&(t.shim[i]=n.shim[i])}}function ui(n){var r=n.account||n.host,t=r.uri,i=r.relativeUri;return t&&i&&(t[t.length-1]!=="/"&&(t+="/"),i[i.length-1]!=="/"&&(i+="/"),t=t.substr(0,t.length-i.length)),t}function v(n,t,i){var f=this,r,u;if(t>=n.length){i.call(this);return}r=document.createElement("script");r.type="text/javascript";n[t].source?(u=n[t].source,r.src=u,r.addEventListener("load",function(){v.call(f,n,t+1,i)}),r.addEventListener("error",function(){it("Failed to load script: "+u)}),y(r,"head")):n[t].content&&(r.textContent=n[t].content,y(r,"head"),v.call(this,n,t+1,i))}function y(n,t){var i=document.getElementsByTagName(t)[0];i||(i=document.createElement(t),document.appendChild(i));i.appendChild(n)}function s(n,t){var i=(n||"").toLowerCase();return i.substr(0,2)!=="//"&&i.substr(0,5)!=="http:"&&i.substr(0,6)!=="https:"&&(n=t+(i[0]==="/"?"":"/")+n),n}function p(){var t=this,n;o=!0;u&&(n=u,u=null,n.forEach(function(n){n.call(t)}))}var lt;n.VssSDKVersion=2;n.VssSDKRestVersion="2.2";var e,w,t,h,b,k,i,c=!1,f,l,o=!1,u,r=XDM.XDMChannelManager.get().addChannel(window.parent),d=function(){function n(){}return Object.defineProperties(n.prototype,{getItem:{get:function(){return function(n){var t=this[""+n];return typeof t=="undefined"?null:t}}},setItem:{get:function(){return function(n,t){this[""+n]=""+t}}},removeItem:{get:function(){return function(n){delete this[""+n]}}},clear:{get:function(){return function(){for(var i,n=0,t=Object.keys(this);n0){var t=this._resolveCallbacks.splice(0);window.setTimeout(function(){for(var i=0,r=t.length;i0){var t=this._rejectCallbacks.splice(0);window.setTimeout(function(){for(var i=0,r=t.length;it.MAX_XDM_DEPTH)||this._shouldSkipSerialization(n))return null;if(a=function(t,e,o){var s,c,l,a,v;try{s=t[o]}catch(y){}(c=typeof s,c!=="undefined")&&(l=-1,c==="object"&&(l=r.originalObjects.indexOf(s)),l>=0?(a=r.newObjects[l],a.__circularReferenceId||(a.__circularReferenceId=u++),e[o]={__circularReference:a.__circularReferenceId}):c==="function"?(v=h._nextProxyFunctionId++,e[o]={__proxyFunctionId:h._registerProxyFunction(s,n),__channelId:h._channelId}):c==="object"?e[o]=s&&s instanceof Date?{__proxyDate:s.getTime()}:h._customSerializeObject(s,i,r,u,f+1):o!=="__proxyFunctionId"&&(e[o]=s))},r||(r={newObjects:[],originalObjects:[]}),r.originalObjects.push(n),n instanceof Array)for(o=[],r.newObjects.push(o),e=0,c=n.length;e0&&(f=!0);lt=!0;f&&tt()}e||a?ht():w()})},0)}function tt(){var n={localStorage:JSON.stringify(u||{})};i.invokeRemoteMethod("updateSandboxedStorage","VSS.HostControl",[n])}function pt(n,t){var i;i=typeof n=="string"?[n]:n;t||(t=function(){});l?it(i,t):(r?e||(e=!0,s&&(s=!1,ht())):nt({usePlatformScripts:!0}),rt(function(){it(i,t)}))}function it(n,i){t.diagnostics.bundlingEnabled?window.require(["VSS/Bundling"],function(t){t.requireModules(n,i)}):window.require(n,i)}function rt(n){s?window.setTimeout(n,0):(f||(f=[]),f.push(n))}function wt(){i.invokeRemoteMethod("notifyLoadSucceeded","VSS.HostControl")}function ut(n){i.invokeRemoteMethod("notifyLoadFailed","VSS.HostControl",[n])}function ft(){return b}function bt(){return k}function et(){return c}function kt(){return d}function dt(n,t){return ot(n).then(function(n){return t||(t={}),t.webContext||(t.webContext=ft()),t.extensionContext||(t.extensionContext=et()),n.getInstance(n.id,t)})}function ot(t){var r=XDM.createDeferred();return n.ready(function(){i.invokeRemoteMethod("getServiceContribution","vss.hostManagement",[t]).then(function(n){var t=n;t.getInstance=function(t,i){return st(n,t,i)};r.resolve(t)},r.reject)}),r.promise}function gt(t){var r=XDM.createDeferred();return n.ready(function(){i.invokeRemoteMethod("getContributionsForTarget","vss.hostManagement",[t]).then(function(n){var t=[];n.forEach(function(n){var i=n;i.getInstance=function(t,i){return st(n,t,i)};t.push(i)});r.resolve(t)},r.reject)}),r.promise}function st(t,r,u){var f=XDM.createDeferred();return n.ready(function(){i.invokeRemoteMethod("getBackgroundContributionInstance","vss.hostManagement",[t,r,u]).then(f.resolve,f.reject)}),f.promise}function ni(n,t){i.getObjectRegistry().register(n,t)}function ti(n,t){return i.getObjectRegistry().getInstance(n,t)}function ii(){return i.invokeRemoteMethod("getAccessToken","VSS.HostControl")}function ri(){return i.invokeRemoteMethod("getAppToken","VSS.HostControl")}function ui(){o||(o=document.getElementsByTagName("body").item(0));i.invokeRemoteMethod("resize","VSS.HostControl",[o.scrollWidth,o.scrollHeight])}function ht(){var i=oi(t.webContext),f,g,n,s,o,b,k,nt,tt,d,u;if(window.__vssPageContext=t,window.__cultureInfo=t.microsoftAjaxConfig.cultureInfo,a!==!1&&t.coreReferences.stylesheets&&t.coreReferences.stylesheets.forEach(function(n){if(n.isCoreStylesheet){var t=document.createElement("link");t.href=h(n.url,i);t.rel="stylesheet";p(t,"head")}}),!e){l=!0;w();return}if(f=[],g=!1,t.coreReferences.scripts&&(t.coreReferences.scripts.forEach(function(n){if(n.isCoreModule){var r=!1,t=window;n.identifier==="JQuery"?r=!!t.jQuery:n.identifier==="JQueryUI"?r=!!(t.jQuery&&t.jQuery.ui&&t.jQuery.ui.version):n.identifier==="AMDLoader"&&(r=typeof t.define=="function"&&!!t.define.amd);r?g=!0:f.push({source:h(n.url,i)})}}),t.coreReferences.coreScriptsBundle&&!g&&(f=[{source:h(t.coreReferences.coreScriptsBundle.url,i)}]),t.coreReferences.extensionCoreReferences&&f.push({source:h(t.coreReferences.extensionCoreReferences.url,i)})),n={baseUrl:c.baseUri,contributionPaths:null,paths:{},shim:{}},r.moduleLoaderConfig&&(r.moduleLoaderConfig.baseUrl&&(n.baseUrl=r.moduleLoaderConfig.baseUrl),ei(r.moduleLoaderConfig,n),ct(r.moduleLoaderConfig,n)),t.moduleLoaderConfig&&(ct(t.moduleLoaderConfig,n),s=t.moduleLoaderConfig.contributionPaths,s))for(o in s)if(s.hasOwnProperty(o)&&!n.paths[o]&&(b=s[o].value,n.paths[o]=b.match("^https?://")?b:i+b,k=t.moduleLoaderConfig.paths,k)){nt=o+"/";tt=v(i,t.moduleLoaderConfig.baseUrl);for(d in k)fi(d,nt)&&(u=k[d],u.match("^https?://")||(u=u[0]==="/"?v(i,u):v(tt,u)),n.paths[d]=u)}window.__vssModuleLoaderConfig=n;f.push({content:"require.config("+JSON.stringify(n)+");"});y(f,0,function(){l=!0;w()})}function fi(n,t){return n&&n.length>=t.length?n.substr(0,t.length).localeCompare(t)===0:!1}function v(n,t){var i=n||"";return i[i.length-1]!=="/"&&(i+="/"),t&&(i+=t[0]==="/"?t.substr(1):t),i}function ei(n,t,i){var r,u;if(n.paths){t.paths||(t.paths={});for(r in n.paths)n.paths.hasOwnProperty(r)&&(u=n.paths[r],i&&(u=i(r,n.paths[r])),u&&(t.paths[r]=u))}}function ct(n,t){if(n.shim){t.shim||(t.shim={});for(var i in n.shim)n.shim.hasOwnProperty(i)&&(t.shim[i]=n.shim[i])}}function oi(n){var r=n.account||n.host,t=r.uri,i=r.relativeUri;return t&&i&&(t[t.length-1]!=="/"&&(t+="/"),i[i.length-1]!=="/"&&(i+="/"),t=t.substr(0,t.length-i.length)),t}function y(n,t,i){var f=this,r,u;if(t>=n.length){i.call(this);return}r=document.createElement("script");r.type="text/javascript";n[t].source?(u=n[t].source,r.src=u,r.addEventListener("load",function(){y.call(f,n,t+1,i)}),r.addEventListener("error",function(){ut("Failed to load script: "+u)}),p(r,"head")):n[t].content&&(r.textContent=n[t].content,p(r,"head"),y.call(this,n,t+1,i))}function p(n,t){var i=document.getElementsByTagName(t)[0];i||(i=document.createElement(t),document.appendChild(i));i.appendChild(n)}function h(n,t){var i=(n||"").toLowerCase();return i.substr(0,2)!=="//"&&i.substr(0,5)!=="http:"&&i.substr(0,6)!=="https:"&&(n=t+(i[0]==="/"?"":"/")+n),n}function w(){var t=this,n;s=!0;f&&(n=f,f=null,n.forEach(function(n){n.call(t)}))}var yt;n.VssSDKVersion=2;n.VssSDKRestVersion="2.2";var o,b,t,c,k,d,r,l=!1,e,a,s=!1,f,i=XDM.XDMChannelManager.get().addChannel(window.parent),u,lt=!1,g=function(){function n(){t&&t.call(this)}function i(){}var t;return Object.defineProperties(i.prototype,{getItem:{get:function(){return function(n){var t=this[""+n];return typeof t=="undefined"?null:t}}},setItem:{get:function(){return function(t,i){t=""+t;var u=this[t],r=""+i;u!==r&&(this[t]=r,n())}}},removeItem:{get:function(){return function(t){t=""+t;typeof this[t]!="undefined"&&(delete this[t],n())}}},clear:{get:function(){return function(){var r=Object.keys(this),t,i,u;if(r.length>0){for(t=0,i=r;t /// @@ -30,6 +30,8 @@ export module RunOptionsConstants { var EnvironmentOwnerEmailNotificationValueTypeOnlyOnFailure: string; var EnvironmentOwnerEmailNotificationValueNever: string; var EnvironmentOwnerEmailNotificationTypeDefaultValue: string; + var ReleaseCreator: string; + var EnvironmentOwner: string; } export module WellKnownReleaseVariables { var System: string; @@ -38,6 +40,7 @@ export module WellKnownReleaseVariables { var ReleaseArtifact: string; var ReleaseEnvironments: string; var AgentReleaseDirectory: string; + var EnableAccessTokenVariableName: string; var HostType: string; var ArtifactsDirectory: string; var CollectionId: string; @@ -48,6 +51,7 @@ export module WellKnownReleaseVariables { var ReleaseName: string; var ReleaseDescription: string; var ReleaseDefinitionName: string; + var ReleaseDefinitionId: string; var ReleaseUri: string; var ReleaseWebUrl: string; var ReleaseEnvironmentUri: string; @@ -58,6 +62,7 @@ export module WellKnownReleaseVariables { var Status: string; var ArtifactType: string; var DefinitionName: string; + var DefinitionId: string; var DefinitionVersion: string; var QueuedBy: string; var QueuedById: string; @@ -126,6 +131,7 @@ export interface Artifact { }; id: number; isPrimary: boolean; + sourceId: string; type: string; } export interface ArtifactInstanceData { @@ -165,10 +171,12 @@ export interface ArtifactTypeDefinition { displayName: string; inputDescriptors: VSS_FormInput_Contracts.InputDescriptor[]; name: string; + uniqueSourceIdentifier: string; } export interface ArtifactVersion { artifactSourceId: number; errorMessage: string; + sourceId: string; versions: BuildVersion[]; } export interface ArtifactVersionQueryResult { @@ -287,6 +295,8 @@ export interface EnvironmentExecutionPolicy { } export interface EnvironmentOptions { emailNotificationType: string; + emailRecipients: string; + enableAccessToken: boolean; skipArtifactsDownload: boolean; timeoutInMinutes: number; } @@ -532,6 +542,7 @@ export interface ReleaseEnvironment { id: number; modifiedOn: Date; name: string; + nextScheduledUtcTime: Date; owner: VSS_Common_Contracts.IdentityRef; postApprovalsSnapshot: ReleaseDefinitionApprovals; postDeployApprovals: ReleaseApproval[]; @@ -681,6 +692,7 @@ export interface ReleaseTaskLogUpdatedEvent extends RealtimeReleaseEvent { export interface ReleaseTasksUpdatedEvent extends RealtimeReleaseEvent { environmentId: number; job: ReleaseTask; + releaseDeployPhaseId: number; releaseStepId: number; tasks: ReleaseTask[]; } @@ -1172,6 +1184,24 @@ export var TypeInfo: { declare module "ReleaseManagement/Core/ExtensionContracts" { import RMContracts = require("ReleaseManagement/Core/Contracts"); /** +* The type of object to be used when contributing a link. linkId field will be used as an argument to onLickClicked callback. +*/ +export interface IContributionHtmlLink { + linkId: string; + onLinkClicked: (linkId: string) => void; +} +export interface IContributionHtmlSpanData { + text: string; + foregroundColor: string; + link: IContributionHtmlLink; +} +/** +* The type of object to be used when contributing a hypertext string with link. +*/ +export interface IContributionHtmlData { + spanItems: IContributionHtmlSpanData[]; +} +/** * Interface defining the configuration that is shared between extension targeted at "ms.vss-releaseManagement-web.release-details-view" and the host */ export interface IReleaseViewExtensionConfig { @@ -1191,16 +1221,31 @@ export interface IReleaseViewExtensionConfig { */ selectTab: (tabId: string) => void; } +export interface IReleaseEnvironmentsSummaryDataExtension { + /** + * Required if reacting to the current release. RM will call this function whenever it paints environments summary section for a given release. + */ + onReleaseChanged: (release: RMContracts.Release) => IPromise<{ + [environmentId: number]: IContributionHtmlData; + }>; +} +export interface IReleaseEnvironmentsSummaryDataExtensionConfig { + /** + * Optional, for a given tab id, which is essentially contribution id, + * the corresponding tab is selected if the tab is visible. + */ + selectTab: (tabId: string, additionalUrlParams?: { + [key: string]: string; + }) => void; +} } declare module "ReleaseManagement/Core/RestClient" { import Contracts = require("ReleaseManagement/Core/Contracts"); import VSS_FormInput_Contracts = require("VSS/Common/Contracts/FormInput"); import VSS_WebApi = require("VSS/WebApi/RestClient"); -/** - * @exemptedapi - */ -export class ReleaseHttpClient3 extends VSS_WebApi.VssHttpClient { +export class CommonMethods2To3 extends VSS_WebApi.VssHttpClient { static serviceInstanceId: string; + protected agentartifactsApiVersion: string; constructor(rootRequestPath: string, options?: VSS_WebApi.IVssHttpClientOptions); /** * [Preview API] Returns the artifact details that automation agent requires @@ -1210,182 +1255,197 @@ export class ReleaseHttpClient3 extends VSS_WebApi.VssHttpClient { * @return IPromise */ getAgentArtifactDefinitions(project: string, releaseId: number): IPromise; +} +export class CommonMethods2_2To3 extends CommonMethods2To3 { + protected approvalsApiVersion: string; + protected approvalsApiVersion_250c7158: string; + protected approvalsApiVersion_9328e074: string; + protected changesApiVersion: string; + protected definitionsApiVersion: string; + protected environmentsApiVersion: string; + protected environmenttemplatesApiVersion: string; + protected historyApiVersion: string; + protected inputvaluesqueryApiVersion: string; + protected logsApiVersion: string; + protected logsApiVersion_c37fbab5: string; + protected releasesApiVersion: string; + protected revisionsApiVersion: string; + protected sendmailApiVersion: string; + protected sourcesApiVersion: string; + protected tasksApiVersion: string; + protected typesApiVersion: string; + protected versionsApiVersion: string; + protected workitemsApiVersion: string; + constructor(rootRequestPath: string, options?: VSS_WebApi.IVssHttpClientOptions); /** * [Preview API] * * @param {string} project - Project ID or project name - * @param {number} approvalStepId - * @return IPromise + * @param {number} releaseId + * @param {number} baseReleaseId + * @param {number} top + * @return IPromise */ - getApprovalHistory(project: string, approvalStepId: number): IPromise; + getReleaseWorkItemsRefs(project: string, releaseId: number, baseReleaseId?: number, top?: number): IPromise; /** * [Preview API] * + * @param {Contracts.Artifact[]} artifacts * @param {string} project - Project ID or project name - * @param {number} approvalId - * @param {boolean} includeHistory - * @return IPromise + * @return IPromise */ - getApproval(project: string, approvalId: number, includeHistory?: boolean): IPromise; + getArtifactVersionsForSources(artifacts: Contracts.Artifact[], project: string): IPromise; /** * [Preview API] * - * @param {Contracts.ReleaseApproval} approval * @param {string} project - Project ID or project name - * @param {number} approvalId - * @return IPromise + * @param {number} releaseDefinitionId + * @return IPromise */ - updateReleaseApproval(approval: Contracts.ReleaseApproval, project: string, approvalId: number): IPromise; + getArtifactVersions(project: string, releaseDefinitionId: number): IPromise; /** * [Preview API] * * @param {string} project - Project ID or project name - * @param {string} assignedToFilter - * @param {Contracts.ApprovalStatus} statusFilter - * @param {number[]} releaseIdsFilter - * @param {Contracts.ApprovalType} typeFilter - * @param {number} top - * @param {number} continuationToken - * @param {Contracts.ReleaseQueryOrder} queryOrder - * @param {boolean} includeMyGroupApprovals - * @return IPromise + * @return IPromise */ - getApprovals(project: string, assignedToFilter?: string, statusFilter?: Contracts.ApprovalStatus, releaseIdsFilter?: number[], typeFilter?: Contracts.ApprovalType, top?: number, continuationToken?: number, queryOrder?: Contracts.ReleaseQueryOrder, includeMyGroupApprovals?: boolean): IPromise; + getArtifactTypeDefinitions(project: string): IPromise; /** * [Preview API] * * @param {string} project - Project ID or project name * @param {number} releaseId - * @param {number} baseReleaseId - * @param {number} top - * @return IPromise + * @param {number} environmentId + * @param {number} attemptId + * @return IPromise */ - getReleaseChanges(project: string, releaseId: number, baseReleaseId?: number, top?: number): IPromise; + getTasks(project: string, releaseId: number, environmentId: number, attemptId?: number): IPromise; /** * [Preview API] * - * @param {Contracts.ReleaseDefinition} releaseDefinition * @param {string} project - Project ID or project name - * @return IPromise + * @param {string} typeId + * @return IPromise */ - createReleaseDefinition(releaseDefinition: Contracts.ReleaseDefinition, project: string): IPromise; + getArtifactsSources(project: string, typeId?: string): IPromise; /** * [Preview API] * + * @param {Contracts.MailMessage} mailMessage * @param {string} project - Project ID or project name - * @param {number} definitionId + * @param {number} releaseId * @return IPromise */ - deleteReleaseDefinition(project: string, definitionId: number): IPromise; - /** - * [Preview API] - * - * @param {string} project - Project ID or project name - * @param {number} definitionId - * @return IPromise - */ - getReleaseDefinition(project: string, definitionId: number): IPromise; + sendSummaryMail(mailMessage: Contracts.MailMessage, project: string, releaseId: number): IPromise; /** * [Preview API] * * @param {string} project - Project ID or project name - * @param {string} searchText - * @param {Contracts.ReleaseDefinitionExpands} expand - * @return IPromise + * @param {number} releaseId + * @return IPromise */ - getReleaseDefinitions(project: string, searchText?: string, expand?: Contracts.ReleaseDefinitionExpands): IPromise; + getSummaryMailSections(project: string, releaseId: number): IPromise; /** * [Preview API] * * @param {string} project - Project ID or project name - * @param {string} artifactType - * @param {string} artifactSourceId - * @param {Contracts.ReleaseDefinitionExpands} expand - * @return IPromise + * @param {number} definitionId + * @param {number} revision + * @return IPromise */ - getReleaseDefinitionsForArtifactSource(project: string, artifactType: string, artifactSourceId: string, expand?: Contracts.ReleaseDefinitionExpands): IPromise; + getReleaseDefinitionRevision(project: string, definitionId: number, revision: number): IPromise; /** * [Preview API] * - * @param {Contracts.ReleaseDefinition} releaseDefinition * @param {string} project - Project ID or project name - * @return IPromise + * @param {number} definitionId + * @return IPromise */ - updateReleaseDefinition(releaseDefinition: Contracts.ReleaseDefinition, project: string): IPromise; + getReleaseDefinitionHistory(project: string, definitionId: number): IPromise; /** * [Preview API] * + * @param {Contracts.ReleaseUpdateMetadata} releaseUpdateMetadata * @param {string} project - Project ID or project name * @param {number} releaseId - * @param {number} environmentId - * @return IPromise + * @return IPromise */ - getReleaseEnvironment(project: string, releaseId: number, environmentId: number): IPromise; + updateReleaseResource(releaseUpdateMetadata: Contracts.ReleaseUpdateMetadata, project: string, releaseId: number): IPromise; /** * [Preview API] * - * @param {Contracts.ReleaseEnvironmentUpdateMetadata} environmentUpdateData + * @param {Contracts.Release} release * @param {string} project - Project ID or project name * @param {number} releaseId - * @param {number} environmentId - * @return IPromise - */ - updateReleaseEnvironment(environmentUpdateData: Contracts.ReleaseEnvironmentUpdateMetadata, project: string, releaseId: number, environmentId: number): IPromise; - /** - * [Preview API] - * - * @param {Contracts.ReleaseDefinitionEnvironmentTemplate} template - * @param {string} project - Project ID or project name - * @return IPromise + * @return IPromise */ - createDefinitionEnvironmentTemplate(template: Contracts.ReleaseDefinitionEnvironmentTemplate, project: string): IPromise; + updateRelease(release: Contracts.Release, project: string, releaseId: number): IPromise; /** * [Preview API] * * @param {string} project - Project ID or project name - * @param {string} templateId - * @return IPromise + * @param {number} definitionId + * @param {number} definitionEnvironmentId + * @param {string} searchText + * @param {string} createdBy + * @param {Contracts.ReleaseStatus} statusFilter + * @param {number} environmentStatusFilter + * @param {Date} minCreatedTime + * @param {Date} maxCreatedTime + * @param {Contracts.ReleaseQueryOrder} queryOrder + * @param {number} top + * @param {number} continuationToken + * @param {Contracts.ReleaseExpands} expand + * @param {string} artifactTypeId + * @param {string} sourceId + * @param {string} artifactVersionId + * @return IPromise */ - deleteDefinitionEnvironmentTemplate(project: string, templateId: string): IPromise; + getReleases(project: string, definitionId?: number, definitionEnvironmentId?: number, searchText?: string, createdBy?: string, statusFilter?: Contracts.ReleaseStatus, environmentStatusFilter?: number, minCreatedTime?: Date, maxCreatedTime?: Date, queryOrder?: Contracts.ReleaseQueryOrder, top?: number, continuationToken?: number, expand?: Contracts.ReleaseExpands, artifactTypeId?: string, sourceId?: string, artifactVersionId?: string): IPromise; /** * [Preview API] * * @param {string} project - Project ID or project name - * @param {string} templateId - * @return IPromise + * @param {number} releaseId + * @param {number} definitionSnapshotRevision + * @return IPromise */ - getDefinitionEnvironmentTemplate(project: string, templateId: string): IPromise; + getReleaseRevision(project: string, releaseId: number, definitionSnapshotRevision: number): IPromise; /** * [Preview API] * * @param {string} project - Project ID or project name - * @return IPromise + * @param {number} definitionId + * @param {number} releaseCount + * @param {boolean} includeArtifact + * @return IPromise */ - listDefinitionEnvironmentTemplates(project: string): IPromise; + getReleaseDefinitionSummary(project: string, definitionId: number, releaseCount: number, includeArtifact?: boolean): IPromise; /** * [Preview API] * * @param {string} project - Project ID or project name * @param {number} releaseId - * @return IPromise + * @param {boolean} includeAllApprovals + * @return IPromise */ - getReleaseHistory(project: string, releaseId: number): IPromise; + getRelease(project: string, releaseId: number, includeAllApprovals?: boolean): IPromise; /** * [Preview API] * - * @param {VSS_FormInput_Contracts.InputValuesQuery} query * @param {string} project - Project ID or project name - * @return IPromise + * @param {number} releaseId + * @return IPromise */ - getInputValues(query: VSS_FormInput_Contracts.InputValuesQuery, project: string): IPromise; + deleteRelease(project: string, releaseId: number): IPromise; /** * [Preview API] * + * @param {Contracts.ReleaseStartMetadata} releaseStartMetadata * @param {string} project - Project ID or project name - * @param {number} releaseId - * @return IPromise + * @return IPromise */ - getLogs(project: string, releaseId: number): IPromise; + createRelease(releaseStartMetadata: Contracts.ReleaseStartMetadata, project: string): IPromise; /** * [Preview API] * @@ -1400,162 +1460,128 @@ export class ReleaseHttpClient3 extends VSS_WebApi.VssHttpClient { /** * [Preview API] * - * @param {Contracts.ReleaseStartMetadata} releaseStartMetadata * @param {string} project - Project ID or project name - * @return IPromise + * @param {number} releaseId + * @return IPromise */ - createRelease(releaseStartMetadata: Contracts.ReleaseStartMetadata, project: string): IPromise; + getLogs(project: string, releaseId: number): IPromise; /** * [Preview API] * + * @param {VSS_FormInput_Contracts.InputValuesQuery} query * @param {string} project - Project ID or project name - * @param {number} releaseId - * @return IPromise + * @return IPromise */ - deleteRelease(project: string, releaseId: number): IPromise; + getInputValues(query: VSS_FormInput_Contracts.InputValuesQuery, project: string): IPromise; /** * [Preview API] * * @param {string} project - Project ID or project name * @param {number} releaseId - * @param {boolean} includeAllApprovals - * @return IPromise + * @return IPromise */ - getRelease(project: string, releaseId: number, includeAllApprovals?: boolean): IPromise; + getReleaseHistory(project: string, releaseId: number): IPromise; /** * [Preview API] * * @param {string} project - Project ID or project name - * @param {number} definitionId - * @param {number} releaseCount - * @param {boolean} includeArtifact - * @return IPromise + * @return IPromise */ - getReleaseDefinitionSummary(project: string, definitionId: number, releaseCount: number, includeArtifact?: boolean): IPromise; + listDefinitionEnvironmentTemplates(project: string): IPromise; /** * [Preview API] * * @param {string} project - Project ID or project name - * @param {number} releaseId - * @param {number} definitionSnapshotRevision - * @return IPromise + * @param {string} templateId + * @return IPromise */ - getReleaseRevision(project: string, releaseId: number, definitionSnapshotRevision: number): IPromise; + getDefinitionEnvironmentTemplate(project: string, templateId: string): IPromise; /** * [Preview API] * * @param {string} project - Project ID or project name - * @param {number} definitionId - * @param {number} definitionEnvironmentId - * @param {string} searchText - * @param {string} createdBy - * @param {Contracts.ReleaseStatus} statusFilter - * @param {number} environmentStatusFilter - * @param {Date} minCreatedTime - * @param {Date} maxCreatedTime - * @param {Contracts.ReleaseQueryOrder} queryOrder - * @param {number} top - * @param {number} continuationToken - * @param {Contracts.ReleaseExpands} expand - * @param {string} artifactTypeId - * @param {number} artifactSourceId - * @param {string} artifactVersionId - * @return IPromise + * @param {string} templateId + * @return IPromise */ - getReleases(project: string, definitionId?: number, definitionEnvironmentId?: number, searchText?: string, createdBy?: string, statusFilter?: Contracts.ReleaseStatus, environmentStatusFilter?: number, minCreatedTime?: Date, maxCreatedTime?: Date, queryOrder?: Contracts.ReleaseQueryOrder, top?: number, continuationToken?: number, expand?: Contracts.ReleaseExpands, artifactTypeId?: string, artifactSourceId?: number, artifactVersionId?: string): IPromise; + deleteDefinitionEnvironmentTemplate(project: string, templateId: string): IPromise; /** * [Preview API] * - * @param {Contracts.Release} release + * @param {Contracts.ReleaseDefinitionEnvironmentTemplate} template * @param {string} project - Project ID or project name - * @param {number} releaseId - * @return IPromise + * @return IPromise */ - updateRelease(release: Contracts.Release, project: string, releaseId: number): IPromise; + createDefinitionEnvironmentTemplate(template: Contracts.ReleaseDefinitionEnvironmentTemplate, project: string): IPromise; /** * [Preview API] * - * @param {Contracts.ReleaseUpdateMetadata} releaseUpdateMetadata + * @param {Contracts.ReleaseEnvironmentUpdateMetadata} environmentUpdateData * @param {string} project - Project ID or project name * @param {number} releaseId - * @return IPromise + * @param {number} environmentId + * @return IPromise */ - updateReleaseResource(releaseUpdateMetadata: Contracts.ReleaseUpdateMetadata, project: string, releaseId: number): IPromise; + updateReleaseEnvironment(environmentUpdateData: Contracts.ReleaseEnvironmentUpdateMetadata, project: string, releaseId: number, environmentId: number): IPromise; /** * [Preview API] * * @param {string} project - Project ID or project name - * @param {number} definitionId - * @return IPromise + * @param {number} releaseId + * @param {number} environmentId + * @return IPromise */ - getReleaseDefinitionHistory(project: string, definitionId: number): IPromise; + getReleaseEnvironment(project: string, releaseId: number, environmentId: number): IPromise; /** * [Preview API] * + * @param {Contracts.ReleaseDefinition} releaseDefinition * @param {string} project - Project ID or project name - * @param {number} definitionId - * @param {number} revision - * @return IPromise + * @return IPromise */ - getReleaseDefinitionRevision(project: string, definitionId: number, revision: number): IPromise; + updateReleaseDefinition(releaseDefinition: Contracts.ReleaseDefinition, project: string): IPromise; /** * [Preview API] * * @param {string} project - Project ID or project name - * @param {number} releaseId - * @return IPromise - */ - getSummaryMailSections(project: string, releaseId: number): IPromise; - /** - * [Preview API] - * - * @param {Contracts.MailMessage} mailMessage - * @param {string} project - Project ID or project name - * @param {number} releaseId - * @return IPromise - */ - sendSummaryMail(mailMessage: Contracts.MailMessage, project: string, releaseId: number): IPromise; - /** - * [Preview API] - * - * @param {string} project - Project ID or project name - * @param {string} typeId - * @return IPromise + * @param {string} artifactType + * @param {string} artifactSourceId + * @param {Contracts.ReleaseDefinitionExpands} expand + * @return IPromise */ - getArtifactsSources(project: string, typeId?: string): IPromise; + getReleaseDefinitionsForArtifactSource(project: string, artifactType: string, artifactSourceId: string, expand?: Contracts.ReleaseDefinitionExpands): IPromise; /** * [Preview API] * * @param {string} project - Project ID or project name - * @param {number} releaseId - * @param {number} environmentId - * @param {number} attemptId - * @return IPromise + * @param {string} searchText + * @param {Contracts.ReleaseDefinitionExpands} expand + * @return IPromise */ - getTasks(project: string, releaseId: number, environmentId: number, attemptId?: number): IPromise; + getReleaseDefinitions(project: string, searchText?: string, expand?: Contracts.ReleaseDefinitionExpands): IPromise; /** * [Preview API] * * @param {string} project - Project ID or project name - * @return IPromise + * @param {number} definitionId + * @return IPromise */ - getArtifactTypeDefinitions(project: string): IPromise; + getReleaseDefinition(project: string, definitionId: number): IPromise; /** * [Preview API] * * @param {string} project - Project ID or project name - * @param {number} releaseDefinitionId - * @return IPromise + * @param {number} definitionId + * @return IPromise */ - getArtifactVersions(project: string, releaseDefinitionId: number): IPromise; + deleteReleaseDefinition(project: string, definitionId: number): IPromise; /** * [Preview API] * - * @param {Contracts.Artifact[]} artifacts + * @param {Contracts.ReleaseDefinition} releaseDefinition * @param {string} project - Project ID or project name - * @return IPromise + * @return IPromise */ - getArtifactVersionsForSources(artifacts: Contracts.Artifact[], project: string): IPromise; + createReleaseDefinition(releaseDefinition: Contracts.ReleaseDefinition, project: string): IPromise; /** * [Preview API] * @@ -1563,50 +1589,9 @@ export class ReleaseHttpClient3 extends VSS_WebApi.VssHttpClient { * @param {number} releaseId * @param {number} baseReleaseId * @param {number} top - * @return IPromise - */ - getReleaseWorkItemsRefs(project: string, releaseId: number, baseReleaseId?: number, top?: number): IPromise; -} -/** - * @exemptedapi - */ -export class ReleaseHttpClient2_2 extends VSS_WebApi.VssHttpClient { - static serviceInstanceId: string; - constructor(rootRequestPath: string, options?: VSS_WebApi.IVssHttpClientOptions); - /** - * [Preview API] Returns the artifact details that automation agent requires - * - * @param {string} project - Project ID or project name - * @param {number} releaseId - * @return IPromise - */ - getAgentArtifactDefinitions(project: string, releaseId: number): IPromise; - /** - * [Preview API] - * - * @param {string} project - Project ID or project name - * @param {number} approvalStepId - * @return IPromise - */ - getApprovalHistory(project: string, approvalStepId: number): IPromise; - /** - * [Preview API] - * - * @param {string} project - Project ID or project name - * @param {number} approvalId - * @param {boolean} includeHistory - * @return IPromise - */ - getApproval(project: string, approvalId: number, includeHistory?: boolean): IPromise; - /** - * [Preview API] - * - * @param {Contracts.ReleaseApproval} approval - * @param {string} project - Project ID or project name - * @param {number} approvalId - * @return IPromise + * @return IPromise */ - updateReleaseApproval(approval: Contracts.ReleaseApproval, project: string, approvalId: number): IPromise; + getReleaseChanges(project: string, releaseId: number, baseReleaseId?: number, top?: number): IPromise; /** * [Preview API] * @@ -1625,318 +1610,41 @@ export class ReleaseHttpClient2_2 extends VSS_WebApi.VssHttpClient { /** * [Preview API] * + * @param {Contracts.ReleaseApproval} approval * @param {string} project - Project ID or project name - * @param {number} releaseId - * @param {number} baseReleaseId - * @param {number} top - * @return IPromise - */ - getReleaseChanges(project: string, releaseId: number, baseReleaseId?: number, top?: number): IPromise; - /** - * [Preview API] - * - * @param {Contracts.ReleaseDefinition} releaseDefinition - * @param {string} project - Project ID or project name - * @return IPromise - */ - createReleaseDefinition(releaseDefinition: Contracts.ReleaseDefinition, project: string): IPromise; - /** - * [Preview API] - * - * @param {string} project - Project ID or project name - * @param {number} definitionId - * @return IPromise - */ - deleteReleaseDefinition(project: string, definitionId: number): IPromise; - /** - * [Preview API] - * - * @param {string} project - Project ID or project name - * @param {number} definitionId - * @return IPromise - */ - getReleaseDefinition(project: string, definitionId: number): IPromise; - /** - * [Preview API] - * - * @param {string} project - Project ID or project name - * @param {string} searchText - * @param {Contracts.ReleaseDefinitionExpands} expand - * @return IPromise - */ - getReleaseDefinitions(project: string, searchText?: string, expand?: Contracts.ReleaseDefinitionExpands): IPromise; - /** - * [Preview API] - * - * @param {string} project - Project ID or project name - * @param {string} artifactType - * @param {string} artifactSourceId - * @param {Contracts.ReleaseDefinitionExpands} expand - * @return IPromise - */ - getReleaseDefinitionsForArtifactSource(project: string, artifactType: string, artifactSourceId: string, expand?: Contracts.ReleaseDefinitionExpands): IPromise; - /** - * [Preview API] - * - * @param {Contracts.ReleaseDefinition} releaseDefinition - * @param {string} project - Project ID or project name - * @return IPromise - */ - updateReleaseDefinition(releaseDefinition: Contracts.ReleaseDefinition, project: string): IPromise; - /** - * [Preview API] - * - * @param {string} project - Project ID or project name - * @param {number} releaseId - * @param {number} environmentId - * @return IPromise - */ - getReleaseEnvironment(project: string, releaseId: number, environmentId: number): IPromise; - /** - * [Preview API] - * - * @param {Contracts.ReleaseEnvironmentUpdateMetadata} environmentUpdateData - * @param {string} project - Project ID or project name - * @param {number} releaseId - * @param {number} environmentId - * @return IPromise - */ - updateReleaseEnvironment(environmentUpdateData: Contracts.ReleaseEnvironmentUpdateMetadata, project: string, releaseId: number, environmentId: number): IPromise; - /** - * [Preview API] - * - * @param {Contracts.ReleaseDefinitionEnvironmentTemplate} template - * @param {string} project - Project ID or project name - * @return IPromise - */ - createDefinitionEnvironmentTemplate(template: Contracts.ReleaseDefinitionEnvironmentTemplate, project: string): IPromise; - /** - * [Preview API] - * - * @param {string} project - Project ID or project name - * @param {string} templateId - * @return IPromise - */ - deleteDefinitionEnvironmentTemplate(project: string, templateId: string): IPromise; - /** - * [Preview API] - * - * @param {string} project - Project ID or project name - * @param {string} templateId - * @return IPromise - */ - getDefinitionEnvironmentTemplate(project: string, templateId: string): IPromise; - /** - * [Preview API] - * - * @param {string} project - Project ID or project name - * @return IPromise - */ - listDefinitionEnvironmentTemplates(project: string): IPromise; - /** - * [Preview API] - * - * @param {string} project - Project ID or project name - * @param {number} releaseId - * @return IPromise - */ - getReleaseHistory(project: string, releaseId: number): IPromise; - /** - * [Preview API] - * - * @param {VSS_FormInput_Contracts.InputValuesQuery} query - * @param {string} project - Project ID or project name - * @return IPromise - */ - getInputValues(query: VSS_FormInput_Contracts.InputValuesQuery, project: string): IPromise; - /** - * [Preview API] - * - * @param {string} project - Project ID or project name - * @param {number} releaseId - * @return IPromise - */ - getLogs(project: string, releaseId: number): IPromise; - /** - * [Preview API] - * - * @param {string} project - Project ID or project name - * @param {number} releaseId - * @param {number} environmentId - * @param {number} taskId - * @param {number} attemptId - * @return IPromise - */ - getLog(project: string, releaseId: number, environmentId: number, taskId: number, attemptId?: number): IPromise; - /** - * [Preview API] - * - * @param {Contracts.ReleaseStartMetadata} releaseStartMetadata - * @param {string} project - Project ID or project name - * @return IPromise - */ - createRelease(releaseStartMetadata: Contracts.ReleaseStartMetadata, project: string): IPromise; - /** - * [Preview API] - * - * @param {string} project - Project ID or project name - * @param {number} releaseId - * @return IPromise - */ - deleteRelease(project: string, releaseId: number): IPromise; - /** - * [Preview API] - * - * @param {string} project - Project ID or project name - * @param {number} releaseId - * @param {boolean} includeAllApprovals - * @return IPromise - */ - getRelease(project: string, releaseId: number, includeAllApprovals?: boolean): IPromise; - /** - * [Preview API] - * - * @param {string} project - Project ID or project name - * @param {number} definitionId - * @param {number} releaseCount - * @param {boolean} includeArtifact - * @return IPromise - */ - getReleaseDefinitionSummary(project: string, definitionId: number, releaseCount: number, includeArtifact?: boolean): IPromise; - /** - * [Preview API] - * - * @param {string} project - Project ID or project name - * @param {number} releaseId - * @param {number} definitionSnapshotRevision - * @return IPromise - */ - getReleaseRevision(project: string, releaseId: number, definitionSnapshotRevision: number): IPromise; - /** - * [Preview API] - * - * @param {string} project - Project ID or project name - * @param {number} definitionId - * @param {number} definitionEnvironmentId - * @param {string} searchText - * @param {string} createdBy - * @param {Contracts.ReleaseStatus} statusFilter - * @param {number} environmentStatusFilter - * @param {Date} minCreatedTime - * @param {Date} maxCreatedTime - * @param {Contracts.ReleaseQueryOrder} queryOrder - * @param {number} top - * @param {number} continuationToken - * @param {Contracts.ReleaseExpands} expand - * @param {string} artifactTypeId - * @param {number} artifactSourceId - * @param {string} artifactVersionId - * @return IPromise - */ - getReleases(project: string, definitionId?: number, definitionEnvironmentId?: number, searchText?: string, createdBy?: string, statusFilter?: Contracts.ReleaseStatus, environmentStatusFilter?: number, minCreatedTime?: Date, maxCreatedTime?: Date, queryOrder?: Contracts.ReleaseQueryOrder, top?: number, continuationToken?: number, expand?: Contracts.ReleaseExpands, artifactTypeId?: string, artifactSourceId?: number, artifactVersionId?: string): IPromise; - /** - * [Preview API] - * - * @param {Contracts.Release} release - * @param {string} project - Project ID or project name - * @param {number} releaseId - * @return IPromise - */ - updateRelease(release: Contracts.Release, project: string, releaseId: number): IPromise; - /** - * [Preview API] - * - * @param {Contracts.ReleaseUpdateMetadata} releaseUpdateMetadata - * @param {string} project - Project ID or project name - * @param {number} releaseId - * @return IPromise - */ - updateReleaseResource(releaseUpdateMetadata: Contracts.ReleaseUpdateMetadata, project: string, releaseId: number): IPromise; - /** - * [Preview API] - * - * @param {string} project - Project ID or project name - * @param {number} definitionId - * @return IPromise - */ - getReleaseDefinitionHistory(project: string, definitionId: number): IPromise; - /** - * [Preview API] - * - * @param {string} project - Project ID or project name - * @param {number} definitionId - * @param {number} revision - * @return IPromise - */ - getReleaseDefinitionRevision(project: string, definitionId: number, revision: number): IPromise; - /** - * [Preview API] - * - * @param {string} project - Project ID or project name - * @param {number} releaseId - * @return IPromise - */ - getSummaryMailSections(project: string, releaseId: number): IPromise; - /** - * [Preview API] - * - * @param {Contracts.MailMessage} mailMessage - * @param {string} project - Project ID or project name - * @param {number} releaseId - * @return IPromise - */ - sendSummaryMail(mailMessage: Contracts.MailMessage, project: string, releaseId: number): IPromise; - /** - * [Preview API] - * - * @param {string} project - Project ID or project name - * @param {string} typeId - * @return IPromise - */ - getArtifactsSources(project: string, typeId?: string): IPromise; - /** - * [Preview API] - * - * @param {string} project - Project ID or project name - * @param {number} releaseId - * @param {number} environmentId - * @param {number} attemptId - * @return IPromise - */ - getTasks(project: string, releaseId: number, environmentId: number, attemptId?: number): IPromise; - /** - * [Preview API] - * - * @param {string} project - Project ID or project name - * @return IPromise + * @param {number} approvalId + * @return IPromise */ - getArtifactTypeDefinitions(project: string): IPromise; + updateReleaseApproval(approval: Contracts.ReleaseApproval, project: string, approvalId: number): IPromise; /** * [Preview API] * * @param {string} project - Project ID or project name - * @param {number} releaseDefinitionId - * @return IPromise - */ - getArtifactVersions(project: string, releaseDefinitionId: number): IPromise; - /** - * [Preview API] - * - * @param {Contracts.Artifact[]} artifacts - * @param {string} project - Project ID or project name - * @return IPromise + * @param {number} approvalId + * @param {boolean} includeHistory + * @return IPromise */ - getArtifactVersionsForSources(artifacts: Contracts.Artifact[], project: string): IPromise; + getApproval(project: string, approvalId: number, includeHistory?: boolean): IPromise; /** * [Preview API] * * @param {string} project - Project ID or project name - * @param {number} releaseId - * @param {number} baseReleaseId - * @param {number} top - * @return IPromise + * @param {number} approvalStepId + * @return IPromise */ - getReleaseWorkItemsRefs(project: string, releaseId: number, baseReleaseId?: number, top?: number): IPromise; + getApprovalHistory(project: string, approvalStepId: number): IPromise; +} +/** + * @exemptedapi + */ +export class ReleaseHttpClient3 extends CommonMethods2_2To3 { + constructor(rootRequestPath: string, options?: VSS_WebApi.IVssHttpClientOptions); +} +/** + * @exemptedapi + */ +export class ReleaseHttpClient2_2 extends CommonMethods2_2To3 { + constructor(rootRequestPath: string, options?: VSS_WebApi.IVssHttpClientOptions); } export class ReleaseHttpClient extends ReleaseHttpClient3 { constructor(rootRequestPath: string, options?: VSS_WebApi.IVssHttpClientOptions); diff --git a/typings/tfs.d.ts b/typings/tfs.d.ts index 82fd02c..c777703 100644 --- a/typings/tfs.d.ts +++ b/typings/tfs.d.ts @@ -1,5 +1,5 @@ -// Type definitions for Microsoft Visual Studio Services v100.20160601.1949 -// Project: http://www.visualstudio.com/integrate/extensions/overview +// Type definitions for Microsoft Visual Studio Services v101.20160627.0901 +// Project: https://www.visualstudio.com/integrate/extensions/overview // Definitions by: Microsoft /// @@ -180,6 +180,10 @@ export interface Build { * The build result */ result: BuildResult; + /** + * Specifies if Build should be retained by Release + */ + retainedByRelease: boolean; /** * Source branch */ @@ -297,7 +301,6 @@ export interface BuildController extends ShallowReference { uri: string; } export interface BuildDefinition extends BuildDefinitionReference { - _links: any; /** * Indicates whether badges are enabled for this definition */ @@ -350,6 +353,7 @@ export interface BuildDefinitionChangingEvent { originalDefinition: BuildDefinition; } export interface BuildDefinitionReference extends DefinitionReference { + _links: any; /** * The author of the definition. */ @@ -414,6 +418,7 @@ export interface BuildDefinitionStep { [key: string]: string; }; task: TaskDefinitionReference; + timeoutInMinutes: number; } export interface BuildDefinitionTemplate { canDelete: boolean; @@ -695,6 +700,7 @@ export interface BuildRequestValidationResult { } export interface BuildResourceUsage { distributedTaskAgents: number; + paidPrivateAgentSlots: number; totalUsage: number; xamlControllers: number; } @@ -854,6 +860,7 @@ export interface ContinuousIntegrationTrigger extends BuildTrigger { batchChanges: boolean; branchFilters: string[]; maxConcurrentBuildsPerBranch: number; + pathFilters: string[]; /** * The polling interval in seconds. */ @@ -1359,6 +1366,7 @@ export interface TaskAgentPoolReference { name: string; } export interface TaskDefinitionReference { + definitionType: string; id: string; versionSpec: string; } @@ -1530,9 +1538,6 @@ export interface XamlBuildDefinition extends DefinitionReference { triggerType: DefinitionTriggerType; } export var TypeInfo: { - AgentPoolQueue: { - fields: any; - }; AgentStatus: { enumValues: { "unavailable": number; @@ -1540,9 +1545,6 @@ export var TypeInfo: { "offline": number; }; }; - ArtifactResource: { - fields: any; - }; AuditAction: { enumValues: { "add": number; @@ -1550,96 +1552,32 @@ export var TypeInfo: { "delete": number; }; }; - Build: { - fields: any; - }; - BuildAgent: { - fields: any; - }; - BuildArtifact: { - fields: any; - }; - BuildArtifactAddedEvent: { - fields: any; - }; + Build: any; + BuildAgent: any; + BuildArtifactAddedEvent: any; BuildAuthorizationScope: { enumValues: { "projectCollection": number; "project": number; }; }; - BuildBadge: { - fields: any; - }; - BuildChangesCalculatedEvent: { - fields: any; - }; - BuildCompletedEvent: { - fields: any; - }; - BuildController: { - fields: any; - }; - BuildDefinition: { - fields: any; - }; - BuildDefinitionChangedEvent: { - fields: any; - }; - BuildDefinitionChangingEvent: { - fields: any; - }; - BuildDefinitionReference: { - fields: any; - }; - BuildDefinitionRevision: { - fields: any; - }; - BuildDefinitionSourceProvider: { - fields: any; - }; - BuildDefinitionStep: { - fields: any; - }; - BuildDefinitionTemplate: { - fields: any; - }; - BuildDefinitionVariable: { - fields: any; - }; - BuildDeletedEvent: { - fields: any; - }; - BuildDeployment: { - fields: any; - }; - BuildDestroyedEvent: { - fields: any; - }; - BuildLog: { - fields: any; - }; - BuildLogReference: { - fields: any; - }; - BuildMetric: { - fields: any; - }; - BuildOption: { - fields: any; - }; - BuildOptionDefinition: { - fields: any; - }; - BuildOptionDefinitionReference: { - fields: any; - }; - BuildOptionGroupDefinition: { - fields: any; - }; - BuildOptionInputDefinition: { - fields: any; - }; + BuildChangesCalculatedEvent: any; + BuildCompletedEvent: any; + BuildController: any; + BuildDefinition: any; + BuildDefinitionChangedEvent: any; + BuildDefinitionChangingEvent: any; + BuildDefinitionReference: any; + BuildDefinitionRevision: any; + BuildDefinitionSourceProvider: any; + BuildDefinitionTemplate: any; + BuildDeletedEvent: any; + BuildDeployment: any; + BuildDestroyedEvent: any; + BuildLog: any; + BuildMetric: any; + BuildOptionDefinition: any; + BuildOptionInputDefinition: any; BuildOptionInputType: { enumValues: { "string": number; @@ -1657,21 +1595,14 @@ export var TypeInfo: { "succeeded": number; }; }; - BuildPollingSummaryEvent: { - fields: any; - }; - BuildProcessTemplate: { - fields: any; - }; + BuildProcessTemplate: any; BuildQueryOrder: { enumValues: { "finishTimeAscending": number; "finishTimeDescending": number; }; }; - BuildQueuedEvent: { - fields: any; - }; + BuildQueuedEvent: any; BuildReason: { enumValues: { "none": number; @@ -1687,21 +1618,8 @@ export var TypeInfo: { "all": number; }; }; - BuildReference: { - fields: any; - }; - BuildReportMetadata: { - fields: any; - }; - BuildRepository: { - fields: any; - }; - BuildRequestValidationResult: { - fields: any; - }; - BuildResourceUsage: { - fields: any; - }; + BuildReference: any; + BuildRequestValidationResult: any; BuildResult: { enumValues: { "none": number; @@ -1711,15 +1629,8 @@ export var TypeInfo: { "canceled": number; }; }; - BuildServer: { - fields: any; - }; - BuildSettings: { - fields: any; - }; - BuildStartedEvent: { - fields: any; - }; + BuildServer: any; + BuildStartedEvent: any; BuildStatus: { enumValues: { "none": number; @@ -1731,30 +1642,11 @@ export var TypeInfo: { "all": number; }; }; - BuildSummary: { - fields: any; - }; - BuildTrigger: { - fields: any; - }; - BuildUpdatedEvent: { - fields: any; - }; - BuildWorkspace: { - fields: any; - }; - Change: { - fields: any; - }; - ConsoleLogEvent: { - fields: any; - }; - ContinuousDeploymentDefinition: { - fields: any; - }; - ContinuousIntegrationTrigger: { - fields: any; - }; + BuildSummary: any; + BuildTrigger: any; + BuildUpdatedEvent: any; + Change: any; + ContinuousIntegrationTrigger: any; ControllerStatus: { enumValues: { "unavailable": number; @@ -1784,9 +1676,7 @@ export var TypeInfo: { "disabled": number; }; }; - DefinitionReference: { - fields: any; - }; + DefinitionReference: any; DefinitionTriggerType: { enumValues: { "none": number; @@ -1815,21 +1705,7 @@ export var TypeInfo: { "all": number; }; }; - Deployment: { - fields: any; - }; - DeploymentBuild: { - fields: any; - }; - DeploymentDeploy: { - fields: any; - }; - DeploymentTest: { - fields: any; - }; - Folder: { - fields: any; - }; + Folder: any; FolderQueryOrder: { enumValues: { "none": number; @@ -1837,9 +1713,7 @@ export var TypeInfo: { "folderDescending": number; }; }; - GatedCheckInTrigger: { - fields: any; - }; + GatedCheckInTrigger: any; GetOption: { enumValues: { "latestOnQueue": number; @@ -1847,21 +1721,14 @@ export var TypeInfo: { "custom": number; }; }; - InformationNode: { - fields: any; - }; - Issue: { - fields: any; - }; + InformationNode: any; + Issue: any; IssueType: { enumValues: { "error": number; "warning": number; }; }; - MappingDetails: { - fields: any; - }; ProcessTemplateType: { enumValues: { "custom": number; @@ -1869,9 +1736,7 @@ export var TypeInfo: { "upgrade": number; }; }; - PropertyValue: { - fields: any; - }; + PropertyValue: any; QueryDeletedOption: { enumValues: { "excludeDeleted": number; @@ -1894,18 +1759,7 @@ export var TypeInfo: { "high": number; }; }; - RealtimeBuildEvent: { - fields: any; - }; - RequestReference: { - fields: any; - }; - RetentionPolicy: { - fields: any; - }; - Schedule: { - fields: any; - }; + Schedule: any; ScheduleDays: { enumValues: { "none": number; @@ -1919,33 +1773,13 @@ export var TypeInfo: { "all": number; }; }; - ScheduleTrigger: { - fields: any; - }; + ScheduleTrigger: any; ServiceHostStatus: { enumValues: { "online": number; "offline": number; }; }; - ShallowReference: { - fields: any; - }; - SvnMappingDetails: { - fields: any; - }; - SvnWorkspace: { - fields: any; - }; - TaskAgentPoolReference: { - fields: any; - }; - TaskDefinitionReference: { - fields: any; - }; - TaskOrchestrationPlanReference: { - fields: any; - }; TaskResult: { enumValues: { "succeeded": number; @@ -1956,12 +1790,8 @@ export var TypeInfo: { "abandoned": number; }; }; - Timeline: { - fields: any; - }; - TimelineRecord: { - fields: any; - }; + Timeline: any; + TimelineRecord: any; TimelineRecordState: { enumValues: { "pending": number; @@ -1969,12 +1799,7 @@ export var TypeInfo: { "completed": number; }; }; - TimelineRecordsUpdatedEvent: { - fields: any; - }; - TimelineReference: { - fields: any; - }; + TimelineRecordsUpdatedEvent: any; ValidationResult: { enumValues: { "oK": number; @@ -1982,21 +1807,15 @@ export var TypeInfo: { "error": number; }; }; - WorkspaceMapping: { - fields: any; - }; + WorkspaceMapping: any; WorkspaceMappingType: { enumValues: { "map": number; "cloak": number; }; }; - WorkspaceTemplate: { - fields: any; - }; - XamlBuildDefinition: { - fields: any; - }; + WorkspaceTemplate: any; + XamlBuildDefinition: any; }; } declare module "TFS/Build/ExtensionContracts" { @@ -2406,6 +2225,14 @@ export class BuildHttpClient3 extends CommonMethods2_1To3 { * @return IPromise */ updateBuild(build: Contracts.Build, buildId: number, project?: string): IPromise; + /** + * [Preview API] Update a batch of builds + * + * @param {Contracts.Build[]} builds + * @param {string} project - Project ID or project name + * @return IPromise + */ + updateBuilds(builds: Contracts.Build[], project?: string): IPromise; /** * [Preview API] Gets the changes associated with a build * @@ -2440,9 +2267,11 @@ export class BuildHttpClient3 extends CommonMethods2_1To3 { * @param {Date} minMetricsTime * @param {number[]} definitionIds * @param {string} path + * @param {Date} builtAfter + * @param {Date} notBuiltAfter * @return IPromise */ - getDefinitions(project?: string, name?: string, repositoryId?: string, repositoryType?: string, queryOrder?: Contracts.DefinitionQueryOrder, top?: number, continuationToken?: string, minMetricsTime?: Date, definitionIds?: number[], path?: string): IPromise; + getDefinitions(project?: string, name?: string, repositoryId?: string, repositoryType?: string, queryOrder?: Contracts.DefinitionQueryOrder, top?: number, continuationToken?: string, minMetricsTime?: Date, definitionIds?: number[], path?: string, builtAfter?: Date, notBuiltAfter?: Date): IPromise; /** * [Preview API] Creates a new folder * @@ -2787,6 +2616,279 @@ export class BuildHttpClient extends BuildHttpClient3 { */ export function getClient(options?: VSS_WebApi.IVssHttpClientOptions): BuildHttpClient2_2; } +declare module "TFS/Chat/Contracts" { +import VSS_Common_Contracts = require("VSS/WebApi/Contracts"); +export interface Message { + /** + * Message content + */ + content: string; + /** + * Message Id + */ + id: number; + /** + * Message Type, currently only plain text is supported. + */ + messageType: MessageType; + /** + * User who posted the message. May be null if message came from a system account + */ + postedBy: VSS_Common_Contracts.IdentityRef; + /** + * Id of the room in which message is posted + */ + postedRoomId: number; + /** + * Message posted time + */ + postedTime: Date; +} +export interface MessageData { + content: string; +} +export enum MessageType { + /** + * A normal message that is sent by a user in plain text + */ + Normal = 0, + /** + * A system message like User Entered and User Left Room + */ + System = 1, + /** + * A notification from a TFS event + */ + Notification = 2, + /** + * An error messsage. + */ + Error = 3, +} +export interface Room { + /** + * Room creator user + */ + createdBy: VSS_Common_Contracts.IdentityRef; + /** + * Room creation date + */ + createdDate: Date; + /** + * Description of the room + */ + description: string; + /** + * Admin permissions for current user + */ + hasAdminPermissions: boolean; + /** + * Read/Write permissions for current user + */ + hasReadWritePermissions: boolean; + /** + * Id of the room + */ + id: number; + /** + * Last activity in the room + */ + lastActivity: Date; + /** + * Name of the room + */ + name: string; +} +export interface RoomCollection { +} +export interface RoomData { + /** + * Description of the room + */ + description: string; + /** + * Name of the room + */ + name: string; +} +export interface User { + /** + * A value indicating whether the user is online or not. + */ + isOnline: boolean; + /** + * Time when user joined the room + */ + joinedDate: Date; + /** + * Last activity time + */ + lastActivity: Date; + /** + * Id of the Room + */ + roomId: number; + /** + * The shallow reference for the user + */ + user: VSS_Common_Contracts.IdentityRef; +} +export interface UserCollection { +} +export interface UserData { + userId: string; +} +export var TypeInfo: { + Message: any; + MessageType: { + enumValues: { + "normal": number; + "system": number; + "notification": number; + "error": number; + }; + }; + Room: any; + User: any; +}; +} +declare module "TFS/Chat/RestClient" { +import Contracts = require("TFS/Chat/Contracts"); +import VSS_WebApi = require("VSS/WebApi/RestClient"); +export class CommonMethods2To3 extends VSS_WebApi.VssHttpClient { + static serviceInstanceId: string; + protected messagesApiVersion: string; + protected roomsApiVersion: string; + protected usersApiVersion: string; + constructor(rootRequestPath: string, options?: VSS_WebApi.IVssHttpClientOptions); + /** + * Leaves a user from a given room + * + * @param {number} roomId - Id of the room + * @param {string} userId - TfId of the user + * @return IPromise + */ + leaveRoom(roomId: number, userId: string): IPromise; + /** + * Joins a user to a given room + * + * @param {Contracts.UserData} userUpdate - user model information + * @param {number} roomId - Id of the room + * @param {string} userId - TfId of the user + * @return IPromise + */ + joinRoom(userUpdate: Contracts.UserData, roomId: number, userId: string): IPromise; + /** + * Retrieve information on a single chat user + * + * @param {number} roomId - Id of the room + * @param {string} userId - TfId of the user + * @return IPromise + */ + getChatRoomUserById(roomId: number, userId: string): IPromise; + /** + * Retrieve a listing of all chat users + * + * @param {number} roomId - Id of the room + * @return IPromise + */ + getAllChatRoomUsers(roomId: number): IPromise; + /** + * Update information on a single chat room + * + * @param {Contracts.RoomData} roomUpdate - Room information + * @param {number} roomId - Id of the room to update + * @return IPromise + */ + updateChatRoom(roomUpdate: Contracts.RoomData, roomId: number): IPromise; + /** + * Retrieve information on a single chat room + * + * @param {number} roomId - Id of the room to retrieve + * @return IPromise + */ + getChatRoomById(roomId: number): IPromise; + /** + * @return IPromise + */ + getAllRooms(): IPromise; + /** + * Delete a given chat room + * + * @param {number} roomId - Id of the room + * @return IPromise + */ + deleteChatRoom(roomId: number): IPromise; + /** + * Create a single chat room + * + * @param {Contracts.RoomData} roomUpdate - Information to create the room + * @return IPromise + */ + createChatRoom(roomUpdate: Contracts.RoomData): IPromise; + /** + * Update a given chat message + * + * @param {Contracts.MessageData} messageUpdate - New message content + * @param {number} roomId - Id of the room + * @param {number} messageId - Id of the message + * @return IPromise + */ + updateChatMessage(messageUpdate: Contracts.MessageData, roomId: number, messageId: number): IPromise; + /** + * Post message to a room + * + * @param {Contracts.MessageData} messageUpdate - Content of the message to post + * @param {number} roomId - Id of the room + * @return IPromise + */ + sendMessageToRoom(messageUpdate: Contracts.MessageData, roomId: number): IPromise; + /** + * Retrieve information on a single chat message + * + * @param {number} roomId - Id of the room + * @param {number} messageId - Id of the message to retrieve + * @return IPromise + */ + getChatRoomMessageById(roomId: number, messageId: number): IPromise; + /** + * Retrieve a listing of all chat messages in a given room + * + * @param {number} roomId - Id of the room + * @return IPromise + */ + getAllChatRoomMessages(roomId: number): IPromise; + /** + * Delete a given chat message + * + * @param {number} roomId - Id of the room + * @param {number} messageId - Id of the message to delete + * @return IPromise + */ + deleteMessage(roomId: number, messageId: number): IPromise; +} +/** + * @exemptedapi + */ +export class ChatHttpClient3 extends CommonMethods2To3 { + constructor(rootRequestPath: string, options?: VSS_WebApi.IVssHttpClientOptions); +} +/** + * @exemptedapi + */ +export class ChatHttpClient2_2 extends CommonMethods2To3 { + constructor(rootRequestPath: string, options?: VSS_WebApi.IVssHttpClientOptions); +} +export class ChatHttpClient extends ChatHttpClient3 { + constructor(rootRequestPath: string, options?: VSS_WebApi.IVssHttpClientOptions); +} +/** + * Gets an http client targeting the latest released version of the APIs. + * + * @return ChatHttpClient2_2 + */ +export function getClient(options?: VSS_WebApi.IVssHttpClientOptions): ChatHttpClient2_2; +} declare module "TFS/Core/Contracts" { import VSS_Common_Contracts = require("VSS/WebApi/Contracts"); export enum ConnectedServiceKind { @@ -3132,15 +3234,7 @@ export var TypeInfo: { "generic": number; }; }; - IdentityData: { - fields: any; - }; - Process: { - fields: any; - }; - ProcessReference: { - fields: any; - }; + Process: any; ProcessType: { enumValues: { "system": number; @@ -3155,69 +3249,14 @@ export var TypeInfo: { "added": number; }; }; - ProjectInfo: { - fields: any; - }; - ProjectMessage: { - fields: any; - }; - ProjectProperty: { - fields: any; - }; - Proxy: { - fields: any; - }; + ProjectInfo: any; + ProjectMessage: any; SourceControlTypes: { enumValues: { "tfvc": number; "git": number; }; }; - TeamContext: { - fields: any; - }; - TeamProject: { - fields: any; - }; - TeamProjectCollection: { - fields: any; - }; - TeamProjectCollectionReference: { - fields: any; - }; - TeamProjectReference: { - fields: any; - }; - WebApiConnectedService: { - fields: any; - }; - WebApiConnectedServiceDetails: { - fields: any; - }; - WebApiConnectedServiceRef: { - fields: any; - }; - WebApiCreateTagRequestData: { - fields: any; - }; - WebApiProject: { - fields: any; - }; - WebApiProjectCollection: { - fields: any; - }; - WebApiProjectCollectionRef: { - fields: any; - }; - WebApiTagDefinition: { - fields: any; - }; - WebApiTeam: { - fields: any; - }; - WebApiTeamRef: { - fields: any; - }; }; } declare module "TFS/Core/RestClient" { @@ -3455,6 +3494,12 @@ export function getClient(options?: VSS_WebApi.IVssHttpClientOptions): CoreHttpC declare module "TFS/DistributedTask/Contracts" { import VSS_Common_Contracts = require("VSS/WebApi/Contracts"); import VSS_FormInput_Contracts = require("VSS/Common/Contracts/FormInput"); +export interface AgentChangeEvent { + agent: TaskAgent; + eventType: string; + poolId: number; + timeStamp: Date; +} export interface AgentPoolEvent { eventType: string; pool: TaskAgentPool; @@ -3467,6 +3512,14 @@ export interface AgentRefreshMessage { agentId: number; timeout: any; } +export interface AgentRequestEvent { + eventType: string; + planId: string; + poolId: number; + reservedAgentId: number; + result: TaskResult; + timeStamp: Date; +} export interface AuthorizationHeader { name: string; value: string; @@ -3590,6 +3643,7 @@ export interface MetaTaskStep { [key: string]: string; }; task: TaskDefinitionReference; + timeoutInMinutes: number; } export interface PackageMetadata { createdOn: Date; @@ -3867,9 +3921,9 @@ export interface TaskAgentSession { */ agent: TaskAgentReference; /** - * Gets the key used to encrypt message traffic for this session. This value is an Aes key value which has been encrypted using the public key exchanged with the server. + * Gets the key used to encrypt message traffic for this session. */ - encryptionKey: number[]; + encryptionKey: TaskAgentSessionKey; /** * Gets or sets the owner name of this session. Generally this will be the machine of origination. */ @@ -3882,6 +3936,19 @@ export interface TaskAgentSession { [key: string]: string; }; } +/** + * Represents a symmetric key used for message-level encryption for communication sent to an agent. + */ +export interface TaskAgentSessionKey { + /** + * Gets or sets a value indicating whether or not the key value is encrypted. If this value is true, the property should be decrypted using the RSA key exchanged with the server during registration. + */ + encrypted: boolean; + /** + * Gets or sets the symmetric key value. + */ + value: number[]; +} export enum TaskAgentStatus { Offline = 1, Online = 2, @@ -4001,6 +4068,7 @@ export interface TaskInstance extends TaskReference { displayName: string; enabled: boolean; instanceId: string; + timeoutInMinutes: number; } export interface TaskLog extends TaskLogReference { createdOn: Date; @@ -4016,6 +4084,9 @@ export interface TaskLogReference { export interface TaskOrchestrationContainer extends TaskOrchestrationItem { children: TaskOrchestrationItem[]; continueOnError: boolean; + data: { + [key: string]: string; + }; parallel: boolean; rollback: TaskOrchestrationContainer; } @@ -4149,120 +4220,34 @@ export interface TimelineReference { location: string; } export var TypeInfo: { - AgentPoolEvent: { - fields: any; - }; - AgentQueueEvent: { - fields: any; - }; - AgentRefreshMessage: { - fields: any; - }; - AuthorizationHeader: { - fields: any; - }; - DataSource: { - fields: any; - }; - DataSourceBinding: { - fields: any; - }; - EndpointAuthorization: { - fields: any; - }; - EndpointUrl: { - fields: any; - }; - HelpLink: { - fields: any; - }; - Issue: { - fields: any; - }; + AgentChangeEvent: any; + AgentPoolEvent: any; + AgentRequestEvent: any; + Issue: any; IssueType: { enumValues: { "error": number; "warning": number; }; }; - JobAssignedEvent: { - fields: any; - }; - JobCancelMessage: { - fields: any; - }; - JobCompletedEvent: { - fields: any; - }; - JobEnvironment: { - fields: any; - }; - JobEvent: { - fields: any; - }; - JobOption: { - fields: any; - }; - JobRequestMessage: { - fields: any; - }; - MaskHint: { - fields: any; - }; + JobAssignedEvent: any; + JobCompletedEvent: any; + JobEnvironment: any; + JobRequestMessage: any; + MaskHint: any; MaskType: { enumValues: { "variable": number; "regex": number; }; }; - MetaTaskDefinition: { - fields: any; - }; - MetaTaskStep: { - fields: any; - }; - PackageMetadata: { - fields: any; - }; - PackageVersion: { - fields: any; - }; - PlanEnvironment: { - fields: any; - }; - ServiceEndpoint: { - fields: any; - }; - ServiceEndpointAuthenticationScheme: { - fields: any; - }; - ServiceEndpointType: { - fields: any; - }; - TaskAgent: { - fields: any; - }; - TaskAgentAuthorization: { - fields: any; - }; - TaskAgentJobRequest: { - fields: any; - }; - TaskAgentMessage: { - fields: any; - }; - TaskAgentPool: { - fields: any; - }; - TaskAgentPoolReference: { - fields: any; - }; - TaskAgentPublicKey: { - fields: any; - }; - TaskAgentQueue: { - fields: any; - }; + PackageMetadata: any; + PlanEnvironment: any; + ServiceEndpointAuthenticationScheme: any; + ServiceEndpointType: any; + TaskAgent: any; + TaskAgentJobRequest: any; + TaskAgentPool: any; TaskAgentQueueActionFilter: { enumValues: { "none": number; @@ -4270,75 +4255,26 @@ export var TypeInfo: { "use": number; }; }; - TaskAgentReference: { - fields: any; - }; - TaskAgentSession: { - fields: any; - }; + TaskAgentReference: any; + TaskAgentSession: any; TaskAgentStatus: { enumValues: { "offline": number; "online": number; }; }; - TaskAttachment: { - fields: any; - }; - TaskChangeEvent: { - fields: any; - }; - TaskDefinition: { - fields: any; - }; - TaskDefinitionEndpoint: { - fields: any; - }; - TaskDefinitionReference: { - fields: any; - }; - TaskExecution: { - fields: any; - }; - TaskGroupDefinition: { - fields: any; - }; - TaskInputDefinition: { - fields: any; - }; - TaskInstance: { - fields: any; - }; - TaskLog: { - fields: any; - }; - TaskLogReference: { - fields: any; - }; - TaskOrchestrationContainer: { - fields: any; - }; - TaskOrchestrationItem: { - fields: any; - }; + TaskAttachment: any; + TaskLog: any; + TaskOrchestrationContainer: any; + TaskOrchestrationItem: any; TaskOrchestrationItemType: { enumValues: { "container": number; "job": number; }; }; - TaskOrchestrationJob: { - fields: any; - }; - TaskOrchestrationOwner: { - fields: any; - }; - TaskOrchestrationPlan: { - fields: any; - }; - TaskOrchestrationPlanReference: { - fields: any; - }; + TaskOrchestrationJob: any; + TaskOrchestrationPlan: any; TaskOrchestrationPlanState: { enumValues: { "inProgress": number; @@ -4346,12 +4282,6 @@ export var TypeInfo: { "completed": number; }; }; - TaskPackageMetadata: { - fields: any; - }; - TaskReference: { - fields: any; - }; TaskResult: { enumValues: { "succeeded": number; @@ -4362,18 +4292,8 @@ export var TypeInfo: { "abandoned": number; }; }; - TaskSourceDefinition: { - fields: any; - }; - TaskVersion: { - fields: any; - }; - Timeline: { - fields: any; - }; - TimelineRecord: { - fields: any; - }; + Timeline: any; + TimelineRecord: any; TimelineRecordState: { enumValues: { "pending": number; @@ -4381,9 +4301,6 @@ export var TypeInfo: { "completed": number; }; }; - TimelineReference: { - fields: any; - }; }; } declare module "TFS/DistributedTask/TaskAgentRestClient" { @@ -5355,10 +5272,6 @@ export interface FunctionCoverage { sourceFile: string; statistics: CoverageStatistics; } -export enum GroupTestResultsBy { - None = 0, - AutomatedTestStorage = 1, -} export interface LastResultDetails { dateCompleted: Date; duration: number; @@ -5607,6 +5520,14 @@ export interface TestActionResultModel extends TestResultModelBase { sharedStepModel: SharedStepModel; url: string; } +export interface TestAttachment { + attachmentType: AttachmentType; + comment: string; + createdDate: Date; + fileName: string; + id: number; + url: string; +} export interface TestAttachmentReference { id: number; url: string; @@ -5912,6 +5833,12 @@ export interface TestPlanCloneRequest { options: CloneOptions; suiteIds: number[]; } +export interface TestPlanHubData { + selectedSuiteId: number; + testPlan: TestPlan; + testPoints: TestPoint[]; + testSuites: TestSuite[]; +} export interface TestPlansWithSelection { lastSelectedPlan: number; lastSelectedSuite: number; @@ -6086,36 +6013,6 @@ export interface TestRunCoverage { state: string; testRun: ShallowReference; } -export enum TestRunState { - /** - * Only used during an update to preserve the existing value. - */ - Unspecified = 0, - /** - * The run is still being created. No tests have started yet. - */ - NotStarted = 1, - /** - * Tests are running. - */ - InProgress = 2, - /** - * All tests have completed or been skipped. - */ - Completed = 3, - /** - * Run is stopped and remaing tests have been aborted - */ - Aborted = 4, - /** - * Run is currently initializing This is a legacy state and should not be used any more - */ - Waiting = 5, - /** - * Run requires investigation because of a test point failure This is a legacy state and should not be used any more - */ - NeedsInvestigation = 6, -} export interface TestRunStatistic { run: ShallowReference; runStatistics: RunStatistic[]; @@ -6324,6 +6221,10 @@ export interface TestSuiteCloneRequest { destinationSuiteId: number; destinationSuiteProjectName: string; } +export interface TestSummaryForWorkItem { + summary: AggregatedDataForResultTrend; + workItem: WorkItemReference; +} export interface TestToWorkItemLinks { test: TestMethod; workItems: WorkItemReference[]; @@ -6361,6 +6262,7 @@ export interface TestVariable { export interface WorkItemReference { id: string; name: string; + type: string; url: string; webUrl: string; } @@ -6369,18 +6271,9 @@ export interface WorkItemToTestLinks { workItem: WorkItemReference; } export var TypeInfo: { - AggregatedDataForResultTrend: { - fields: any; - }; - AggregatedResultsAnalysis: { - fields: any; - }; - AggregatedResultsByOutcome: { - fields: any; - }; - AggregatedResultsDifference: { - fields: any; - }; + AggregatedDataForResultTrend: any; + AggregatedResultsAnalysis: any; + AggregatedResultsByOutcome: any; AttachmentType: { enumValues: { "generalAttachment": number; @@ -6397,21 +6290,8 @@ export var TypeInfo: { "consoleLog": number; }; }; - BatchResponse: { - fields: any; - }; - BuildConfiguration: { - fields: any; - }; - BuildCoverage: { - fields: any; - }; - BuildReference: { - fields: any; - }; - CloneOperationInformation: { - fields: any; - }; + BatchResponse: any; + CloneOperationInformation: any; CloneOperationState: { enumValues: { "failed": number; @@ -6420,21 +6300,6 @@ export var TypeInfo: { "succeeded": number; }; }; - CloneOptions: { - fields: any; - }; - CloneStatistics: { - fields: any; - }; - CodeCoverageData: { - fields: any; - }; - CodeCoverageStatistics: { - fields: any; - }; - CodeCoverageSummary: { - fields: any; - }; CoverageQueryFlags: { enumValues: { "modules": number; @@ -6442,15 +6307,7 @@ export var TypeInfo: { "blockData": number; }; }; - CoverageStatistics: { - fields: any; - }; - CustomTestField: { - fields: any; - }; - CustomTestFieldDefinition: { - fields: any; - }; + CustomTestFieldDefinition: any; CustomTestFieldScope: { enumValues: { "none": number; @@ -6470,54 +6327,9 @@ export var TypeInfo: { "guid": number; }; }; - DtlEnvironmentDetails: { - fields: any; - }; - FailingSince: { - fields: any; - }; - FunctionCoverage: { - fields: any; - }; - GroupTestResultsBy: { - enumValues: { - "none": number; - "automatedTestStorage": number; - }; - }; - LastResultDetails: { - fields: any; - }; - ModuleCoverage: { - fields: any; - }; - NameValuePair: { - fields: any; - }; - PlanUpdateModel: { - fields: any; - }; - PointAssignment: { - fields: any; - }; - PointUpdateModel: { - fields: any; - }; - PointWorkItemProperty: { - fields: any; - }; - PropertyBag: { - fields: any; - }; - QueryModel: { - fields: any; - }; - ReleaseReference: { - fields: any; - }; - Response: { - fields: any; - }; + FailingSince: any; + LastResultDetails: any; + Response: any; ResultDetails: { enumValues: { "none": number; @@ -6538,102 +6350,24 @@ export var TypeInfo: { "pending": number; }; }; - ResultRetentionSettings: { - fields: any; - }; - ResultsFilter: { - fields: any; - }; - ResultUpdateRequestModel: { - fields: any; - }; - ResultUpdateResponseModel: { - fields: any; - }; - RunCreateModel: { - fields: any; - }; - RunFilter: { - fields: any; - }; - RunStatistic: { - fields: any; - }; - RunUpdateModel: { - fields: any; - }; - ShallowReference: { - fields: any; - }; - SharedStepModel: { - fields: any; - }; - SuiteCreateModel: { - fields: any; - }; - SuiteEntry: { - fields: any; - }; - SuiteEntryUpdateModel: { - fields: any; - }; - SuiteTestCase: { - fields: any; - }; - SuiteUpdateModel: { - fields: any; - }; - TestActionResultModel: { - fields: any; - }; - TestAttachmentReference: { - fields: any; - }; - TestAttachmentRequestModel: { - fields: any; - }; - TestCaseResult: { - fields: any; - }; - TestCaseResult2: { - fields: any; - }; - TestCaseResultAttachmentModel: { - fields: any; - }; - TestCaseResultIdentifier: { - fields: any; - }; - TestCaseResultUpdateModel: { - fields: any; - }; - TestConfiguration: { - fields: any; - }; + ResultRetentionSettings: any; + ResultsFilter: any; + ResultUpdateRequestModel: any; + RunUpdateModel: any; + TestActionResultModel: any; + TestAttachment: any; + TestCaseResult: any; + TestCaseResult2: any; + TestConfiguration: any; TestConfigurationState: { enumValues: { "active": number; "inactive": number; }; }; - TestEnvironment: { - fields: any; - }; - TestFailureDetails: { - fields: any; - }; - TestFailuresAnalysis: { - fields: any; - }; - TestIterationDetailsModel: { - fields: any; - }; - TestMessageLogDetails: { - fields: any; - }; - TestMethod: { - fields: any; - }; + TestFailuresAnalysis: any; + TestIterationDetailsModel: any; + TestMessageLogDetails: any; TestOutcome: { enumValues: { "unspecified": number; @@ -6653,80 +6387,27 @@ export var TypeInfo: { "maxValue": number; }; }; - TestPlan: { - fields: any; - }; - TestPlanCloneRequest: { - fields: any; - }; - TestPlansWithSelection: { - fields: any; - }; - TestPoint: { - fields: any; - }; - TestResolutionState: { - fields: any; - }; - TestResultCreateModel: { - fields: any; - }; - TestResultHistory: { - fields: any; - }; - TestResultHistoryDetailsForGroup: { - fields: any; - }; - TestResultModelBase: { - fields: any; - }; - TestResultParameterModel: { - fields: any; - }; - TestResultsContext: { - fields: any; - }; + TestPlan: any; + TestPlanCloneRequest: any; + TestPlanHubData: any; + TestPlansWithSelection: any; + TestPoint: any; + TestResultHistory: any; + TestResultHistoryDetailsForGroup: any; + TestResultModelBase: any; + TestResultsContext: any; TestResultsContextType: { enumValues: { "build": number; "release": number; }; }; - TestResultsDetails: { - fields: any; - }; - TestResultsDetailsForGroup: { - fields: any; - }; - TestResultsQuery: { - fields: any; - }; - TestResultSummary: { - fields: any; - }; - TestResultTrendFilter: { - fields: any; - }; - TestRun: { - fields: any; - }; - TestRunCoverage: { - fields: any; - }; - TestRunState: { - enumValues: { - "unspecified": number; - "notStarted": number; - "inProgress": number; - "completed": number; - "aborted": number; - "waiting": number; - "needsInvestigation": number; - }; - }; - TestRunStatistic: { - fields: any; - }; + TestResultsDetails: any; + TestResultsDetailsForGroup: any; + TestResultsQuery: any; + TestResultSummary: any; + TestResultTrendFilter: any; + TestRun: any; TestRunSubstate: { enumValues: { "none": number; @@ -6740,12 +6421,8 @@ export var TypeInfo: { "cancellationInProgress": number; }; }; - TestSession: { - fields: any; - }; - TestSessionExploredWorkItemReference: { - fields: any; - }; + TestSession: any; + TestSessionExploredWorkItemReference: any; TestSessionSource: { enumValues: { "unkonown": number; @@ -6764,729 +6441,123 @@ export var TypeInfo: { "completed": number; }; }; - TestSessionWorkItemReference: { - fields: any; - }; - TestSettings: { - fields: any; - }; - TestSuite: { - fields: any; - }; - TestSuiteCloneRequest: { - fields: any; - }; - TestToWorkItemLinks: { - fields: any; - }; - TestVariable: { - fields: any; - }; - WorkItemReference: { - fields: any; - }; - WorkItemToTestLinks: { - fields: any; - }; + TestSuite: any; + TestSummaryForWorkItem: any; }; } declare module "TFS/TestManagement/RestClient" { import Contracts = require("TFS/TestManagement/Contracts"); import TFS_Core_Contracts = require("TFS/Core/Contracts"); import VSS_WebApi = require("VSS/WebApi/RestClient"); -/** - * @exemptedapi - */ -export class TestHttpClient3 extends VSS_WebApi.VssHttpClient { +export class CommonMethods2To3 extends VSS_WebApi.VssHttpClient { static serviceInstanceId: string; + protected actionResultsApiVersion: string; + protected attachmentsApiVersion: string; + protected attachmentsApiVersion_2bffebe9: string; + protected bugsApiVersion: string; + protected cloneOperationApiVersion: string; + protected cloneOperationApiVersion_5b9d6320: string; + protected cloneOperationApiVersion_edc3ef4b: string; + protected codeCoverageApiVersion: string; + protected codeCoverageApiVersion_77560e8a: string; + protected configurationsApiVersion: string; + protected extensionFieldsApiVersion: string; + protected iterationsApiVersion: string; + protected messageLogsApiVersion: string; + protected parameterResultsApiVersion: string; + protected plansApiVersion: string; + protected pointsApiVersion: string; + protected resultsApiVersion: string; + protected runsApiVersion: string; + protected runsApiVersion_0a42c424: string; + protected runsApiVersion_cadb3810: string; + protected sessionApiVersion: string; + protected suiteEntryApiVersion: string; + protected suitesApiVersion: string; + protected suitesApiVersion_7b7619a0: string; + protected suitesApiVersion_a4a1ec1c: string; + protected testSettingsApiVersion: string; + protected variablesApiVersion: string; constructor(rootRequestPath: string, options?: VSS_WebApi.IVssHttpClientOptions); /** + * @exemptedapi * [Preview API] * + * @param {Contracts.TestVariable} testVariable * @param {string} project - Project ID or project name - * @param {number} runId - * @param {number} testCaseResultId - * @param {number} iterationId - * @param {string} actionPath - * @return IPromise + * @param {number} testVariableId + * @return IPromise */ - getActionResults(project: string, runId: number, testCaseResultId: number, iterationId: number, actionPath?: string): IPromise; + updateTestVariable(testVariable: Contracts.TestVariable, project: string, testVariableId: number): IPromise; /** + * @exemptedapi * [Preview API] * - * @param {Contracts.TestAttachmentRequestModel} attachmentRequestModel * @param {string} project - Project ID or project name - * @param {number} runId - * @param {number} testCaseResultId - * @param {number} iterationId - * @param {string} actionPath - * @return IPromise + * @param {number} skip + * @param {number} top + * @return IPromise */ - createTestIterationResultAttachment(attachmentRequestModel: Contracts.TestAttachmentRequestModel, project: string, runId: number, testCaseResultId: number, iterationId: number, actionPath?: string): IPromise; + getTestVariables(project: string, skip?: number, top?: number): IPromise; /** + * @exemptedapi * [Preview API] * - * @param {Contracts.TestAttachmentRequestModel} attachmentRequestModel * @param {string} project - Project ID or project name - * @param {number} runId - * @param {number} testCaseResultId - * @return IPromise + * @param {number} testVariableId + * @return IPromise */ - createTestResultAttachment(attachmentRequestModel: Contracts.TestAttachmentRequestModel, project: string, runId: number, testCaseResultId: number): IPromise; + getTestVariableById(project: string, testVariableId: number): IPromise; /** - * [Preview API] Returns a test result attachment + * @exemptedapi + * [Preview API] * * @param {string} project - Project ID or project name - * @param {number} runId - * @param {number} testCaseResultId - * @param {number} attachmentId - * @return IPromise - */ - getTestResultAttachmentContent(project: string, runId: number, testCaseResultId: number, attachmentId: number): IPromise; - /** - * [Preview API] Returns a test result attachment - * - * @param {string} project - Project ID or project name - * @param {number} runId - * @param {number} testCaseResultId - * @param {number} attachmentId - * @return IPromise - */ - getTestResultAttachmentZip(project: string, runId: number, testCaseResultId: number, attachmentId: number): IPromise; - /** - * [Preview API] - * - * @param {Contracts.TestAttachmentRequestModel} attachmentRequestModel - * @param {string} project - Project ID or project name - * @param {number} runId - * @return IPromise - */ - createTestRunAttachment(attachmentRequestModel: Contracts.TestAttachmentRequestModel, project: string, runId: number): IPromise; - /** - * [Preview API] Returns a test run attachment - * - * @param {string} project - Project ID or project name - * @param {number} runId - * @param {number} attachmentId - * @return IPromise - */ - getTestRunAttachmentContent(project: string, runId: number, attachmentId: number): IPromise; - /** - * [Preview API] Returns a test run attachment - * - * @param {string} project - Project ID or project name - * @param {number} runId - * @param {number} attachmentId - * @return IPromise - */ - getTestRunAttachmentZip(project: string, runId: number, attachmentId: number): IPromise; - /** - * [Preview API] - * - * @param {string} project - Project ID or project name - * @param {number} runId - * @param {number} testCaseResultId - * @return IPromise - */ - getBugsLinkedToTestResult(project: string, runId: number, testCaseResultId: number): IPromise; - /** - * [Preview API] - * - * @param {string} project - Project ID or project name - * @param {number} cloneOperationId - * @param {boolean} includeDetails - * @return IPromise - */ - getCloneInformation(project: string, cloneOperationId: number, includeDetails?: boolean): IPromise; - /** - * [Preview API] - * - * @param {Contracts.TestPlanCloneRequest} cloneRequestBody - * @param {string} project - Project ID or project name - * @param {number} planId - * @return IPromise - */ - cloneTestPlan(cloneRequestBody: Contracts.TestPlanCloneRequest, project: string, planId: number): IPromise; - /** - * [Preview API] - * - * @param {Contracts.TestSuiteCloneRequest} cloneRequestBody - * @param {string} project - Project ID or project name - * @param {number} planId - * @param {number} sourceSuiteId - * @return IPromise - */ - cloneTestSuite(cloneRequestBody: Contracts.TestSuiteCloneRequest, project: string, planId: number, sourceSuiteId: number): IPromise; - /** - * [Preview API] - * - * @param {string} project - Project ID or project name - * @param {number} buildId - * @param {number} flags - * @return IPromise - */ - getBuildCodeCoverage(project: string, buildId: number, flags: number): IPromise; - /** - * [Preview API] - * - * @param {string} project - Project ID or project name - * @param {number} buildId - * @param {number} deltaBuildId - * @return IPromise - */ - getCodeCoverageSummary(project: string, buildId: number, deltaBuildId?: number): IPromise; - /** - * [Preview API] http://(tfsserver):8080/tfs/DefaultCollection/_apis/test/CodeCoverage?buildId=10 Request: Json of code coverage summary - * - * @param {Contracts.CodeCoverageData} coverageData - * @param {string} project - Project ID or project name - * @param {number} buildId - * @return IPromise - */ - updateCodeCoverageSummary(coverageData: Contracts.CodeCoverageData, project: string, buildId: number): IPromise; - /** - * [Preview API] - * - * @param {string} project - Project ID or project name - * @param {number} runId - * @param {number} flags - * @return IPromise - */ - getTestRunCodeCoverage(project: string, runId: number, flags: number): IPromise; - /** - * [Preview API] - * - * @param {Contracts.TestConfiguration} testConfiguration - * @param {string} project - Project ID or project name - * @return IPromise - */ - createTestConfiguration(testConfiguration: Contracts.TestConfiguration, project: string): IPromise; - /** - * [Preview API] - * - * @param {string} project - Project ID or project name - * @param {number} testConfigurationId - * @return IPromise - */ - deleteTestConfiguration(project: string, testConfigurationId: number): IPromise; - /** - * [Preview API] - * - * @param {string} project - Project ID or project name - * @param {number} testConfigurationId - * @return IPromise - */ - getTestConfigurationById(project: string, testConfigurationId: number): IPromise; - /** - * [Preview API] - * - * @param {string} project - Project ID or project name - * @param {number} skip - * @param {number} top - * @param {boolean} includeAllProperties - * @return IPromise - */ - getTestConfigurations(project: string, skip?: number, top?: number, includeAllProperties?: boolean): IPromise; - /** - * [Preview API] - * - * @param {Contracts.TestConfiguration} testConfiguration - * @param {string} project - Project ID or project name - * @param {number} testConfigurationId - * @return IPromise - */ - updateTestConfiguration(testConfiguration: Contracts.TestConfiguration, project: string, testConfigurationId: number): IPromise; - /** - * [Preview API] - * - * @param {Contracts.CustomTestFieldDefinition[]} newFields - * @param {string} project - Project ID or project name - * @return IPromise - */ - addCustomFields(newFields: Contracts.CustomTestFieldDefinition[], project: string): IPromise; - /** - * [Preview API] - * - * @param {string} project - Project ID or project name - * @param {Contracts.CustomTestFieldScope} scopeFilter - * @return IPromise - */ - queryCustomFields(project: string, scopeFilter: Contracts.CustomTestFieldScope): IPromise; - /** - * [Preview API] - * - * @param {Contracts.ResultsFilter} filter - * @param {string} project - Project ID or project name - * @return IPromise - */ - queryTestResultHistory(filter: Contracts.ResultsFilter, project: string): IPromise; - /** - * [Preview API] - * - * @param {string} project - Project ID or project name - * @param {number} runId - * @param {number} testCaseResultId - * @param {number} iterationId - * @param {boolean} includeActionResults - * @return IPromise - */ - getTestIteration(project: string, runId: number, testCaseResultId: number, iterationId: number, includeActionResults?: boolean): IPromise; - /** - * [Preview API] - * - * @param {string} project - Project ID or project name - * @param {number} runId - * @param {number} testCaseResultId - * @param {boolean} includeActionResults - * @return IPromise - */ - getTestIterations(project: string, runId: number, testCaseResultId: number, includeActionResults?: boolean): IPromise; - /** - * [Preview API] - * - * @param {string} project - Project ID or project name - * @param {number} runId - * @return IPromise - */ - getTestRunLogs(project: string, runId: number): IPromise; - /** - * [Preview API] - * - * @param {string} project - Project ID or project name - * @param {number} runId - * @param {number} testCaseResultId - * @param {number} iterationId - * @param {string} paramName - * @return IPromise - */ - getResultParameters(project: string, runId: number, testCaseResultId: number, iterationId: number, paramName?: string): IPromise; - /** - * [Preview API] - * - * @param {Contracts.PlanUpdateModel} testPlan - * @param {string} project - Project ID or project name - * @return IPromise - */ - createTestPlan(testPlan: Contracts.PlanUpdateModel, project: string): IPromise; - /** - * [Preview API] - * - * @param {string} project - Project ID or project name - * @param {number} planId - * @return IPromise - */ - deleteTestPlan(project: string, planId: number): IPromise; - /** - * [Preview API] - * - * @param {string} project - Project ID or project name - * @param {number} planId - * @return IPromise - */ - getPlanById(project: string, planId: number): IPromise; - /** - * [Preview API] - * - * @param {string} project - Project ID or project name - * @param {string} owner - * @param {number} skip - * @param {number} top - * @param {boolean} includePlanDetails - * @param {boolean} filterActivePlans - * @return IPromise - */ - getPlans(project: string, owner?: string, skip?: number, top?: number, includePlanDetails?: boolean, filterActivePlans?: boolean): IPromise; - /** - * [Preview API] - * - * @param {Contracts.PlanUpdateModel} planUpdateModel - * @param {string} project - Project ID or project name - * @param {number} planId - * @return IPromise - */ - updateTestPlan(planUpdateModel: Contracts.PlanUpdateModel, project: string, planId: number): IPromise; - /** - * [Preview API] - * - * @param {string} project - Project ID or project name - * @param {number} planId - * @param {number} suiteId - * @param {number} pointIds - * @param {string} witFields - * @return IPromise - */ - getPoint(project: string, planId: number, suiteId: number, pointIds: number, witFields?: string): IPromise; - /** - * [Preview API] - * - * @param {string} project - Project ID or project name - * @param {number} planId - * @param {number} suiteId - * @param {string} witFields - * @param {string} configurationId - * @param {string} testCaseId - * @param {string} testPointIds - * @param {boolean} includePointDetails - * @param {number} skip - * @param {number} top - * @return IPromise - */ - getPoints(project: string, planId: number, suiteId: number, witFields?: string, configurationId?: string, testCaseId?: string, testPointIds?: string, includePointDetails?: boolean, skip?: number, top?: number): IPromise; - /** - * [Preview API] - * - * @param {Contracts.PointUpdateModel} pointUpdateModel - * @param {string} project - Project ID or project name - * @param {number} planId - * @param {number} suiteId - * @param {string} pointIds - * @return IPromise - */ - updateTestPoints(pointUpdateModel: Contracts.PointUpdateModel, project: string, planId: number, suiteId: number, pointIds: string): IPromise; - /** - * [Preview API] - * - * @param {string} project - Project ID or project name - * @param {number} buildId - * @param {string} publishContext - * @param {string} groupBy - * @param {string} filter - * @param {string} orderby - * @return IPromise - */ - getTestResultDetailsForBuild(project: string, buildId: number, publishContext?: string, groupBy?: string, filter?: string, orderby?: string): IPromise; - /** - * [Preview API] - * - * @param {string} project - Project ID or project name - * @param {number} releaseId - * @param {number} releaseEnvId - * @param {string} publishContext - * @param {string} groupBy - * @param {string} filter - * @param {string} orderby - * @return IPromise - */ - getTestResultDetailsForRelease(project: string, releaseId: number, releaseEnvId: number, publishContext?: string, groupBy?: string, filter?: string, orderby?: string): IPromise; - /** - * [Preview API] - * - * @param {Contracts.ResultRetentionSettings} retentionSettings - * @param {string} project - Project ID or project name - * @return IPromise - */ - createResultRetentionSettings(retentionSettings: Contracts.ResultRetentionSettings, project: string): IPromise; - /** - * [Preview API] - * - * @param {string} project - Project ID or project name - * @return IPromise - */ - deleteResultRetentionSettings(project: string): IPromise; - /** - * [Preview API] - * - * @param {string} project - Project ID or project name - * @return IPromise - */ - getResultRetentionSettings(project: string): IPromise; - /** - * [Preview API] - * - * @param {Contracts.ResultRetentionSettings} retentionSettings - * @param {string} project - Project ID or project name - * @return IPromise - */ - updateResultRetentionSettings(retentionSettings: Contracts.ResultRetentionSettings, project: string): IPromise; - /** - * [Preview API] - * - * @param {Contracts.TestResultCreateModel[]} resultCreateModels - * @param {string} project - Project ID or project name - * @param {number} runId - * @return IPromise - */ - addTestResultsToTestRun(resultCreateModels: Contracts.TestResultCreateModel[], project: string, runId: number): IPromise; - /** - * [Preview API] - * - * @param {Contracts.TestCaseResultUpdateModel} resultUpdateModel - * @param {string} project - Project ID or project name - * @param {number} runId - * @param {number[]} resultIds - * @return IPromise - */ - bulkUpdateTestResults(resultUpdateModel: Contracts.TestCaseResultUpdateModel, project: string, runId: number, resultIds: number[]): IPromise; - /** - * [Preview API] - * - * @param {string} project - Project ID or project name - * @param {number} runId - * @param {number} testCaseResultId - * @param {boolean} includeIterationDetails - * @param {boolean} includeAssociatedBugs - * @return IPromise - */ - getTestCaseResultById(project: string, runId: number, testCaseResultId: number, includeIterationDetails: boolean, includeAssociatedBugs?: boolean): IPromise; - /** - * [Preview API] - * - * @param {string} project - Project ID or project name - * @param {number} runId - * @param {boolean} includeIterationDetails - * @return IPromise - */ - getTestCaseResults(project: string, runId: number, includeIterationDetails: boolean): IPromise; - /** - * [Preview API] - * - * @param {string} project - Project ID or project name - * @param {number} runId - * @param {number} testCaseResultId - * @param {Contracts.ResultDetails} detailsToInclude - * @return IPromise - */ - getTestResultById(project: string, runId: number, testCaseResultId: number, detailsToInclude?: Contracts.ResultDetails): IPromise; - /** - * [Preview API] - * - * @param {string} project - Project ID or project name - * @param {number} runId - * @param {Contracts.ResultDetails} detailsToInclude - * @param {number} skip - * @param {number} top - * @return IPromise - */ - getTestResults(project: string, runId: number, detailsToInclude?: Contracts.ResultDetails, skip?: number, top?: number): IPromise; - /** - * [Preview API] - * - * @param {Contracts.TestCaseResultUpdateModel[]} resultUpdateModels - * @param {string} project - Project ID or project name - * @param {number} runId - * @return IPromise - */ - updateTestResults(resultUpdateModels: Contracts.TestCaseResultUpdateModel[], project: string, runId: number): IPromise; - /** - * [Preview API] - * - * @param {Contracts.TestResultsQuery} query - * @param {string} project - Project ID or project name - * @return IPromise - */ - getTestResultsByQuery(query: Contracts.TestResultsQuery, project: string): IPromise; - /** - * [Preview API] - * - * @param {string} project - Project ID or project name - * @param {number} buildId - * @param {string} publishContext - * @param {boolean} includeFailureDetails - * @param {Contracts.BuildReference} buildToCompare - * @return IPromise - */ - queryTestResultsReportForBuild(project: string, buildId: number, publishContext?: string, includeFailureDetails?: boolean, buildToCompare?: Contracts.BuildReference): IPromise; - /** - * [Preview API] - * - * @param {string} project - Project ID or project name - * @param {number} releaseId - * @param {number} releaseEnvId - * @param {string} publishContext - * @param {boolean} includeFailureDetails - * @param {Contracts.ReleaseReference} releaseToCompare - * @return IPromise - */ - queryTestResultsReportForRelease(project: string, releaseId: number, releaseEnvId: number, publishContext?: string, includeFailureDetails?: boolean, releaseToCompare?: Contracts.ReleaseReference): IPromise; - /** - * [Preview API] - * - * @param {Contracts.TestResultTrendFilter} filter - * @param {string} project - Project ID or project name - * @return IPromise - */ - queryResultTrendForBuild(filter: Contracts.TestResultTrendFilter, project: string): IPromise; - /** - * [Preview API] - * - * @param {string} project - Project ID or project name - * @param {number} runId - * @return IPromise - */ - getTestRunStatistics(project: string, runId: number): IPromise; - /** - * [Preview API] - * - * @param {Contracts.QueryModel} query - * @param {string} project - Project ID or project name - * @param {boolean} includeRunDetails - * @param {number} skip - * @param {number} top - * @return IPromise - */ - getTestRunsByQuery(query: Contracts.QueryModel, project: string, includeRunDetails?: boolean, skip?: number, top?: number): IPromise; - /** - * [Preview API] - * - * @param {Contracts.RunCreateModel} testRun - * @param {string} project - Project ID or project name - * @return IPromise - */ - createTestRun(testRun: Contracts.RunCreateModel, project: string): IPromise; - /** - * [Preview API] - * - * @param {string} project - Project ID or project name - * @param {number} runId - * @return IPromise - */ - deleteTestRun(project: string, runId: number): IPromise; - /** - * [Preview API] - * - * @param {string} project - Project ID or project name - * @param {number} runId - * @return IPromise - */ - getTestRunById(project: string, runId: number): IPromise; - /** - * [Preview API] - * - * @param {string} project - Project ID or project name - * @param {string} buildUri - * @param {string} owner - * @param {string} tmiRunId - * @param {number} planId - * @param {boolean} includeRunDetails - * @param {boolean} automated - * @param {number} skip - * @param {number} top - * @return IPromise - */ - getTestRuns(project: string, buildUri?: string, owner?: string, tmiRunId?: string, planId?: number, includeRunDetails?: boolean, automated?: boolean, skip?: number, top?: number): IPromise; - /** - * [Preview API] - * - * @param {Contracts.RunUpdateModel} runUpdateModel - * @param {string} project - Project ID or project name - * @param {number} runId - * @return IPromise - */ - updateTestRun(runUpdateModel: Contracts.RunUpdateModel, project: string, runId: number): IPromise; - /** - * [Preview API] - * - * @param {Contracts.TestSession} testSession - * @param {TFS_Core_Contracts.TeamContext} teamContext - The team context for the operation - * @return IPromise - */ - createTestSession(testSession: Contracts.TestSession, teamContext: TFS_Core_Contracts.TeamContext): IPromise; - /** - * [Preview API] - * - * @param {TFS_Core_Contracts.TeamContext} teamContext - The team context for the operation - * @param {number} period - * @param {boolean} allSessions - * @param {boolean} includeAllProperties - * @return IPromise - */ - getTestSessions(teamContext: TFS_Core_Contracts.TeamContext, period?: number, allSessions?: boolean, includeAllProperties?: boolean): IPromise; - /** - * [Preview API] - * - * @param {Contracts.TestSession} testSession - * @param {TFS_Core_Contracts.TeamContext} teamContext - The team context for the operation - * @return IPromise - */ - updateTestSession(testSession: Contracts.TestSession, teamContext: TFS_Core_Contracts.TeamContext): IPromise; - /** - * [Preview API] - * - * @param {string} project - Project ID or project name - * @param {number} suiteId - * @return IPromise - */ - getSuiteEntries(project: string, suiteId: number): IPromise; - /** - * [Preview API] - * - * @param {Contracts.SuiteEntryUpdateModel[]} suiteEntries - * @param {string} project - Project ID or project name - * @param {number} suiteId - * @return IPromise - */ - reorderSuiteEntries(suiteEntries: Contracts.SuiteEntryUpdateModel[], project: string, suiteId: number): IPromise; - /** - * [Preview API] - * - * @param {string} project - Project ID or project name - * @param {number} planId - * @param {number} suiteId - * @param {string} testCaseIds - * @return IPromise + * @param {number} testVariableId + * @return IPromise */ - addTestCasesToSuite(project: string, planId: number, suiteId: number, testCaseIds: string): IPromise; + deleteTestVariable(project: string, testVariableId: number): IPromise; /** + * @exemptedapi * [Preview API] * + * @param {Contracts.TestVariable} testVariable * @param {string} project - Project ID or project name - * @param {number} planId - * @param {number} suiteId - * @param {number} testCaseIds - * @return IPromise + * @return IPromise */ - getTestCaseById(project: string, planId: number, suiteId: number, testCaseIds: number): IPromise; + createTestVariable(testVariable: Contracts.TestVariable, project: string): IPromise; /** - * [Preview API] - * * @param {string} project - Project ID or project name - * @param {number} planId - * @param {number} suiteId - * @return IPromise + * @param {number} testSettingsId + * @return IPromise */ - getTestCases(project: string, planId: number, suiteId: number): IPromise; + getTestSettingsById(project: string, testSettingsId: number): IPromise; /** - * [Preview API] - * * @param {string} project - Project ID or project name - * @param {number} planId - * @param {number} suiteId - * @param {string} testCaseIds + * @param {number} testSettingsId * @return IPromise */ - removeTestCasesFromSuiteUrl(project: string, planId: number, suiteId: number, testCaseIds: string): IPromise; + deleteTestSettings(project: string, testSettingsId: number): IPromise; /** - * [Preview API] - * - * @param {Contracts.SuiteCreateModel} testSuite + * @param {Contracts.TestSettings} testSettings * @param {string} project - Project ID or project name - * @param {number} planId - * @param {number} suiteId - * @return IPromise + * @return IPromise */ - createTestSuite(testSuite: Contracts.SuiteCreateModel, project: string, planId: number, suiteId: number): IPromise; + createTestSettings(testSettings: Contracts.TestSettings, project: string): IPromise; /** - * [Preview API] - * - * @param {string} project - Project ID or project name - * @param {number} planId - * @param {number} suiteId - * @return IPromise + * @param {number} testCaseId + * @return IPromise */ - deleteTestSuite(project: string, planId: number, suiteId: number): IPromise; + getSuitesByTestCaseId(testCaseId: number): IPromise; /** - * [Preview API] - * + * @param {Contracts.SuiteUpdateModel} suiteUpdateModel * @param {string} project - Project ID or project name * @param {number} planId * @param {number} suiteId - * @param {boolean} includeChildSuites * @return IPromise */ - getTestSuiteById(project: string, planId: number, suiteId: number, includeChildSuites?: boolean): IPromise; + updateTestSuite(suiteUpdateModel: Contracts.SuiteUpdateModel, project: string, planId: number, suiteId: number): IPromise; /** - * [Preview API] - * * @param {string} project - Project ID or project name * @param {number} planId * @param {boolean} includeSuites @@ -7497,403 +6568,261 @@ export class TestHttpClient3 extends VSS_WebApi.VssHttpClient { */ getTestSuitesForPlan(project: string, planId: number, includeSuites?: boolean, skip?: number, top?: number, asTreeView?: boolean): IPromise; /** - * [Preview API] - * - * @param {Contracts.SuiteUpdateModel} suiteUpdateModel * @param {string} project - Project ID or project name * @param {number} planId * @param {number} suiteId + * @param {boolean} includeChildSuites * @return IPromise */ - updateTestSuite(suiteUpdateModel: Contracts.SuiteUpdateModel, project: string, planId: number, suiteId: number): IPromise; - /** - * [Preview API] - * - * @param {number} testCaseId - * @return IPromise - */ - getSuitesByTestCaseId(testCaseId: number): IPromise; - /** - * [Preview API] - * - * @param {Contracts.TestSettings} testSettings - * @param {string} project - Project ID or project name - * @return IPromise - */ - createTestSettings(testSettings: Contracts.TestSettings, project: string): IPromise; + getTestSuiteById(project: string, planId: number, suiteId: number, includeChildSuites?: boolean): IPromise; /** - * [Preview API] - * * @param {string} project - Project ID or project name - * @param {number} testSettingsId + * @param {number} planId + * @param {number} suiteId * @return IPromise */ - deleteTestSettings(project: string, testSettingsId: number): IPromise; - /** - * [Preview API] - * - * @param {string} project - Project ID or project name - * @param {number} testSettingsId - * @return IPromise - */ - getTestSettingsById(project: string, testSettingsId: number): IPromise; + deleteTestSuite(project: string, planId: number, suiteId: number): IPromise; /** - * [Preview API] - * - * @param {Contracts.TestVariable} testVariable + * @param {Contracts.SuiteCreateModel} testSuite * @param {string} project - Project ID or project name - * @return IPromise + * @param {number} planId + * @param {number} suiteId + * @return IPromise */ - createTestVariable(testVariable: Contracts.TestVariable, project: string): IPromise; + createTestSuite(testSuite: Contracts.SuiteCreateModel, project: string, planId: number, suiteId: number): IPromise; /** - * [Preview API] - * * @param {string} project - Project ID or project name - * @param {number} testVariableId + * @param {number} planId + * @param {number} suiteId + * @param {string} testCaseIds * @return IPromise */ - deleteTestVariable(project: string, testVariableId: number): IPromise; - /** - * [Preview API] - * - * @param {string} project - Project ID or project name - * @param {number} testVariableId - * @return IPromise - */ - getTestVariableById(project: string, testVariableId: number): IPromise; - /** - * [Preview API] - * - * @param {string} project - Project ID or project name - * @param {number} skip - * @param {number} top - * @return IPromise - */ - getTestVariables(project: string, skip?: number, top?: number): IPromise; - /** - * [Preview API] - * - * @param {Contracts.TestVariable} testVariable - * @param {string} project - Project ID or project name - * @param {number} testVariableId - * @return IPromise - */ - updateTestVariable(testVariable: Contracts.TestVariable, project: string, testVariableId: number): IPromise; - /** - * [Preview API] - * - * @param {Contracts.WorkItemToTestLinks} workItemToTestLinks - * @param {string} project - Project ID or project name - * @return IPromise - */ - addWorkItemToTestLinks(workItemToTestLinks: Contracts.WorkItemToTestLinks, project: string): IPromise; - /** - * [Preview API] - * - * @param {string} project - Project ID or project name - * @param {string} testName - * @param {number} workItemId - * @return IPromise - */ - deleteTestMethodToWorkItemLink(project: string, testName: string, workItemId: number): IPromise; - /** - * [Preview API] - * - * @param {string} project - Project ID or project name - * @param {string} testName - * @return IPromise - */ - queryTestMethodLinkedWorkItems(project: string, testName: string): IPromise; - /** - * [Preview API] - * - * @param {string} project - Project ID or project name - * @param {string} workItemCategory - * @param {string} automatedTestName - * @param {number} testCaseId - * @param {Date} maxCompleteDate - * @param {number} days - * @param {number} workItemCount - * @return IPromise - */ - queryTestResultWorkItems(project: string, workItemCategory: string, automatedTestName?: string, testCaseId?: number, maxCompleteDate?: Date, days?: number, workItemCount?: number): IPromise; -} -export class TestHttpClient2_2 extends VSS_WebApi.VssHttpClient { - static serviceInstanceId: string; - constructor(rootRequestPath: string, options?: VSS_WebApi.IVssHttpClientOptions); - /** - * @param {string} project - Project ID or project name - * @param {number} runId - * @param {number} testCaseResultId - * @param {number} iterationId - * @param {string} actionPath - * @return IPromise - */ - getActionResults(project: string, runId: number, testCaseResultId: number, iterationId: number, actionPath?: string): IPromise; - /** - * @exemptedapi - * [Preview API] - * - * @param {Contracts.TestAttachmentRequestModel} attachmentRequestModel - * @param {string} project - Project ID or project name - * @param {number} runId - * @param {number} testCaseResultId - * @param {number} iterationId - * @param {string} actionPath - * @return IPromise - */ - createTestIterationResultAttachment(attachmentRequestModel: Contracts.TestAttachmentRequestModel, project: string, runId: number, testCaseResultId: number, iterationId: number, actionPath?: string): IPromise; - /** - * @exemptedapi - * [Preview API] - * - * @param {Contracts.TestAttachmentRequestModel} attachmentRequestModel - * @param {string} project - Project ID or project name - * @param {number} runId - * @param {number} testCaseResultId - * @return IPromise - */ - createTestResultAttachment(attachmentRequestModel: Contracts.TestAttachmentRequestModel, project: string, runId: number, testCaseResultId: number): IPromise; - /** - * @exemptedapi - * [Preview API] Returns a test result attachment - * - * @param {string} project - Project ID or project name - * @param {number} runId - * @param {number} testCaseResultId - * @param {number} attachmentId - * @return IPromise - */ - getTestResultAttachmentContent(project: string, runId: number, testCaseResultId: number, attachmentId: number): IPromise; - /** - * @exemptedapi - * [Preview API] Returns a test result attachment - * - * @param {string} project - Project ID or project name - * @param {number} runId - * @param {number} testCaseResultId - * @param {number} attachmentId - * @return IPromise - */ - getTestResultAttachmentZip(project: string, runId: number, testCaseResultId: number, attachmentId: number): IPromise; + removeTestCasesFromSuiteUrl(project: string, planId: number, suiteId: number, testCaseIds: string): IPromise; /** - * @exemptedapi - * [Preview API] - * - * @param {Contracts.TestAttachmentRequestModel} attachmentRequestModel * @param {string} project - Project ID or project name - * @param {number} runId - * @return IPromise + * @param {number} planId + * @param {number} suiteId + * @return IPromise */ - createTestRunAttachment(attachmentRequestModel: Contracts.TestAttachmentRequestModel, project: string, runId: number): IPromise; + getTestCases(project: string, planId: number, suiteId: number): IPromise; /** - * @exemptedapi - * [Preview API] Returns a test run attachment - * * @param {string} project - Project ID or project name - * @param {number} runId - * @param {number} attachmentId - * @return IPromise + * @param {number} planId + * @param {number} suiteId + * @param {number} testCaseIds + * @return IPromise */ - getTestRunAttachmentContent(project: string, runId: number, attachmentId: number): IPromise; + getTestCaseById(project: string, planId: number, suiteId: number, testCaseIds: number): IPromise; /** - * @exemptedapi - * [Preview API] Returns a test run attachment - * * @param {string} project - Project ID or project name - * @param {number} runId - * @param {number} attachmentId - * @return IPromise + * @param {number} planId + * @param {number} suiteId + * @param {string} testCaseIds + * @return IPromise */ - getTestRunAttachmentZip(project: string, runId: number, attachmentId: number): IPromise; + addTestCasesToSuite(project: string, planId: number, suiteId: number, testCaseIds: string): IPromise; /** * @exemptedapi * [Preview API] * + * @param {Contracts.SuiteEntryUpdateModel[]} suiteEntries * @param {string} project - Project ID or project name - * @param {number} runId - * @param {number} testCaseResultId - * @return IPromise + * @param {number} suiteId + * @return IPromise */ - getBugsLinkedToTestResult(project: string, runId: number, testCaseResultId: number): IPromise; + reorderSuiteEntries(suiteEntries: Contracts.SuiteEntryUpdateModel[], project: string, suiteId: number): IPromise; /** * @exemptedapi * [Preview API] * * @param {string} project - Project ID or project name - * @param {number} cloneOperationId - * @param {boolean} includeDetails - * @return IPromise + * @param {number} suiteId + * @return IPromise */ - getCloneInformation(project: string, cloneOperationId: number, includeDetails?: boolean): IPromise; + getSuiteEntries(project: string, suiteId: number): IPromise; /** * @exemptedapi * [Preview API] * - * @param {Contracts.TestPlanCloneRequest} cloneRequestBody - * @param {string} project - Project ID or project name - * @param {number} planId - * @return IPromise + * @param {Contracts.TestSession} testSession + * @param {TFS_Core_Contracts.TeamContext} teamContext - The team context for the operation + * @return IPromise */ - cloneTestPlan(cloneRequestBody: Contracts.TestPlanCloneRequest, project: string, planId: number): IPromise; + updateTestSession(testSession: Contracts.TestSession, teamContext: TFS_Core_Contracts.TeamContext): IPromise; /** * @exemptedapi * [Preview API] * - * @param {Contracts.TestSuiteCloneRequest} cloneRequestBody - * @param {string} project - Project ID or project name - * @param {number} planId - * @param {number} sourceSuiteId - * @return IPromise + * @param {TFS_Core_Contracts.TeamContext} teamContext - The team context for the operation + * @param {number} period + * @param {boolean} allSessions + * @param {boolean} includeAllProperties + * @return IPromise */ - cloneTestSuite(cloneRequestBody: Contracts.TestSuiteCloneRequest, project: string, planId: number, sourceSuiteId: number): IPromise; + getTestSessions(teamContext: TFS_Core_Contracts.TeamContext, period?: number, allSessions?: boolean, includeAllProperties?: boolean): IPromise; /** * @exemptedapi * [Preview API] * - * @param {string} project - Project ID or project name - * @param {number} buildId - * @param {number} flags - * @return IPromise + * @param {Contracts.TestSession} testSession + * @param {TFS_Core_Contracts.TeamContext} teamContext - The team context for the operation + * @return IPromise */ - getBuildCodeCoverage(project: string, buildId: number, flags: number): IPromise; + createTestSession(testSession: Contracts.TestSession, teamContext: TFS_Core_Contracts.TeamContext): IPromise; /** * @exemptedapi * [Preview API] * + * @param {Contracts.QueryModel} query * @param {string} project - Project ID or project name - * @param {number} buildId - * @param {number} deltaBuildId - * @return IPromise + * @param {boolean} includeRunDetails + * @param {number} skip + * @param {number} top + * @return IPromise */ - getCodeCoverageSummary(project: string, buildId: number, deltaBuildId?: number): IPromise; + getTestRunsByQuery(query: Contracts.QueryModel, project: string, includeRunDetails?: boolean, skip?: number, top?: number): IPromise; /** - * @exemptedapi - * [Preview API] http://(tfsserver):8080/tfs/DefaultCollection/_apis/test/CodeCoverage?buildId=10 Request: Json of code coverage summary - * - * @param {Contracts.CodeCoverageData} coverageData + * @param {Contracts.RunUpdateModel} runUpdateModel * @param {string} project - Project ID or project name - * @param {number} buildId - * @return IPromise + * @param {number} runId + * @return IPromise */ - updateCodeCoverageSummary(coverageData: Contracts.CodeCoverageData, project: string, buildId: number): IPromise; + updateTestRun(runUpdateModel: Contracts.RunUpdateModel, project: string, runId: number): IPromise; /** - * @exemptedapi - * [Preview API] - * * @param {string} project - Project ID or project name - * @param {number} runId - * @param {number} flags - * @return IPromise + * @param {string} buildUri + * @param {string} owner + * @param {string} tmiRunId + * @param {number} planId + * @param {boolean} includeRunDetails + * @param {boolean} automated + * @param {number} skip + * @param {number} top + * @return IPromise */ - getTestRunCodeCoverage(project: string, runId: number, flags: number): IPromise; + getTestRuns(project: string, buildUri?: string, owner?: string, tmiRunId?: string, planId?: number, includeRunDetails?: boolean, automated?: boolean, skip?: number, top?: number): IPromise; /** - * @exemptedapi - * [Preview API] - * - * @param {Contracts.TestConfiguration} testConfiguration * @param {string} project - Project ID or project name - * @return IPromise + * @param {number} runId + * @return IPromise */ - createTestConfiguration(testConfiguration: Contracts.TestConfiguration, project: string): IPromise; + getTestRunById(project: string, runId: number): IPromise; /** - * @exemptedapi - * [Preview API] - * * @param {string} project - Project ID or project name - * @param {number} testConfigurationId + * @param {number} runId * @return IPromise */ - deleteTestConfiguration(project: string, testConfigurationId: number): IPromise; + deleteTestRun(project: string, runId: number): IPromise; + /** + * @param {Contracts.RunCreateModel} testRun + * @param {string} project - Project ID or project name + * @return IPromise + */ + createTestRun(testRun: Contracts.RunCreateModel, project: string): IPromise; + /** + * @param {string} project - Project ID or project name + * @param {number} runId + * @return IPromise + */ + getTestRunStatistics(project: string, runId: number): IPromise; /** * @exemptedapi * [Preview API] * + * @param {Contracts.TestCaseResultUpdateModel[]} resultUpdateModels * @param {string} project - Project ID or project name - * @param {number} testConfigurationId - * @return IPromise + * @param {number} runId + * @return IPromise */ - getTestConfigurationById(project: string, testConfigurationId: number): IPromise; + updateTestResults(resultUpdateModels: Contracts.TestCaseResultUpdateModel[], project: string, runId: number): IPromise; /** * @exemptedapi * [Preview API] * * @param {string} project - Project ID or project name + * @param {number} runId + * @param {Contracts.ResultDetails} detailsToInclude * @param {number} skip * @param {number} top - * @param {boolean} includeAllProperties - * @return IPromise + * @return IPromise */ - getTestConfigurations(project: string, skip?: number, top?: number, includeAllProperties?: boolean): IPromise; + getTestResults(project: string, runId: number, detailsToInclude?: Contracts.ResultDetails, skip?: number, top?: number): IPromise; /** * @exemptedapi * [Preview API] * - * @param {Contracts.TestConfiguration} testConfiguration + * @param {Contracts.TestCaseResultUpdateModel} resultUpdateModel * @param {string} project - Project ID or project name - * @param {number} testConfigurationId - * @return IPromise + * @param {number} runId + * @param {number[]} resultIds + * @return IPromise */ - updateTestConfiguration(testConfiguration: Contracts.TestConfiguration, project: string, testConfigurationId: number): IPromise; + bulkUpdateTestResults(resultUpdateModel: Contracts.TestCaseResultUpdateModel, project: string, runId: number, resultIds: number[]): IPromise; /** * @exemptedapi * [Preview API] * - * @param {Contracts.CustomTestFieldDefinition[]} newFields + * @param {Contracts.TestResultCreateModel[]} resultCreateModels * @param {string} project - Project ID or project name - * @return IPromise + * @param {number} runId + * @return IPromise */ - addCustomFields(newFields: Contracts.CustomTestFieldDefinition[], project: string): IPromise; + addTestResultsToTestRun(resultCreateModels: Contracts.TestResultCreateModel[], project: string, runId: number): IPromise; /** - * @exemptedapi - * [Preview API] - * + * @param {Contracts.PointUpdateModel} pointUpdateModel * @param {string} project - Project ID or project name - * @param {Contracts.CustomTestFieldScope} scopeFilter - * @return IPromise + * @param {number} planId + * @param {number} suiteId + * @param {string} pointIds + * @return IPromise */ - queryCustomFields(project: string, scopeFilter: Contracts.CustomTestFieldScope): IPromise; + updateTestPoints(pointUpdateModel: Contracts.PointUpdateModel, project: string, planId: number, suiteId: number, pointIds: string): IPromise; /** * @param {string} project - Project ID or project name - * @param {number} runId - * @param {number} testCaseResultId - * @param {number} iterationId - * @param {boolean} includeActionResults - * @return IPromise + * @param {number} planId + * @param {number} suiteId + * @param {string} witFields + * @param {string} configurationId + * @param {string} testCaseId + * @param {string} testPointIds + * @param {boolean} includePointDetails + * @param {number} skip + * @param {number} top + * @return IPromise */ - getTestIteration(project: string, runId: number, testCaseResultId: number, iterationId: number, includeActionResults?: boolean): IPromise; + getPoints(project: string, planId: number, suiteId: number, witFields?: string, configurationId?: string, testCaseId?: string, testPointIds?: string, includePointDetails?: boolean, skip?: number, top?: number): IPromise; /** * @param {string} project - Project ID or project name - * @param {number} runId - * @param {number} testCaseResultId - * @param {boolean} includeActionResults - * @return IPromise + * @param {number} planId + * @param {number} suiteId + * @param {number} pointIds + * @param {string} witFields + * @return IPromise */ - getTestIterations(project: string, runId: number, testCaseResultId: number, includeActionResults?: boolean): IPromise; + getPoint(project: string, planId: number, suiteId: number, pointIds: number, witFields?: string): IPromise; /** - * @exemptedapi - * [Preview API] - * + * @param {Contracts.PlanUpdateModel} planUpdateModel * @param {string} project - Project ID or project name - * @param {number} runId - * @return IPromise + * @param {number} planId + * @return IPromise */ - getTestRunLogs(project: string, runId: number): IPromise; + updateTestPlan(planUpdateModel: Contracts.PlanUpdateModel, project: string, planId: number): IPromise; /** * @param {string} project - Project ID or project name - * @param {number} runId - * @param {number} testCaseResultId - * @param {number} iterationId - * @param {string} paramName - * @return IPromise + * @param {string} owner + * @param {number} skip + * @param {number} top + * @param {boolean} includePlanDetails + * @param {boolean} filterActivePlans + * @return IPromise */ - getResultParameters(project: string, runId: number, testCaseResultId: number, iterationId: number, paramName?: string): IPromise; + getPlans(project: string, owner?: string, skip?: number, top?: number, includePlanDetails?: boolean, filterActivePlans?: boolean): IPromise; /** - * @param {Contracts.PlanUpdateModel} testPlan * @param {string} project - Project ID or project name + * @param {number} planId * @return IPromise */ - createTestPlan(testPlan: Contracts.PlanUpdateModel, project: string): IPromise; + getPlanById(project: string, planId: number): IPromise; /** * @param {string} project - Project ID or project name * @param {number} planId @@ -7901,429 +6830,492 @@ export class TestHttpClient2_2 extends VSS_WebApi.VssHttpClient { */ deleteTestPlan(project: string, planId: number): IPromise; /** + * @param {Contracts.PlanUpdateModel} testPlan * @param {string} project - Project ID or project name - * @param {number} planId * @return IPromise */ - getPlanById(project: string, planId: number): IPromise; + createTestPlan(testPlan: Contracts.PlanUpdateModel, project: string): IPromise; /** * @param {string} project - Project ID or project name - * @param {string} owner - * @param {number} skip - * @param {number} top - * @param {boolean} includePlanDetails - * @param {boolean} filterActivePlans - * @return IPromise + * @param {number} runId + * @param {number} testCaseResultId + * @param {number} iterationId + * @param {string} paramName + * @return IPromise */ - getPlans(project: string, owner?: string, skip?: number, top?: number, includePlanDetails?: boolean, filterActivePlans?: boolean): IPromise; + getResultParameters(project: string, runId: number, testCaseResultId: number, iterationId: number, paramName?: string): IPromise; /** - * @param {Contracts.PlanUpdateModel} planUpdateModel + * @exemptedapi + * [Preview API] + * * @param {string} project - Project ID or project name - * @param {number} planId - * @return IPromise + * @param {number} runId + * @return IPromise */ - updateTestPlan(planUpdateModel: Contracts.PlanUpdateModel, project: string, planId: number): IPromise; + getTestRunLogs(project: string, runId: number): IPromise; /** * @param {string} project - Project ID or project name - * @param {number} planId - * @param {number} suiteId - * @param {number} pointIds - * @param {string} witFields - * @return IPromise + * @param {number} runId + * @param {number} testCaseResultId + * @param {boolean} includeActionResults + * @return IPromise */ - getPoint(project: string, planId: number, suiteId: number, pointIds: number, witFields?: string): IPromise; + getTestIterations(project: string, runId: number, testCaseResultId: number, includeActionResults?: boolean): IPromise; /** * @param {string} project - Project ID or project name - * @param {number} planId - * @param {number} suiteId - * @param {string} witFields - * @param {string} configurationId - * @param {string} testCaseId - * @param {string} testPointIds - * @param {boolean} includePointDetails - * @param {number} skip - * @param {number} top - * @return IPromise + * @param {number} runId + * @param {number} testCaseResultId + * @param {number} iterationId + * @param {boolean} includeActionResults + * @return IPromise */ - getPoints(project: string, planId: number, suiteId: number, witFields?: string, configurationId?: string, testCaseId?: string, testPointIds?: string, includePointDetails?: boolean, skip?: number, top?: number): IPromise; + getTestIteration(project: string, runId: number, testCaseResultId: number, iterationId: number, includeActionResults?: boolean): IPromise; /** - * @param {Contracts.PointUpdateModel} pointUpdateModel + * @exemptedapi + * [Preview API] + * * @param {string} project - Project ID or project name - * @param {number} planId - * @param {number} suiteId - * @param {string} pointIds - * @return IPromise + * @param {Contracts.CustomTestFieldScope} scopeFilter + * @return IPromise */ - updateTestPoints(pointUpdateModel: Contracts.PointUpdateModel, project: string, planId: number, suiteId: number, pointIds: string): IPromise; + queryCustomFields(project: string, scopeFilter: Contracts.CustomTestFieldScope): IPromise; /** * @exemptedapi * [Preview API] * - * @param {Contracts.ResultRetentionSettings} retentionSettings + * @param {Contracts.CustomTestFieldDefinition[]} newFields * @param {string} project - Project ID or project name - * @return IPromise + * @return IPromise */ - createResultRetentionSettings(retentionSettings: Contracts.ResultRetentionSettings, project: string): IPromise; + addCustomFields(newFields: Contracts.CustomTestFieldDefinition[], project: string): IPromise; /** * @exemptedapi * [Preview API] * + * @param {Contracts.TestConfiguration} testConfiguration * @param {string} project - Project ID or project name - * @return IPromise + * @param {number} testConfigurationId + * @return IPromise */ - deleteResultRetentionSettings(project: string): IPromise; + updateTestConfiguration(testConfiguration: Contracts.TestConfiguration, project: string, testConfigurationId: number): IPromise; /** * @exemptedapi * [Preview API] * * @param {string} project - Project ID or project name - * @return IPromise + * @param {number} skip + * @param {number} top + * @param {boolean} includeAllProperties + * @return IPromise */ - getResultRetentionSettings(project: string): IPromise; + getTestConfigurations(project: string, skip?: number, top?: number, includeAllProperties?: boolean): IPromise; /** * @exemptedapi * [Preview API] * - * @param {Contracts.ResultRetentionSettings} retentionSettings * @param {string} project - Project ID or project name - * @return IPromise + * @param {number} testConfigurationId + * @return IPromise */ - updateResultRetentionSettings(retentionSettings: Contracts.ResultRetentionSettings, project: string): IPromise; + getTestConfigurationById(project: string, testConfigurationId: number): IPromise; /** * @exemptedapi * [Preview API] * - * @param {Contracts.TestResultCreateModel[]} resultCreateModels * @param {string} project - Project ID or project name - * @param {number} runId - * @return IPromise + * @param {number} testConfigurationId + * @return IPromise */ - addTestResultsToTestRun(resultCreateModels: Contracts.TestResultCreateModel[], project: string, runId: number): IPromise; + deleteTestConfiguration(project: string, testConfigurationId: number): IPromise; /** * @exemptedapi * [Preview API] * - * @param {Contracts.TestCaseResultUpdateModel} resultUpdateModel + * @param {Contracts.TestConfiguration} testConfiguration * @param {string} project - Project ID or project name - * @param {number} runId - * @param {number[]} resultIds - * @return IPromise + * @return IPromise */ - bulkUpdateTestResults(resultUpdateModel: Contracts.TestCaseResultUpdateModel, project: string, runId: number, resultIds: number[]): IPromise; + createTestConfiguration(testConfiguration: Contracts.TestConfiguration, project: string): IPromise; /** * @exemptedapi * [Preview API] * * @param {string} project - Project ID or project name * @param {number} runId - * @param {number} testCaseResultId - * @param {boolean} includeIterationDetails - * @param {boolean} includeAssociatedBugs - * @return IPromise + * @param {number} flags + * @return IPromise */ - getTestCaseResultById(project: string, runId: number, testCaseResultId: number, includeIterationDetails: boolean, includeAssociatedBugs?: boolean): IPromise; + getTestRunCodeCoverage(project: string, runId: number, flags: number): IPromise; /** * @exemptedapi - * [Preview API] + * [Preview API] http://(tfsserver):8080/tfs/DefaultCollection/_apis/test/CodeCoverage?buildId=10 Request: Json of code coverage summary * + * @param {Contracts.CodeCoverageData} coverageData * @param {string} project - Project ID or project name - * @param {number} runId - * @param {boolean} includeIterationDetails - * @return IPromise + * @param {number} buildId + * @return IPromise */ - getTestCaseResults(project: string, runId: number, includeIterationDetails: boolean): IPromise; + updateCodeCoverageSummary(coverageData: Contracts.CodeCoverageData, project: string, buildId: number): IPromise; /** * @exemptedapi * [Preview API] * * @param {string} project - Project ID or project name - * @param {number} runId - * @param {number} testCaseResultId - * @param {Contracts.ResultDetails} detailsToInclude - * @return IPromise + * @param {number} buildId + * @param {number} deltaBuildId + * @return IPromise */ - getTestResultById(project: string, runId: number, testCaseResultId: number, detailsToInclude?: Contracts.ResultDetails): IPromise; + getCodeCoverageSummary(project: string, buildId: number, deltaBuildId?: number): IPromise; /** * @exemptedapi * [Preview API] * * @param {string} project - Project ID or project name - * @param {number} runId - * @param {Contracts.ResultDetails} detailsToInclude - * @param {number} skip - * @param {number} top - * @return IPromise + * @param {number} buildId + * @param {number} flags + * @return IPromise */ - getTestResults(project: string, runId: number, detailsToInclude?: Contracts.ResultDetails, skip?: number, top?: number): IPromise; + getBuildCodeCoverage(project: string, buildId: number, flags: number): IPromise; /** * @exemptedapi * [Preview API] * - * @param {Contracts.TestCaseResultUpdateModel[]} resultUpdateModels + * @param {Contracts.TestSuiteCloneRequest} cloneRequestBody * @param {string} project - Project ID or project name - * @param {number} runId - * @return IPromise + * @param {number} planId + * @param {number} sourceSuiteId + * @return IPromise */ - updateTestResults(resultUpdateModels: Contracts.TestCaseResultUpdateModel[], project: string, runId: number): IPromise; + cloneTestSuite(cloneRequestBody: Contracts.TestSuiteCloneRequest, project: string, planId: number, sourceSuiteId: number): IPromise; /** * @exemptedapi * [Preview API] * - * @param {Contracts.QueryModel} query + * @param {Contracts.TestPlanCloneRequest} cloneRequestBody * @param {string} project - Project ID or project name - * @param {boolean} includeResultDetails - * @param {boolean} includeIterationDetails - * @param {number} skip - * @param {number} top - * @return IPromise + * @param {number} planId + * @return IPromise */ - getTestResultsByQuery(query: Contracts.QueryModel, project: string, includeResultDetails?: boolean, includeIterationDetails?: boolean, skip?: number, top?: number): IPromise; + cloneTestPlan(cloneRequestBody: Contracts.TestPlanCloneRequest, project: string, planId: number): IPromise; /** + * @exemptedapi + * [Preview API] + * * @param {string} project - Project ID or project name - * @param {number} runId - * @return IPromise + * @param {number} cloneOperationId + * @param {boolean} includeDetails + * @return IPromise */ - getTestRunStatistics(project: string, runId: number): IPromise; + getCloneInformation(project: string, cloneOperationId: number, includeDetails?: boolean): IPromise; /** - * @param {Contracts.RunCreateModel} testRun + * @exemptedapi + * [Preview API] + * * @param {string} project - Project ID or project name - * @return IPromise + * @param {number} runId + * @param {number} testCaseResultId + * @return IPromise */ - createTestRun(testRun: Contracts.RunCreateModel, project: string): IPromise; + getBugsLinkedToTestResult(project: string, runId: number, testCaseResultId: number): IPromise; /** + * @exemptedapi + * [Preview API] Returns a test run attachment + * * @param {string} project - Project ID or project name * @param {number} runId - * @return IPromise + * @param {number} attachmentId + * @return IPromise */ - deleteTestRun(project: string, runId: number): IPromise; + getTestRunAttachmentZip(project: string, runId: number, attachmentId: number): IPromise; /** + * @exemptedapi + * [Preview API] Returns a test run attachment + * * @param {string} project - Project ID or project name * @param {number} runId - * @return IPromise + * @param {number} attachmentId + * @return IPromise */ - getTestRunById(project: string, runId: number): IPromise; + getTestRunAttachmentContent(project: string, runId: number, attachmentId: number): IPromise; /** + * @exemptedapi + * [Preview API] + * + * @param {Contracts.TestAttachmentRequestModel} attachmentRequestModel * @param {string} project - Project ID or project name - * @param {string} buildUri - * @param {string} owner - * @param {string} tmiRunId - * @param {number} planId - * @param {boolean} includeRunDetails - * @param {boolean} automated - * @param {number} skip - * @param {number} top - * @return IPromise + * @param {number} runId + * @return IPromise */ - getTestRuns(project: string, buildUri?: string, owner?: string, tmiRunId?: string, planId?: number, includeRunDetails?: boolean, automated?: boolean, skip?: number, top?: number): IPromise; + createTestRunAttachment(attachmentRequestModel: Contracts.TestAttachmentRequestModel, project: string, runId: number): IPromise; /** - * @param {Contracts.RunUpdateModel} runUpdateModel + * @exemptedapi + * [Preview API] Returns a test result attachment + * * @param {string} project - Project ID or project name * @param {number} runId - * @return IPromise + * @param {number} testCaseResultId + * @param {number} attachmentId + * @return IPromise */ - updateTestRun(runUpdateModel: Contracts.RunUpdateModel, project: string, runId: number): IPromise; + getTestResultAttachmentZip(project: string, runId: number, testCaseResultId: number, attachmentId: number): IPromise; /** * @exemptedapi - * [Preview API] + * [Preview API] Returns a test result attachment * - * @param {Contracts.QueryModel} query * @param {string} project - Project ID or project name - * @param {boolean} includeRunDetails - * @param {number} skip - * @param {number} top - * @return IPromise + * @param {number} runId + * @param {number} testCaseResultId + * @param {number} attachmentId + * @return IPromise */ - getTestRunsByQuery(query: Contracts.QueryModel, project: string, includeRunDetails?: boolean, skip?: number, top?: number): IPromise; + getTestResultAttachmentContent(project: string, runId: number, testCaseResultId: number, attachmentId: number): IPromise; /** * @exemptedapi * [Preview API] * - * @param {Contracts.TestSession} testSession - * @param {TFS_Core_Contracts.TeamContext} teamContext - The team context for the operation - * @return IPromise + * @param {Contracts.TestAttachmentRequestModel} attachmentRequestModel + * @param {string} project - Project ID or project name + * @param {number} runId + * @param {number} testCaseResultId + * @return IPromise */ - createTestSession(testSession: Contracts.TestSession, teamContext: TFS_Core_Contracts.TeamContext): IPromise; + createTestResultAttachment(attachmentRequestModel: Contracts.TestAttachmentRequestModel, project: string, runId: number, testCaseResultId: number): IPromise; /** * @exemptedapi * [Preview API] * - * @param {TFS_Core_Contracts.TeamContext} teamContext - The team context for the operation - * @param {number} period - * @param {boolean} allSessions - * @param {boolean} includeAllProperties - * @return IPromise + * @param {Contracts.TestAttachmentRequestModel} attachmentRequestModel + * @param {string} project - Project ID or project name + * @param {number} runId + * @param {number} testCaseResultId + * @param {number} iterationId + * @param {string} actionPath + * @return IPromise */ - getTestSessions(teamContext: TFS_Core_Contracts.TeamContext, period?: number, allSessions?: boolean, includeAllProperties?: boolean): IPromise; + createTestIterationResultAttachment(attachmentRequestModel: Contracts.TestAttachmentRequestModel, project: string, runId: number, testCaseResultId: number, iterationId: number, actionPath?: string): IPromise; + /** + * @param {string} project - Project ID or project name + * @param {number} runId + * @param {number} testCaseResultId + * @param {number} iterationId + * @param {string} actionPath + * @return IPromise + */ + getActionResults(project: string, runId: number, testCaseResultId: number, iterationId: number, actionPath?: string): IPromise; +} +export class CommonMethods2_1To3 extends CommonMethods2To3 { + protected resultRetentionSettingsApiVersion: string; + constructor(rootRequestPath: string, options?: VSS_WebApi.IVssHttpClientOptions); /** - * @exemptedapi - * [Preview API] - * - * @param {Contracts.TestSession} testSession - * @param {TFS_Core_Contracts.TeamContext} teamContext - The team context for the operation - * @return IPromise + * @param {Contracts.ResultRetentionSettings} retentionSettings + * @param {string} project - Project ID or project name + * @return IPromise */ - updateTestSession(testSession: Contracts.TestSession, teamContext: TFS_Core_Contracts.TeamContext): IPromise; + updateResultRetentionSettings(retentionSettings: Contracts.ResultRetentionSettings, project: string): IPromise; /** - * @exemptedapi - * [Preview API] - * * @param {string} project - Project ID or project name - * @param {number} suiteId - * @return IPromise + * @return IPromise */ - getSuiteEntries(project: string, suiteId: number): IPromise; + getResultRetentionSettings(project: string): IPromise; +} +/** + * @exemptedapi + */ +export class TestHttpClient3 extends CommonMethods2_1To3 { + constructor(rootRequestPath: string, options?: VSS_WebApi.IVssHttpClientOptions); /** - * @exemptedapi - * [Preview API] + * [Preview API] Returns attachment references for test result. * - * @param {Contracts.SuiteEntryUpdateModel[]} suiteEntries * @param {string} project - Project ID or project name - * @param {number} suiteId - * @return IPromise + * @param {number} runId + * @param {number} testCaseResultId + * @return IPromise */ - reorderSuiteEntries(suiteEntries: Contracts.SuiteEntryUpdateModel[], project: string, suiteId: number): IPromise; + getTestResultAttachments(project: string, runId: number, testCaseResultId: number): IPromise; /** + * [Preview API] Returns attachment references for test run. + * * @param {string} project - Project ID or project name - * @param {number} planId - * @param {number} suiteId - * @param {string} testCaseIds - * @return IPromise + * @param {number} runId + * @return IPromise */ - addTestCasesToSuite(project: string, planId: number, suiteId: number, testCaseIds: string): IPromise; + getTestRunAttachments(project: string, runId: number): IPromise; /** + * [Preview API] + * + * @param {Contracts.ResultsFilter} filter * @param {string} project - Project ID or project name - * @param {number} planId - * @param {number} suiteId - * @param {number} testCaseIds - * @return IPromise + * @return IPromise */ - getTestCaseById(project: string, planId: number, suiteId: number, testCaseIds: number): IPromise; + queryTestResultHistory(filter: Contracts.ResultsFilter, project: string): IPromise; /** + * [Preview API] + * * @param {string} project - Project ID or project name - * @param {number} planId - * @param {number} suiteId - * @return IPromise + * @param {number} buildId + * @param {string} publishContext + * @param {string} groupBy + * @param {string} filter + * @param {string} orderby + * @return IPromise */ - getTestCases(project: string, planId: number, suiteId: number): IPromise; + getTestResultDetailsForBuild(project: string, buildId: number, publishContext?: string, groupBy?: string, filter?: string, orderby?: string): IPromise; /** + * [Preview API] + * * @param {string} project - Project ID or project name - * @param {number} planId - * @param {number} suiteId - * @param {string} testCaseIds - * @return IPromise + * @param {number} releaseId + * @param {number} releaseEnvId + * @param {string} publishContext + * @param {string} groupBy + * @param {string} filter + * @param {string} orderby + * @return IPromise */ - removeTestCasesFromSuiteUrl(project: string, planId: number, suiteId: number, testCaseIds: string): IPromise; + getTestResultDetailsForRelease(project: string, releaseId: number, releaseEnvId: number, publishContext?: string, groupBy?: string, filter?: string, orderby?: string): IPromise; /** - * @param {Contracts.SuiteCreateModel} testSuite + * [Preview API] + * * @param {string} project - Project ID or project name - * @param {number} planId - * @param {number} suiteId - * @return IPromise + * @param {number} runId + * @param {number} testCaseResultId + * @param {Contracts.ResultDetails} detailsToInclude + * @return IPromise */ - createTestSuite(testSuite: Contracts.SuiteCreateModel, project: string, planId: number, suiteId: number): IPromise; + getTestResultById(project: string, runId: number, testCaseResultId: number, detailsToInclude?: Contracts.ResultDetails): IPromise; /** + * [Preview API] + * + * @param {Contracts.TestResultsQuery} query * @param {string} project - Project ID or project name - * @param {number} planId - * @param {number} suiteId - * @return IPromise + * @return IPromise */ - deleteTestSuite(project: string, planId: number, suiteId: number): IPromise; + getTestResultsByQuery(query: Contracts.TestResultsQuery, project: string): IPromise; /** + * [Preview API] + * * @param {string} project - Project ID or project name - * @param {number} planId - * @param {number} suiteId - * @param {boolean} includeChildSuites - * @return IPromise + * @param {number} buildId + * @param {string} publishContext + * @param {boolean} includeFailureDetails + * @param {Contracts.BuildReference} buildToCompare + * @return IPromise */ - getTestSuiteById(project: string, planId: number, suiteId: number, includeChildSuites?: boolean): IPromise; + queryTestResultsReportForBuild(project: string, buildId: number, publishContext?: string, includeFailureDetails?: boolean, buildToCompare?: Contracts.BuildReference): IPromise; /** + * [Preview API] + * * @param {string} project - Project ID or project name - * @param {number} planId - * @param {boolean} includeSuites - * @param {number} skip - * @param {number} top - * @param {boolean} asTreeView - * @return IPromise + * @param {number} releaseId + * @param {number} releaseEnvId + * @param {string} publishContext + * @param {boolean} includeFailureDetails + * @param {Contracts.ReleaseReference} releaseToCompare + * @return IPromise */ - getTestSuitesForPlan(project: string, planId: number, includeSuites?: boolean, skip?: number, top?: number, asTreeView?: boolean): IPromise; + queryTestResultsReportForRelease(project: string, releaseId: number, releaseEnvId: number, publishContext?: string, includeFailureDetails?: boolean, releaseToCompare?: Contracts.ReleaseReference): IPromise; /** - * @param {Contracts.SuiteUpdateModel} suiteUpdateModel + * [Preview API] + * + * @param {Contracts.TestResultsContext} resultsContext * @param {string} project - Project ID or project name - * @param {number} planId - * @param {number} suiteId - * @return IPromise + * @return IPromise */ - updateTestSuite(suiteUpdateModel: Contracts.SuiteUpdateModel, project: string, planId: number, suiteId: number): IPromise; + queryTestSummaryByRequirementForBuild(resultsContext: Contracts.TestResultsContext, project: string): IPromise; /** - * @param {number} testCaseId - * @return IPromise + * [Preview API] + * + * @param {Contracts.TestResultTrendFilter} filter + * @param {string} project - Project ID or project name + * @return IPromise */ - getSuitesByTestCaseId(testCaseId: number): IPromise; + queryResultTrendForBuild(filter: Contracts.TestResultTrendFilter, project: string): IPromise; /** - * @param {Contracts.TestSettings} testSettings + * [Preview API] + * + * @param {Contracts.WorkItemToTestLinks} workItemToTestLinks * @param {string} project - Project ID or project name - * @return IPromise + * @return IPromise */ - createTestSettings(testSettings: Contracts.TestSettings, project: string): IPromise; + addWorkItemToTestLinks(workItemToTestLinks: Contracts.WorkItemToTestLinks, project: string): IPromise; /** + * [Preview API] + * * @param {string} project - Project ID or project name - * @param {number} testSettingsId - * @return IPromise + * @param {string} testName + * @param {number} workItemId + * @return IPromise */ - deleteTestSettings(project: string, testSettingsId: number): IPromise; + deleteTestMethodToWorkItemLink(project: string, testName: string, workItemId: number): IPromise; /** + * [Preview API] + * * @param {string} project - Project ID or project name - * @param {number} testSettingsId - * @return IPromise + * @param {string} testName + * @return IPromise */ - getTestSettingsById(project: string, testSettingsId: number): IPromise; + queryTestMethodLinkedWorkItems(project: string, testName: string): IPromise; /** - * @exemptedapi * [Preview API] * - * @param {Contracts.TestVariable} testVariable * @param {string} project - Project ID or project name - * @return IPromise + * @param {string} workItemCategory + * @param {string} automatedTestName + * @param {number} testCaseId + * @param {Date} maxCompleteDate + * @param {number} days + * @param {number} workItemCount + * @return IPromise */ - createTestVariable(testVariable: Contracts.TestVariable, project: string): IPromise; + queryTestResultWorkItems(project: string, workItemCategory: string, automatedTestName?: string, testCaseId?: number, maxCompleteDate?: Date, days?: number, workItemCount?: number): IPromise; +} +/** + * @exemptedapi + */ +export class TestHttpClient2_2 extends CommonMethods2_1To3 { + constructor(rootRequestPath: string, options?: VSS_WebApi.IVssHttpClientOptions); /** - * @exemptedapi * [Preview API] * * @param {string} project - Project ID or project name - * @param {number} testVariableId - * @return IPromise + * @param {number} runId + * @param {number} testCaseResultId + * @param {boolean} includeIterationDetails + * @param {boolean} includeAssociatedBugs + * @return IPromise */ - deleteTestVariable(project: string, testVariableId: number): IPromise; + getTestCaseResultById(project: string, runId: number, testCaseResultId: number, includeIterationDetails: boolean, includeAssociatedBugs?: boolean): IPromise; /** - * @exemptedapi * [Preview API] * * @param {string} project - Project ID or project name - * @param {number} testVariableId - * @return IPromise + * @param {number} runId + * @param {boolean} includeIterationDetails + * @return IPromise */ - getTestVariableById(project: string, testVariableId: number): IPromise; + getTestCaseResults(project: string, runId: number, includeIterationDetails: boolean): IPromise; /** - * @exemptedapi * [Preview API] * * @param {string} project - Project ID or project name - * @param {number} skip - * @param {number} top - * @return IPromise + * @param {number} runId + * @param {number} testCaseResultId + * @param {Contracts.ResultDetails} detailsToInclude + * @return IPromise */ - getTestVariables(project: string, skip?: number, top?: number): IPromise; + getTestResultById(project: string, runId: number, testCaseResultId: number, detailsToInclude?: Contracts.ResultDetails): IPromise; /** - * @exemptedapi * [Preview API] * - * @param {Contracts.TestVariable} testVariable + * @param {Contracts.QueryModel} query * @param {string} project - Project ID or project name - * @param {number} testVariableId - * @return IPromise + * @param {boolean} includeResultDetails + * @param {boolean} includeIterationDetails + * @param {number} skip + * @param {number} top + * @return IPromise */ - updateTestVariable(testVariable: Contracts.TestVariable, project: string, testVariableId: number): IPromise; + getTestResultsByQuery(query: Contracts.QueryModel, project: string, includeResultDetails?: boolean, includeIterationDetails?: boolean, skip?: number, top?: number): IPromise; } export class TestHttpClient extends TestHttpClient3 { constructor(rootRequestPath: string, options?: VSS_WebApi.IVssHttpClientOptions); @@ -8658,11 +7650,6 @@ export interface GitPathToItemsCollection { [key: string]: GitItem[]; }; } -export enum GitPermissionScope { - Project = 0, - Repository = 1, - Branch = 2, -} export interface GitPullRequest { _links: any; closedBy: VSS_Common_Contracts.IdentityRef; @@ -8973,6 +7960,10 @@ export interface GitPushSearchCriteria { refName: string; toDate: Date; } +export interface GitQueryBranchStatsCriteria { + baseCommit: GitVersionDescriptor; + targetCommits: GitVersionDescriptor[]; +} export interface GitQueryCommitsCriteria { /** * Number of entries to skip @@ -9036,6 +8027,7 @@ export interface GitRef { isLockedBy: VSS_Common_Contracts.IdentityRef; name: string; objectId: string; + peeledObjectId: string; statuses: GitStatus[]; url: string; } @@ -9187,24 +8179,10 @@ export interface GitRepository { remoteUrl: string; url: string; } -export enum GitRepositoryPermissions { - None = 0, - Administer = 1, - GenericRead = 2, - GenericContribute = 4, - ForcePush = 8, - CreateBranch = 16, - CreateTag = 32, - ManageNote = 64, - PolicyExempt = 128, - /** - * This defines the set of bits that are valid for the git permission space. When reading or writing git permissions, these are the only bits paid attention too. - */ - All = 255, - BranchLevelPermissions = 141, -} export interface GitRepositoryStats { + activePullRequestsCount: number; branchesCount: number; + commitsCount: number; repositoryId: string; } export interface GitStatus { @@ -9776,78 +8754,21 @@ export enum VersionControlRecursionType { Full = 120, } export var TypeInfo: { - AssociatedWorkItem: { - fields: any; - }; - Change: { - fields: any; - }; - ChangeCountDictionary: { - fields: any; - }; - ChangeList: { - fields: any; - }; - ChangeListSearchCriteria: { - fields: any; - }; - CheckinNote: { - fields: any; - }; - CommentIterationContext: { - fields: any; - }; - CommentPosition: { - fields: any; - }; - CommentTrackingCriteria: { - fields: any; - }; - FileContentMetadata: { - fields: any; - }; - GitBaseVersionDescriptor: { - fields: any; - }; - GitBlobRef: { - fields: any; - }; - GitBranchStats: { - fields: any; - }; - GitChange: { - fields: any; - }; - GitCommit: { - fields: any; - }; - GitCommitChanges: { - fields: any; - }; - GitCommitDiffs: { - fields: any; - }; - GitCommitRef: { - fields: any; - }; - GitCommitToCreate: { - fields: any; - }; - GitDeletedRepository: { - fields: any; - }; - GitHistoryQueryResults: { - fields: any; - }; - GitItem: { - fields: any; - }; - GitItemDescriptor: { - fields: any; - }; - GitItemRequestData: { - fields: any; - }; + Change: any; + ChangeList: any; + GitBaseVersionDescriptor: any; + GitBranchStats: any; + GitChange: any; + GitCommit: any; + GitCommitChanges: any; + GitCommitDiffs: any; + GitCommitRef: any; + GitCommitToCreate: any; + GitDeletedRepository: any; + GitHistoryQueryResults: any; + GitItem: any; + GitItemDescriptor: any; + GitItemRequestData: any; GitObjectType: { enumValues: { "bad": number; @@ -9860,9 +8781,7 @@ export var TypeInfo: { "refDelta": number; }; }; - GitPathAction: { - fields: any; - }; + GitPathAction: any; GitPathActions: { enumValues: { "none": number; @@ -9872,34 +8791,16 @@ export var TypeInfo: { "rename": number; }; }; - GitPathToItemsCollection: { - fields: any; - }; - GitPermissionScope: { - enumValues: { - "project": number; - "repository": number; - "branch": number; - }; - }; - GitPullRequest: { - fields: any; - }; - GitPullRequestChangeEntry: { - fields: any; - }; - GitPullRequestChangeEntryFileInfo: { - fields: any; - }; + GitPathToItemsCollection: any; + GitPullRequest: any; + GitPullRequestChangeEntry: any; GitPullRequestChangeEntryFileType: { enumValues: { "base": number; "modified": number; }; }; - GitPullRequestComment: { - fields: any; - }; + GitPullRequestComment: any; GitPullRequestCommentStatus: { enumValues: { "unknown": number; @@ -9911,12 +8812,7 @@ export var TypeInfo: { "pending": number; }; }; - GitPullRequestCommentThread: { - fields: any; - }; - GitPullRequestCommentThreadContext: { - fields: any; - }; + GitPullRequestCommentThread: any; GitPullRequestCommentType: { enumValues: { "unknown": number; @@ -9925,18 +8821,9 @@ export var TypeInfo: { "system": number; }; }; - GitPullRequestCompletionOptions: { - fields: any; - }; - GitPullRequestIteration: { - fields: any; - }; - GitPullRequestQuery: { - fields: any; - }; - GitPullRequestQueryInput: { - fields: any; - }; + GitPullRequestIteration: any; + GitPullRequestQuery: any; + GitPullRequestQueryInput: any; GitPullRequestQueryType: { enumValues: { "notSet": number; @@ -9944,60 +8831,30 @@ export var TypeInfo: { "commit": number; }; }; - GitPullRequestReviewFileContentInfo: { - fields: any; - }; GitPullRequestReviewFileType: { enumValues: { "changeEntry": number; "attachment": number; }; }; - GitPullRequestSearchCriteria: { - fields: any; - }; - GitPullRequestStatus: { - fields: any; - }; - GitPush: { - fields: any; - }; - GitPushEventData: { - fields: any; - }; - GitPushRef: { - fields: any; - }; - GitPushSearchCriteria: { - fields: any; - }; - GitQueryCommitsCriteria: { - fields: any; - }; - GitRef: { - fields: any; - }; - GitRefFavorite: { - fields: any; - }; - GitRefLockRequest: { - fields: any; - }; - GitRefUpdate: { - fields: any; - }; + GitPullRequestSearchCriteria: any; + GitPullRequestStatus: any; + GitPush: any; + GitPushEventData: any; + GitPushRef: any; + GitPushSearchCriteria: any; + GitQueryBranchStatsCriteria: any; + GitQueryCommitsCriteria: any; + GitRef: any; + GitRefFavorite: any; GitRefUpdateMode: { enumValues: { "bestEffort": number; "allOrNone": number; }; }; - GitRefUpdateResult: { - fields: any; - }; - GitRefUpdateResultSet: { - fields: any; - }; + GitRefUpdateResult: any; + GitRefUpdateResultSet: any; GitRefUpdateStatus: { enumValues: { "succeeded": number; @@ -10018,33 +8875,7 @@ export var TypeInfo: { "succeededCorruptRef": number; }; }; - GitRepository: { - fields: any; - }; - GitRepositoryPermissions: { - enumValues: { - "none": number; - "administer": number; - "genericRead": number; - "genericContribute": number; - "forcePush": number; - "createBranch": number; - "createTag": number; - "manageNote": number; - "policyExempt": number; - "all": number; - "branchLevelPermissions": number; - }; - }; - GitRepositoryStats: { - fields: any; - }; - GitStatus: { - fields: any; - }; - GitStatusContext: { - fields: any; - }; + GitStatus: any; GitStatusState: { enumValues: { "notSet": number; @@ -10054,24 +8885,11 @@ export var TypeInfo: { "error": number; }; }; - GitSuggestion: { - fields: any; - }; - GitTargetVersionDescriptor: { - fields: any; - }; - GitTreeEntryRef: { - fields: any; - }; - GitTreeRef: { - fields: any; - }; - GitUserDate: { - fields: any; - }; - GitVersionDescriptor: { - fields: any; - }; + GitTargetVersionDescriptor: any; + GitTreeEntryRef: any; + GitTreeRef: any; + GitUserDate: any; + GitVersionDescriptor: any; GitVersionOptions: { enumValues: { "none": number; @@ -10087,33 +8905,17 @@ export var TypeInfo: { "index": number; }; }; - HistoryEntry: { - fields: any; - }; - HistoryQueryResults: { - fields: any; - }; - IdentityRefWithVote: { - fields: any; - }; - IncludedGitCommit: { - fields: any; - }; - ItemContent: { - fields: any; - }; + HistoryEntry: any; + HistoryQueryResults: any; + IncludedGitCommit: any; + ItemContent: any; ItemContentType: { enumValues: { "rawText": number; "base64Encoded": number; }; }; - ItemDetailsOptions: { - fields: any; - }; - ItemModel: { - fields: any; - }; + ItemDetailsOptions: any; PullRequestAsyncStatus: { enumValues: { "notSet": number; @@ -10140,9 +8942,7 @@ export var TypeInfo: { "ref": number; }; }; - SupportedIde: { - fields: any; - }; + SupportedIde: any; SupportedIdeType: { enumValues: { "unknown": number; @@ -10159,78 +8959,21 @@ export var TypeInfo: { "appCode": number; }; }; - TfvcBranch: { - fields: any; - }; - TfvcBranchMapping: { - fields: any; - }; - TfvcBranchRef: { - fields: any; - }; - TfvcChange: { - fields: any; - }; - TfvcChangeset: { - fields: any; - }; - TfvcChangesetRef: { - fields: any; - }; - TfvcChangesetSearchCriteria: { - fields: any; - }; - TfvcChangesetsRequestData: { - fields: any; - }; - TfvcCheckinEventData: { - fields: any; - }; - TfvcHistoryEntry: { - fields: any; - }; - TfvcItem: { - fields: any; - }; - TfvcItemDescriptor: { - fields: any; - }; - TfvcItemRequestData: { - fields: any; - }; - TfvcLabel: { - fields: any; - }; - TfvcLabelRef: { - fields: any; - }; - TfvcLabelRequestData: { - fields: any; - }; - TfvcMergeSource: { - fields: any; - }; - TfvcPolicyFailureInfo: { - fields: any; - }; - TfvcPolicyOverrideInfo: { - fields: any; - }; - TfvcShallowBranchRef: { - fields: any; - }; - TfvcShelveset: { - fields: any; - }; - TfvcShelvesetRef: { - fields: any; - }; - TfvcShelvesetRequestData: { - fields: any; - }; - TfvcVersionDescriptor: { - fields: any; - }; + TfvcBranch: any; + TfvcBranchRef: any; + TfvcChange: any; + TfvcChangeset: any; + TfvcChangesetRef: any; + TfvcCheckinEventData: any; + TfvcHistoryEntry: any; + TfvcItem: any; + TfvcItemDescriptor: any; + TfvcItemRequestData: any; + TfvcLabel: any; + TfvcLabelRef: any; + TfvcShelveset: any; + TfvcShelvesetRef: any; + TfvcVersionDescriptor: any; TfvcVersionOption: { enumValues: { "none": number; @@ -10250,9 +8993,7 @@ export var TypeInfo: { "mergeSource": number; }; }; - UpdateRefsRequest: { - fields: any; - }; + UpdateRefsRequest: any; VersionControlChangeType: { enumValues: { "none": number; @@ -10272,9 +9013,7 @@ export var TypeInfo: { "all": number; }; }; - VersionControlProjectInfo: { - fields: any; - }; + VersionControlProjectInfo: any; VersionControlRecursionType: { enumValues: { "none": number; @@ -10413,9 +9152,10 @@ export class CommonMethods2To3 extends VSS_WebApi.VssHttpClient { * @param {boolean} includeLinks - [optional] Specifies if referenceLinks should be included in the result. default is false. * @param {boolean} includeStatuses - [optional] Includes the first 1000 statuses of the commits the refs are pointing at as well. default is false. * @param {boolean} includeMyBranches - [optional] Includes only branches that the user owns, the branches the user favorites, and the default branch. Cannot be combined with the filter parameter. + * @param {boolean} peelTags - [optional] Annotated tags will populate the PeeledObjectId property. default is false. * @return IPromise */ - getRefs(repositoryId: string, project?: string, filter?: string, includeLinks?: boolean, includeStatuses?: boolean, includeMyBranches?: boolean): IPromise; + getRefs(repositoryId: string, project?: string, filter?: string, includeLinks?: boolean, includeStatuses?: boolean, includeMyBranches?: boolean, peelTags?: boolean): IPromise; /** * Retrieves pushes associated with the specified repository. * @@ -10717,6 +9457,15 @@ export class CommonMethods2To3 extends VSS_WebApi.VssHttpClient { * @return IPromise */ getChanges(commitId: string, repositoryId: string, project?: string, top?: number, skip?: number): IPromise; + /** + * Retrieve statistics for multiple commits + * + * @param {Contracts.GitQueryBranchStatsCriteria} searchCriteria + * @param {string} repositoryId - Friendly name or guid of repository + * @param {string} project - Project ID or project name + * @return IPromise + */ + getBranchStatsBatch(searchCriteria: Contracts.GitQueryBranchStatsCriteria, repositoryId: string, project?: string): IPromise; /** * Retrieve statistics about all branches within a repository. * @@ -11525,13 +10274,6 @@ export enum FieldType { Guid = 8, Boolean = 9, } -export enum FieldUsage { - None = 0, - WorkItem = 1, - WorkItemLink = 2, - Tree = 3, - WorkItemTypeExtension = 4, -} export interface IdentityReference { id: string; name: string; @@ -11585,6 +10327,8 @@ export interface QueryHierarchyItem extends WorkItemTrackingResource { children: QueryHierarchyItem[]; clauses: WorkItemQueryClause; columns: WorkItemFieldReference[]; + createdBy: IdentityReference; + createdDate: Date; filterOptions: LinkQueryMode; hasChildren: boolean; id: string; @@ -11592,6 +10336,8 @@ export interface QueryHierarchyItem extends WorkItemTrackingResource { isFolder: boolean; isInvalidSyntax: boolean; isPublic: boolean; + lastModifiedBy: IdentityReference; + lastModifiedDate: Date; linkClauses: WorkItemQueryClause; name: string; path: string; @@ -11613,7 +10359,6 @@ export enum QueryType { export enum ReportingRevisionsExpand { None = 0, Fields = 1, - All = 2, } export interface ReportingWorkItemLink { changedBy: VSS_Common_Contracts.IdentityRef; @@ -11818,6 +10563,7 @@ export interface WorkItemTrackingResourceReference { } export interface WorkItemType extends WorkItemTrackingResource { description: string; + fieldInstances: WorkItemTypeFieldInstance[]; fields: WorkItemTypeFieldInstance[]; name: string; xmlForm: string; @@ -11856,21 +10602,12 @@ export interface WorkItemUpdate extends WorkItemTrackingResourceReference { workItemId: number; } export var TypeInfo: { - AttachmentReference: { - fields: any; - }; CommentSortOrder: { enumValues: { "asc": number; "desc": number; }; }; - FieldDependentRule: { - fields: any; - }; - FieldsToEvaluate: { - fields: any; - }; FieldType: { enumValues: { "string": number; @@ -11885,21 +10622,6 @@ export var TypeInfo: { "boolean": number; }; }; - FieldUsage: { - enumValues: { - "none": number; - "workItem": number; - "workItemLink": number; - "tree": number; - "workItemTypeExtension": number; - }; - }; - IdentityReference: { - fields: any; - }; - Link: { - fields: any; - }; LinkChangeType: { enumValues: { "create": number; @@ -11924,18 +10646,12 @@ export var TypeInfo: { "oR": number; }; }; - ProjectReference: { - fields: any; - }; ProvisioningActionType: { enumValues: { "import": number; "validate": number; }; }; - ProvisioningResult: { - fields: any; - }; QueryExpand: { enumValues: { "none": number; @@ -11944,9 +10660,7 @@ export var TypeInfo: { "all": number; }; }; - QueryHierarchyItem: { - fields: any; - }; + QueryHierarchyItem: any; QueryResultType: { enumValues: { "workItem": number; @@ -11964,24 +10678,9 @@ export var TypeInfo: { enumValues: { "none": number; "fields": number; - "all": number; }; }; - ReportingWorkItemLink: { - fields: any; - }; - ReportingWorkItemLinksBatch: { - fields: any; - }; - ReportingWorkItemRevisionsBatch: { - fields: any; - }; - ReportingWorkItemRevisionsFilter: { - fields: any; - }; - StreamedBatch: { - fields: any; - }; + ReportingWorkItemLink: any; TemplateType: { enumValues: { "workItemType": number; @@ -12000,36 +10699,9 @@ export var TypeInfo: { "iterations": number; }; }; - Wiql: { - fields: any; - }; - WitBatchRequest: { - fields: any; - }; - WitBatchResponse: { - fields: any; - }; - WorkItem: { - fields: any; - }; - WorkItemClassificationNode: { - fields: any; - }; - WorkItemComment: { - fields: any; - }; - WorkItemComments: { - fields: any; - }; - WorkItemDelete: { - fields: any; - }; - WorkItemDeleteReference: { - fields: any; - }; - WorkItemDeleteUpdate: { - fields: any; - }; + WorkItemClassificationNode: any; + WorkItemComment: any; + WorkItemComments: any; WorkItemExpand: { enumValues: { "none": number; @@ -12039,78 +10711,12 @@ export var TypeInfo: { "all": number; }; }; - WorkItemField: { - fields: any; - }; - WorkItemFieldOperation: { - fields: any; - }; - WorkItemFieldReference: { - fields: any; - }; - WorkItemFieldUpdate: { - fields: any; - }; - WorkItemHistory: { - fields: any; - }; - WorkItemLink: { - fields: any; - }; - WorkItemQueryClause: { - fields: any; - }; - WorkItemQueryResult: { - fields: any; - }; - WorkItemQuerySortColumn: { - fields: any; - }; - WorkItemReference: { - fields: any; - }; - WorkItemRelation: { - fields: any; - }; - WorkItemRelationType: { - fields: any; - }; - WorkItemRelationUpdates: { - fields: any; - }; - WorkItemRevisionReference: { - fields: any; - }; - WorkItemTrackingReference: { - fields: any; - }; - WorkItemTrackingResource: { - fields: any; - }; - WorkItemTrackingResourceReference: { - fields: any; - }; - WorkItemType: { - fields: any; - }; - WorkItemTypeCategory: { - fields: any; - }; - WorkItemTypeFieldInstance: { - fields: any; - }; - WorkItemTypeReference: { - fields: any; - }; - WorkItemTypeTemplate: { - fields: any; - }; - WorkItemTypeTemplateUpdateModel: { - fields: any; - }; - WorkItemUpdate: { - fields: any; - }; + WorkItemField: any; + WorkItemHistory: any; + WorkItemQueryClause: any; + WorkItemQueryResult: any; + WorkItemTypeTemplateUpdateModel: any; + WorkItemUpdate: any; }; } declare module "TFS/WorkItemTracking/ExtensionContracts" { @@ -12186,6 +10792,14 @@ export interface IWorkItemNotificationListener { } } declare module "TFS/WorkItemTracking/ProcessContracts" { +/** + * --------------------------------------------------------- + * Generated file, DO NOT EDIT + * --------------------------------------------------------- + * + * See following wiki page for instructions on how to regenerate: + * https://vsowiki.com/index.php?title=Rest_Client_Generation + */ export interface FieldModel { description: string; id: string; @@ -12193,45 +10807,6 @@ export interface FieldModel { type: string; url: string; } -export enum FieldType { - String = 1, - Integer = 2, - DateTime = 3, - PlainText = 5, - Html = 7, - TreePath = 8, - History = 9, - Double = 10, - Guid = 11, - Boolean = 12, - Identity = 13, - PicklistInteger = 14, - PicklistString = 15, - PicklistDouble = 16, -} -export var TypeInfo: { - FieldModel: { - fields: any; - }; - FieldType: { - enumValues: { - "string": number; - "integer": number; - "dateTime": number; - "plainText": number; - "html": number; - "treePath": number; - "history": number; - "double": number; - "guid": number; - "boolean": number; - "identity": number; - "picklistInteger": number; - "picklistString": number; - "picklistDouble": number; - }; - }; -}; } declare module "TFS/WorkItemTracking/ProcessDefinitionsContracts" { /** @@ -12472,15 +11047,7 @@ export interface WorkItemTypeModel { url: string; } export var TypeInfo: { - Control: { - fields: any; - }; - FieldModel: { - fields: any; - }; - FieldRuleModel: { - fields: any; - }; + FieldModel: any; FieldType: { enumValues: { "string": number; @@ -12499,21 +11066,8 @@ export var TypeInfo: { "picklistDouble": number; }; }; - FieldUpdate: { - fields: any; - }; - FormLayout: { - fields: any; - }; - Group: { - fields: any; - }; - HideStateModel: { - fields: any; - }; - Page: { - fields: any; - }; + FormLayout: any; + Page: any; PageType: { enumValues: { "custom": number; @@ -12522,33 +11076,6 @@ export var TypeInfo: { "attachments": number; }; }; - PickListItemModel: { - fields: any; - }; - PickListMetadataModel: { - fields: any; - }; - PickListModel: { - fields: any; - }; - Section: { - fields: any; - }; - WitContribution: { - fields: any; - }; - WorkItemStateInputModel: { - fields: any; - }; - WorkItemStateResultModel: { - fields: any; - }; - WorkItemTypeFieldModel: { - fields: any; - }; - WorkItemTypeModel: { - fields: any; - }; }; } declare module "TFS/WorkItemTracking/ProcessDefinitionsRestClient" { @@ -12952,21 +11479,8 @@ export enum ValidationIssueType { Error = 1, } export var TypeInfo: { - ProcessExportResult: { - fields: any; - }; - ProcessImportResult: { - fields: any; - }; - ProcessPromoteStatus: { - fields: any; - }; - ProcessTemplateModel: { - fields: any; - }; - ValidationIssue: { - fields: any; - }; + ProcessImportResult: any; + ValidationIssue: any; ValidationIssueType: { enumValues: { "warning": number; @@ -13576,6 +12090,12 @@ export interface IWorkItemFormService { */ setFieldValues(fields: IDictionaryStringTo): IPromise>; /** + * Gets the allowed values for the field on active work item. Returns an array of values. + * + * @param fieldReferenceName Field reference name + */ + getAllowedFieldValues(fieldReferenceName: string): IPromise; + /** * Returns true if active work item is dirty */ isDirty(): IPromise; @@ -13732,6 +12252,7 @@ export interface BoardFields { } export interface BoardFilterSettings { criteria: FilterModel; + parentWorkItemIds: number[]; queryText: string; } export interface BoardReference extends ShallowReference { @@ -13820,6 +12341,11 @@ export interface Member { uniqueName: string; url: string; } +export interface ParentChildWIMap { + childWorkItemIds: number[]; + id: number; + title: string; +} /** * Process Configurations for the project */ @@ -14009,30 +12535,8 @@ export interface TeamSettingsPatch { workingDays: System_Contracts.DayOfWeek[]; } export var TypeInfo: { - Activity: { - fields: any; - }; - attribute: { - fields: any; - }; - Board: { - fields: any; - }; - BoardCardRuleSettings: { - fields: any; - }; - BoardCardSettings: { - fields: any; - }; - BoardChart: { - fields: any; - }; - BoardChartReference: { - fields: any; - }; - BoardColumn: { - fields: any; - }; + Board: any; + BoardColumn: any; BoardColumnType: { enumValues: { "incoming": number; @@ -14040,24 +12544,6 @@ export var TypeInfo: { "outgoing": number; }; }; - BoardFields: { - fields: any; - }; - BoardFilterSettings: { - fields: any; - }; - BoardReference: { - fields: any; - }; - BoardRow: { - fields: any; - }; - BoardSuggestedValue: { - fields: any; - }; - BoardUserSettings: { - fields: any; - }; BugsBehavior: { enumValues: { "off": number; @@ -14065,75 +12551,15 @@ export var TypeInfo: { "asTasks": number; }; }; - CapacityPatch: { - fields: any; - }; - CategoryConfiguration: { - fields: any; - }; - DateRange: { - fields: any; - }; - FieldReference: { - fields: any; - }; - FieldSetting: { - fields: any; - }; - FilterClause: { - fields: any; - }; - FilterGroup: { - fields: any; - }; - FilterModel: { - fields: any; - }; - Member: { - fields: any; - }; - ProcessConfiguration: { - fields: any; - }; - Rule: { - fields: any; - }; - ShallowReference: { - fields: any; - }; - TeamFieldValue: { - fields: any; - }; - TeamFieldValues: { - fields: any; - }; - TeamFieldValuesPatch: { - fields: any; - }; - TeamIterationAttributes: { - fields: any; - }; - TeamMemberCapacity: { - fields: any; - }; - TeamSetting: { - fields: any; - }; - TeamSettingsDataContractBase: { - fields: any; - }; - TeamSettingsDaysOff: { - fields: any; - }; - TeamSettingsDaysOffPatch: { - fields: any; - }; - TeamSettingsIteration: { - fields: any; - }; - TeamSettingsPatch: { - fields: any; - }; + CapacityPatch: any; + DateRange: any; + TeamIterationAttributes: any; + TeamMemberCapacity: any; + TeamSetting: any; + TeamSettingsDaysOff: any; + TeamSettingsDaysOffPatch: any; + TeamSettingsIteration: any; + TeamSettingsPatch: any; }; } declare module "TFS/Work/RestClient" { @@ -14400,6 +12826,15 @@ export class WorkHttpClient3 extends CommonMethods2To3 { * @return IPromise */ updateBoardFilterSettings(filterSettings: Contracts.BoardFilterSettings, teamContext: TFS_Core_Contracts.TeamContext, board: string): IPromise; + /** + * [Preview API] Returns the list of parent field filter model for the given list of workitem ids + * + * @param {TFS_Core_Contracts.TeamContext} teamContext - The team context for the operation + * @param {string} childBacklogContextCategoryRefName + * @param {number[]} workitemIds + * @return IPromise + */ + getBoardMappingParentItems(teamContext: TFS_Core_Contracts.TeamContext, childBacklogContextCategoryRefName: string, workitemIds: number[]): IPromise; /** * [Preview API] * diff --git a/typings/vss.d.ts b/typings/vss.d.ts index 83acc12..ea9bda2 100644 --- a/typings/vss.d.ts +++ b/typings/vss.d.ts @@ -1,5 +1,5 @@ -// Type definitions for Microsoft Visual Studio Services v100.20160601.1948 -// Project: http://www.visualstudio.com/integrate/extensions/overview +// Type definitions for Microsoft Visual Studio Services v101.20160627.0901 +// Project: https://www.visualstudio.com/integrate/extensions/overview // Definitions by: Microsoft /// @@ -29,6 +29,16 @@ interface IVssAjaxOptions { * If true, the progress indicator will be shown while the request is executing. Defaults to true. */ showProgressIndicator?: boolean; + + /** + * Current session id. Defaults to pageContext.diagnostics.sessionId. + */ + sessionId?: string; + + /** + * Current command for activity logging. + */ + command?: string; } /** @@ -338,6 +348,17 @@ interface IExtensionInitializationOptions { extensionReusedCallback?: (contribution: Contribution) => void; } +/** +* Storage that can be leveraged by sandboxed extension content. The host frame will +* store this data in localStorage for the extension's publisher id. +*/ +interface ISandboxedStorage { + /** + * Used by the VSS.SDK to shim localStorage for sandboxed content - for a given publisher. + */ + localStorage?: IDictionaryStringTo; +} + /** * Data passed from the host to an extension frame via the initial handshake */ @@ -362,6 +383,11 @@ interface IHostHandshakeData { * The contribution that caused the extension frame to be loaded. */ contribution: Contribution; + + /** + * Initial sandboxed-storage data for the current extension's publisher. + */ + sandboxedStorage?: ISandboxedStorage; } /** @@ -917,6 +943,23 @@ interface IContributedTab { */ isDisabled?: (context?: any) => boolean | IPromise; } + +/** + * @exemptedapi + */ +interface HubResult extends Hub { + hubs?: Hub[]; + + targetHubId?: string; + getHubs?(context: any): Hub[] | IPromise; +} + +/** + * @exemptedapi + */ +interface IHubsProvider { + getHubs(context: any): HubResult | IPromise; +} //---------------------------------------------------------- // Copyright (C) Microsoft Corporation. All rights reserved. //---------------------------------------------------------- @@ -1380,6 +1423,14 @@ interface DiagnosticsContext { * Whether or not to enable static content bundling. This is on by default but the value can be overridden with a TFS-BUNDLING cookie or registry entry. */ bundlingEnabled: boolean; + /** + * True if the CDN feature flag is enabled. + */ + cdnAvailable: boolean; + /** + * True if the CDN feature flag is enabled and the user has not disabled CDN with a cookie. + */ + cdnEnabled: boolean; debugMode: boolean; isDevFabric: boolean; sessionId: string; @@ -1728,6 +1779,7 @@ interface HostContext { interface Hub { builtIn: boolean; groupId: string; + icon: string; id: string; isSelected: boolean; name: string; @@ -1741,6 +1793,7 @@ interface Hub { interface HubGroup { builtIn: boolean; hasHubs: boolean; + icon: string; id: string; name: string; order: any; @@ -2660,6 +2713,10 @@ export enum AccountStatus { * This account is part of deletion batch and scheduled for deletion. */ Deleted = 3, + /** + * This account is not mastered locally and has physically moved. + */ + Moved = 4, } export enum AccountType { Personal = 0, @@ -2723,15 +2780,7 @@ export enum AccountUserStatus { PendingDisabled = 6, } export var TypeInfo: { - Account: { - fields: any; - }; - AccountCreateInfoInternal: { - fields: any; - }; - AccountLicenseInfo: { - fields: any; - }; + Account: any; AccountLicenseSource: { enumValues: { "none": number; @@ -2755,15 +2804,6 @@ export var TypeInfo: { "vsEarlyAdopter": number; }; }; - AccountNameAvailability: { - fields: any; - }; - AccountPreferencesInternal: { - fields: any; - }; - AccountRegion: { - fields: any; - }; AccountServiceRights: { enumValues: { "standardLicense": number; @@ -2778,6 +2818,7 @@ export var TypeInfo: { "enabled": number; "disabled": number; "deleted": number; + "moved": number; }; }; AccountType: { @@ -2786,9 +2827,7 @@ export var TypeInfo: { "organization": number; }; }; - AccountUser: { - fields: any; - }; + AccountUser: any; AccountUserStatus: { enumValues: { "none": number; @@ -3190,18 +3229,13 @@ export interface WebSessionToken { validTo: Date; } export var TypeInfo: { - CustomerIntelligenceEvent: { - fields: any; - }; DelegatedAppTokenType: { enumValues: { "session": number; "app": number; }; }; - WebSessionToken: { - fields: any; - }; + WebSessionToken: any; }; } declare module "VSS/Authentication/RestClient" { @@ -3404,6 +3438,10 @@ export interface AzureOfferPlanDefinition { * The meter id which identifies the offer meter this plan is associated with */ meterId: number; + /** + * The offer / product name as defined by the publisher in Azure + */ + offerId: string; /** * The offer / product name as defined by the publisher in Azure */ @@ -3424,6 +3462,10 @@ export interface AzureOfferPlanDefinition { * The publisher of the plan as defined by the publisher in Azure */ publisher: string; + /** + * get/set publisher name + */ + publisherName: string; /** * The number of users associated with the plan as defined in Azure */ @@ -3677,11 +3719,6 @@ export enum MeterCategory { Bundle = 1, Extension = 2, } -export enum MeterGroupType { - License = 0, - Build = 1, - LoadTest = 2, -} export enum MeterRenewalFrequecy { None = 0, Monthly = 1, @@ -4022,13 +4059,6 @@ export interface SubscriptionResource { */ resetDate: Date; } -export enum SubscriptionSource { - Normal = 0, - EnterpriseAgreement = 1, - Internal = 2, - Unknown = 3, - FreeTier = 4, -} export enum SubscriptionStatus { Unknown = 0, Active = 1, @@ -4105,30 +4135,16 @@ export var TypeInfo: { "marketplace": number; }; }; - AzureOfferPlanDefinition: { - fields: any; - }; - AzureRegion: { - fields: any; - }; BillingProvider: { enumValues: { "selfManaged": number; "azureStoreManaged": number; }; }; - IOfferSubscription: { - fields: any; - }; - ISubscriptionAccount: { - fields: any; - }; - ISubscriptionResource: { - fields: any; - }; - IUsageEventAggregate: { - fields: any; - }; + IOfferSubscription: any; + ISubscriptionAccount: any; + ISubscriptionResource: any; + IUsageEventAggregate: any; MeterBillingState: { enumValues: { "free": number; @@ -4142,13 +4158,6 @@ export var TypeInfo: { "extension": number; }; }; - MeterGroupType: { - enumValues: { - "license": number; - "build": number; - "loadTest": number; - }; - }; MeterRenewalFrequecy: { enumValues: { "none": number; @@ -4164,18 +4173,13 @@ export var TypeInfo: { "deleted": number; }; }; - OfferMeter: { - fields: any; - }; + OfferMeter: any; OfferMeterAssignmentModel: { enumValues: { "explicit": number; "implicit": number; }; }; - OfferMeterPrice: { - fields: any; - }; OfferScope: { enumValues: { "account": number; @@ -4183,12 +4187,8 @@ export var TypeInfo: { "userAccount": number; }; }; - OfferSubscription: { - fields: any; - }; - PurchasableOfferMeter: { - fields: any; - }; + OfferSubscription: any; + PurchasableOfferMeter: any; PurchaseErrorReason: { enumValues: { "none": number; @@ -4243,18 +4243,7 @@ export var TypeInfo: { "maximumQuantityReached": number; }; }; - SubscriptionResource: { - fields: any; - }; - SubscriptionSource: { - enumValues: { - "normal": number; - "enterpriseAgreement": number; - "internal": number; - "unknown": number; - "freeTier": number; - }; - }; + SubscriptionResource: any; SubscriptionStatus: { enumValues: { "unknown": number; @@ -4264,9 +4253,7 @@ export var TypeInfo: { "unregistered": number; }; }; - UsageEvent: { - fields: any; - }; + UsageEvent: any; }; } declare module "VSS/Commerce/RestClient" { @@ -4579,9 +4566,7 @@ export module WebAccessCustomerIntelligenceConstants { export module WebPlatformFeatureFlags { var VisualStudioServicesContribution: string; var VisualStudioServicesContributionUnSecureBrowsers: string; - var VisualStudioServicesContributionFramework: string; var ClientSideErrorLogging: string; - var UseCDN: string; } } declare module "VSS/Common/Contracts/FormInput" { @@ -4826,15 +4811,9 @@ export var TypeInfo: { "uri": number; }; }; - InputDescriptor: { - fields: any; - }; - InputFilter: { - fields: any; - }; - InputFilterCondition: { - fields: any; - }; + InputDescriptor: any; + InputFilter: any; + InputFilterCondition: any; InputFilterOperator: { enumValues: { "equals": number; @@ -4852,21 +4831,7 @@ export var TypeInfo: { "textArea": number; }; }; - InputValidation: { - fields: any; - }; - InputValue: { - fields: any; - }; - InputValues: { - fields: any; - }; - InputValuesError: { - fields: any; - }; - InputValuesQuery: { - fields: any; - }; + InputValidation: any; }; } declare module "VSS/Common/Contracts/Platform" { @@ -5197,6 +5162,7 @@ export interface HostContext { export interface Hub { builtIn: boolean; groupId: string; + icon: string; id: string; isSelected: boolean; name: string; @@ -5209,6 +5175,7 @@ export interface Hub { export interface HubGroup { builtIn: boolean; hasHubs: boolean; + icon: string; id: string; name: string; order: any; @@ -6041,6 +6008,20 @@ export function processContributedServiceContext(context: Contracts_Platform.Con declare module "VSS/Contributions/Contracts" { import VSS_Common_Contracts = require("VSS/WebApi/Contracts"); import VSS_Gallery_Contracts = require("VSS/Gallery/Contracts"); +export interface AcquisitionOperation { + /** + * State of the the AcquisitionOperation for the current user + */ + operationState: AcquisitionOperationState; + /** + * AcquisitionOperationType: install, request, buy, etc... + */ + operationType: AcquisitionOperationType; + /** + * Optional reason to justify current state. Typically used with Disallow state. + */ + reason: string; +} export enum AcquisitionOperationState { /** * Not allowed to use this AcquisitionOperation @@ -6081,6 +6062,27 @@ export enum AcquisitionOperationType { */ None = 5, } +/** + * Market item acquisition options (install, buy, etc) for an installation target. + */ +export interface AcquisitionOptions { + /** + * Default Operation for the ItemId in this target + */ + defaultOperation: AcquisitionOperation; + /** + * The item id that this options refer to + */ + itemId: string; + /** + * Operations allowed for the ItemId in this target + */ + operations: AcquisitionOperation[]; + /** + * The target that this options refer to + */ + target: string; +} /** * An individual contribution made by an extension */ @@ -6211,29 +6213,6 @@ export enum ContributionPropertyType { */ Object = 512, } -export enum ContributionQueryOptions { - None = 0, - /** - * Include the direct contributions that have the ids queried. - */ - IncludeSelf = 16, - /** - * Include the contributions that directly target the contributions queried. - */ - IncludeChildren = 32, - /** - * Include the contributions from the entire sub-tree targetting the contributions queried. - */ - IncludeSubTree = 96, - /** - * Include the contribution being queried as well as all contributions that target them recursively. - */ - IncludeAll = 112, - /** - * INTERNAL ONLY: This flag is used to control how contribution nodes are managed internally. If the caller supplied this flag it will be ignored. - */ - ProduceNodes = 256, -} /** * A contribution type, given by a json schema */ @@ -6592,6 +6571,10 @@ export interface InstalledExtension extends ExtensionManifest { */ version: string; } +export interface InstalledExtensionQuery { + assetTypes: string[]; + monikers: VSS_Gallery_Contracts.ExtensionIdentifier[]; +} /** * The state of an installed extension */ @@ -6605,16 +6588,6 @@ export interface InstalledExtensionState { */ lastUpdated: Date; } -export enum RenderOprtions { - /** - * No optional rendering features will be enabled. - */ - None = 0, - /** - * Performance metrics about the Render will be collected and returned. This includes details about the timing and sizes of response from each component of the pipeline. This will slightly increase the cost of the rendering to track the metrics. - */ - CollectPerformanceMetrics = 1, -} /** * A request for an extension (to be installed or have a license assigned) */ @@ -6674,6 +6647,7 @@ export interface SupportedExtension { version: string; } export var TypeInfo: { + AcquisitionOperation: any; AcquisitionOperationState: { enumValues: { "disallow": number; @@ -6691,18 +6665,8 @@ export var TypeInfo: { "none": number; }; }; - Contribution: { - fields: any; - }; - ContributionBase: { - fields: any; - }; - ContributionConstraint: { - fields: any; - }; - ContributionPropertyDescription: { - fields: any; - }; + AcquisitionOptions: any; + ContributionPropertyDescription: any; ContributionPropertyType: { enumValues: { "unknown": number; @@ -6718,61 +6682,17 @@ export var TypeInfo: { "object": number; }; }; - ContributionQueryOptions: { - enumValues: { - "none": number; - "includeSelf": number; - "includeChildren": number; - "includeSubTree": number; - "includeAll": number; - "produceNodes": number; - }; - }; - ContributionType: { - fields: any; - }; - DataProviderContext: { - fields: any; - }; - DataProviderQuery: { - fields: any; - }; - DataProviderResult: { - fields: any; - }; - ExtensionAuditAction: { - fields: any; - }; - ExtensionAuditLog: { - fields: any; - }; - ExtensionAuditLogEntry: { - fields: any; - }; - ExtensionDataCollection: { - fields: any; - }; - ExtensionDataCollectionQuery: { - fields: any; - }; - ExtensionEventCallback: { - fields: any; - }; - ExtensionEventCallbackCollection: { - fields: any; - }; + ContributionType: any; + ExtensionAuditLog: any; + ExtensionAuditLogEntry: any; ExtensionFlags: { enumValues: { "builtIn": number; "trusted": number; }; }; - ExtensionManifest: { - fields: any; - }; - ExtensionRequest: { - fields: any; - }; + ExtensionManifest: any; + ExtensionRequest: any; ExtensionRequestState: { enumValues: { "open": number; @@ -6780,9 +6700,7 @@ export var TypeInfo: { "rejected": number; }; }; - ExtensionState: { - fields: any; - }; + ExtensionState: any; ExtensionStateFlags: { enumValues: { "none": number; @@ -6795,30 +6713,9 @@ export var TypeInfo: { "error": number; }; }; - InstalledExtension: { - fields: any; - }; - InstalledExtensionState: { - fields: any; - }; - RenderOprtions: { - enumValues: { - "none": number; - "collectPerformanceMetrics": number; - }; - }; - RequestedExtension: { - fields: any; - }; - ResolvedDataProvider: { - fields: any; - }; - Scope: { - fields: any; - }; - SupportedExtension: { - fields: any; - }; + InstalledExtension: any; + InstalledExtensionState: any; + RequestedExtension: any; }; } declare module "VSS/Contributions/Controls" { @@ -7086,9 +6983,10 @@ export class ExtensionService extends Service.VssService { * @param includeRootItems True to include the contributions with the specified ids * @param includeChildren True to include contributions that target the specified ids * @param recursive If true include targeting children recursively + * @param contributionType Optional type of contribution to filter by * @return IPromise Promise that is resolved when contributions are available. */ - getContributions(ids: string[], includeRootItems: boolean, includeChildren: boolean, recursive?: boolean): IPromise; + getContributions(ids: string[], includeRootItems: boolean, includeChildren: boolean, recursive?: boolean, contributionType?: string): IPromise; /** * Contribution come from extensions and when the caller needs properties about the * extension the contribution came from, this method can be used to retrieve it. @@ -8685,6 +8583,7 @@ export class DialogO extends Panels.AjaxPanelO< * Gets the current subtitle of the dialog */ getSubtitle(): string; + centerDialog(): void; /** * Gets the current dialog result which will be used when ok button is clicked. * @@ -9828,10 +9727,10 @@ export interface IGridOptions { suppressRedraw?: boolean; keepSelection?: boolean; /** - * Specifies whether to use the modern bowtie styling (bowtie styles are in preview and subject to change). + * Specifies whether to use the legacy grid style rather than Bowtie. * @defaultvalue false */ - useBowtieStyle?: boolean; + useLegacyStyle?: boolean; /** * @privateapi * Type of the formatter which is used for retrieving the content from the grid @@ -10068,6 +9967,8 @@ export class GridO extends Controls.Control extends Controls.Control extends Controls.Control extends Controls.Control { initializeOptions(options?: ContributableHeaderOptions): void; protected renderContributions(): void; + protected filterContributions(contributions: Contributions_Contracts.Contribution[]): Contributions_Contracts.Contribution[]; protected groupContributionsByAlignment(contributions: Contributions_Contracts.Contribution[]): IDictionaryStringTo; private renderContributedSection(contributions, selector); } @@ -11362,6 +11265,21 @@ export interface IMenuItemSpec extends IContributedMenuItem { * The id of the extension that contributed the menu item. */ sourceExtensionId?: string; + /** + * Extra option overriding default settings + */ + extraOptions?: any; + /** + * Determines whether clicking a menu item with children opens sub menu or not. + * @defaultValue true + */ + clickOpensSubMenu?: boolean; + /** + * Option to renders a split drop menu item (eg a chevron or triangle) + */ + splitDropOptions?: ISplitDropMenuItemSpec; +} +export interface ISplitDropMenuItemSpec extends IMenuItemSpec { } export interface MenuBaseOptions { type: string; @@ -12571,17 +12489,6 @@ export class MessageAreaControlO ex } export class MessageAreaControl extends MessageAreaControlO { } -export class UnsupportedBrowserMessageControl extends Controls.BaseControl { - private _messageArea; - /** - * A message area control that displays a message to a user until they dismiss it. - */ - constructor(options?: any); - /** - * Initialize the control, creating the message area and binding to the dismiss event - */ - initialize(): void; -} export interface IInformationAreaControlOptions { caption?: string; expandedIconClass?: string; @@ -13337,9 +13244,10 @@ export class SplitterO extends Controls.Contr * @param newSize New fixed side size in px. * @param suppressFireResize Determines whether to suppress firing resize event or not. * @param useAnimation Determines whether to use animation during resize or not. + * @param complete A callback function to notify that the resize operation completes. * @publicapi */ - resize(newSize: any, suppressFireResize?: boolean, useAnimation?: boolean): void; + resize(newSize: any, suppressFireResize?: boolean, useAnimation?: boolean, complete?: Function): void; /** * Expand or collapse the splitter. * @@ -15099,17 +15007,6 @@ export interface AccessTokenResult { tokenType: string; validTo: Date; } -export enum AppSessionTokenError { - None = 0, - UserIdRequired = 1, - ClientIdRequired = 2, - InvalidUserId = 3, - InvalidUserType = 4, - AccessDenied = 5, - FailedToIssueAppSessionToken = 6, - InvalidClientId = 7, - AuthorizationIsNotSuccessfull = 8, -} export interface Authorization { accessIssued: Date; audience: string; @@ -15177,14 +15074,7 @@ export enum GrantType { JwtBearer = 1, RefreshToken = 2, Implicit = 3, -} -export enum HostAuthorizationError { - None = 0, - ClientIdRequired = 1, - AccessDenied = 2, - FailedToAuthorizeHost = 3, - ClientIdNotFound = 4, - InvalidClientId = 5, + ClientCredentials = 4, } export enum InitiationError { None = 0, @@ -15234,33 +15124,6 @@ export enum ResponseType { AppToken = 5, Code = 6, } -export enum SessionTokenError { - None = 0, - DisplayNameRequired = 1, - InvalidDisplayName = 2, - InvalidValidTo = 3, - InvalidScope = 4, - UserIdRequired = 5, - InvalidUserId = 6, - InvalidUserType = 7, - AccessDenied = 8, - FailedToIssueAccessToken = 9, - InvalidClient = 10, - InvalidClientType = 11, - InvalidClientId = 12, - InvalidTargetAccounts = 13, - HostAuthorizationNotFound = 14, - AuthorizationNotFound = 15, - FailedToUpdateAccessToken = 16, - SourceNotSupported = 17, - InvalidSourceIP = 18, - InvalidSource = 19, - DuplicateHash = 20, -} -export enum SessionTokenType { - SelfDescribing = 0, - Compact = 1, -} export enum TokenError { None = 0, GrantTypeRequired = 1, @@ -15298,35 +15161,12 @@ export interface TokenPairResult { tokenError: TokenError; } export var TypeInfo: { - AccessTokenResult: { - fields: any; - }; - AppSessionTokenError: { - enumValues: { - "none": number; - "userIdRequired": number; - "clientIdRequired": number; - "invalidUserId": number; - "invalidUserType": number; - "accessDenied": number; - "failedToIssueAppSessionToken": number; - "invalidClientId": number; - "authorizationIsNotSuccessfull": number; - }; - }; - Authorization: { - fields: any; - }; - AuthorizationDecision: { - fields: any; - }; - AuthorizationDescription: { - fields: any; - }; - AuthorizationDetails: { - fields: any; - }; - AuthorizationError: { + AccessTokenResult: any; + Authorization: any; + AuthorizationDecision: any; + AuthorizationDescription: any; + AuthorizationDetails: any; + AuthorizationError: { enumValues: { "none": number; "clientIdRequired": number; @@ -15343,12 +15183,7 @@ export var TypeInfo: { "accessDenied": number; }; }; - AuthorizationGrant: { - fields: any; - }; - AuthorizationScopeDescription: { - fields: any; - }; + AuthorizationGrant: any; ClientType: { enumValues: { "confidential": number; @@ -15364,16 +15199,7 @@ export var TypeInfo: { "jwtBearer": number; "refreshToken": number; "implicit": number; - }; - }; - HostAuthorizationError: { - enumValues: { - "none": number; - "clientIdRequired": number; - "accessDenied": number; - "failedToAuthorizeHost": number; - "clientIdNotFound": number; - "invalidClientId": number; + "clientCredentials": number; }; }; InitiationError: { @@ -15390,12 +15216,8 @@ export var TypeInfo: { "invalidRedirectUri": number; }; }; - RefreshTokenGrant: { - fields: any; - }; - Registration: { - fields: any; - }; + RefreshTokenGrant: any; + Registration: any; ResponseType: { enumValues: { "none": number; @@ -15407,37 +15229,6 @@ export var TypeInfo: { "code": number; }; }; - SessionTokenError: { - enumValues: { - "none": number; - "displayNameRequired": number; - "invalidDisplayName": number; - "invalidValidTo": number; - "invalidScope": number; - "userIdRequired": number; - "invalidUserId": number; - "invalidUserType": number; - "accessDenied": number; - "failedToIssueAccessToken": number; - "invalidClient": number; - "invalidClientType": number; - "invalidClientId": number; - "invalidTargetAccounts": number; - "hostAuthorizationNotFound": number; - "authorizationNotFound": number; - "failedToUpdateAccessToken": number; - "sourceNotSupported": number; - "invalidSourceIP": number; - "invalidSource": number; - "duplicateHash": number; - }; - }; - SessionTokenType: { - enumValues: { - "selfDescribing": number; - "compact": number; - }; - }; TokenError: { enumValues: { "none": number; @@ -15470,9 +15261,6 @@ export var TypeInfo: { "authorizationGrantScopeMissing": number; }; }; - TokenPairResult: { - fields: any; - }; }; } declare module "VSS/DelegatedAuthorization/RestClient" { @@ -16483,29 +16271,6 @@ export enum ContributionPropertyType { */ Object = 512, } -export enum ContributionQueryOptions { - None = 0, - /** - * Include the direct contributions that have the ids queried. - */ - IncludeSelf = 16, - /** - * Include the contributions that directly target the contributions queried. - */ - IncludeChildren = 32, - /** - * Include the contributions from the entire sub-tree targetting the contributions queried. - */ - IncludeSubTree = 96, - /** - * Include the contribution being queried as well as all contributions that target them recursively. - */ - IncludeAll = 112, - /** - * INTERNAL ONLY: This flag is used to control how contribution nodes are managed internally. If the caller supplied this flag it will be ignored. - */ - ProduceNodes = 256, -} /** * A contribution type, given by a json schema */ @@ -16881,16 +16646,6 @@ export interface InstalledExtensionState { */ lastUpdated: Date; } -export enum RenderOprtions { - /** - * No optional rendering features will be enabled. - */ - None = 0, - /** - * Performance metrics about the Render will be collected and returned. This includes details about the timing and sizes of response from each component of the pipeline. This will slightly increase the cost of the rendering to track the metrics. - */ - CollectPerformanceMetrics = 1, -} /** * A request for an extension (to be installed or have a license assigned) */ @@ -16950,9 +16705,7 @@ export interface SupportedExtension { version: string; } export var TypeInfo: { - AcquisitionOperation: { - fields: any; - }; + AcquisitionOperation: any; AcquisitionOperationState: { enumValues: { "disallow": number; @@ -16970,21 +16723,8 @@ export var TypeInfo: { "none": number; }; }; - AcquisitionOptions: { - fields: any; - }; - Contribution: { - fields: any; - }; - ContributionBase: { - fields: any; - }; - ContributionConstraint: { - fields: any; - }; - ContributionPropertyDescription: { - fields: any; - }; + AcquisitionOptions: any; + ContributionPropertyDescription: any; ContributionPropertyType: { enumValues: { "unknown": number; @@ -17000,61 +16740,17 @@ export var TypeInfo: { "object": number; }; }; - ContributionQueryOptions: { - enumValues: { - "none": number; - "includeSelf": number; - "includeChildren": number; - "includeSubTree": number; - "includeAll": number; - "produceNodes": number; - }; - }; - ContributionType: { - fields: any; - }; - DataProviderContext: { - fields: any; - }; - DataProviderQuery: { - fields: any; - }; - DataProviderResult: { - fields: any; - }; - ExtensionAuditAction: { - fields: any; - }; - ExtensionAuditLog: { - fields: any; - }; - ExtensionAuditLogEntry: { - fields: any; - }; - ExtensionDataCollection: { - fields: any; - }; - ExtensionDataCollectionQuery: { - fields: any; - }; - ExtensionEventCallback: { - fields: any; - }; - ExtensionEventCallbackCollection: { - fields: any; - }; + ContributionType: any; + ExtensionAuditLog: any; + ExtensionAuditLogEntry: any; ExtensionFlags: { enumValues: { "builtIn": number; "trusted": number; }; }; - ExtensionManifest: { - fields: any; - }; - ExtensionRequest: { - fields: any; - }; + ExtensionManifest: any; + ExtensionRequest: any; ExtensionRequestState: { enumValues: { "open": number; @@ -17062,9 +16758,7 @@ export var TypeInfo: { "rejected": number; }; }; - ExtensionState: { - fields: any; - }; + ExtensionState: any; ExtensionStateFlags: { enumValues: { "none": number; @@ -17077,37 +16771,13 @@ export var TypeInfo: { "error": number; }; }; - InstalledExtension: { - fields: any; - }; - InstalledExtensionQuery: { - fields: any; - }; - InstalledExtensionState: { - fields: any; - }; - RenderOprtions: { - enumValues: { - "none": number; - "collectPerformanceMetrics": number; - }; - }; - RequestedExtension: { - fields: any; - }; - ResolvedDataProvider: { - fields: any; - }; - Scope: { - fields: any; - }; - SupportedExtension: { - fields: any; - }; + InstalledExtension: any; + InstalledExtensionState: any; + RequestedExtension: any; }; } declare module "VSS/ExtensionManagement/RestClient" { -import Contracts = require("VSS/ExtensionManagement/Contracts"); +import Contracts = require("VSS/Contributions/Contracts"); import VSS_Gallery_Contracts = require("VSS/Gallery/Contracts"); import VSS_WebApi = require("VSS/WebApi/RestClient"); export class CommonMethods2To3 extends VSS_WebApi.VssHttpClient { @@ -17358,6 +17028,14 @@ export class ExtensionManagementHttpClient extends ExtensionManagementHttpClient export function getClient(options?: VSS_WebApi.IVssHttpClientOptions): ExtensionManagementHttpClient2_2; } declare module "VSS/FeatureAvailability/Contracts" { +/** + * --------------------------------------------------------- + * Generated file, DO NOT EDIT + * --------------------------------------------------------- + * + * See following wiki page for instructions on how to regenerate: + * https://vsowiki.com/index.php?title=Rest_Client_Generation + */ export interface FeatureFlag { description: string; effectiveState: string; @@ -17371,14 +17049,6 @@ export interface FeatureFlag { export interface FeatureFlagPatch { state: string; } -export var TypeInfo: { - FeatureFlag: { - fields: any; - }; - FeatureFlagPatch: { - fields: any; - }; -}; } declare module "VSS/FeatureAvailability/RestClient" { import Contracts = require("VSS/FeatureAvailability/Contracts"); @@ -17662,12 +17332,8 @@ export var TypeInfo: { "none": number; }; }; - FileContainer: { - fields: any; - }; - FileContainerItem: { - fields: any; - }; + FileContainer: any; + FileContainerItem: any; }; } declare module "VSS/FileContainer/RestClient" { @@ -18251,12 +17917,6 @@ export interface ExtensionStatistic { statisticName: string; value: number; } -export enum ExtensionStatisticOperation { - None = 0, - Set = 1, - Increment = 2, - Decrement = 3, -} export interface ExtensionVersion { assetUri: string; files: ExtensionFile[]; @@ -18489,20 +18149,6 @@ export interface PublisherQuery { */ flags: PublisherQueryFlags; } -export enum PublisherQueryFilterType { - /** - * The values are used as tags. All tags are treated as "OR" conditions with each other. There may be some value put on the number of matched tags from the query. - */ - Tag = 1, - /** - * The Values are an PublisherName or fragment that is used to match other extension names. - */ - DisplayName = 2, - /** - * The My Query filter is used to retrieve the set of publishers that I have access to publish extesions into. All Values are ignored and the calling user is used as the filter in this case. - */ - My = 3, -} export enum PublisherQueryFlags { /** * None is used to retrieve only the basic publisher details. @@ -18619,6 +18265,10 @@ export interface Review { * Rating procided by the user */ rating: number; + /** + * Reply, if any, for this review + */ + reply: ReviewReply; /** * Text description of the review */ @@ -18678,6 +18328,40 @@ export enum ReviewPatchOperation { */ UpdateReview = 2, } +export interface ReviewReply { + /** + * Id of the reply + */ + id: number; + /** + * Flag for soft deletion + */ + isDeleted: boolean; + /** + * Version of the product when the reply was submitted or updated + */ + productVersion: string; + /** + * Content of the reply + */ + replyText: string; + /** + * Id of the review, to which this reply belongs + */ + reviewId: number; + /** + * Title of the reply + */ + title: string; + /** + * Date the reply was submitted or updated + */ + updatedDate: Date; + /** + * Id of the user who left the reply + */ + userId: string; +} export interface ReviewsResult { /** * Flag indicating if there are more reviews to be shown (for paging) @@ -18692,10 +18376,6 @@ export interface ReviewsResult { */ totalReviewCount: number; } -export enum SigningKeyPermissions { - Read = 1, - Write = 2, -} export enum SortByType { /** * The results will be sorted by relevance in case search query is given, if no search query resutls will be provided as is @@ -18799,9 +18479,7 @@ export var TypeInfo: { "all": number; }; }; - AcquisitionOperation: { - fields: any; - }; + AcquisitionOperation: any; AcquisitionOperationState: { enumValues: { "disallow": number; @@ -18819,28 +18497,8 @@ export var TypeInfo: { "none": number; }; }; - AcquisitionOptions: { - fields: any; - }; - AzurePublisher: { - fields: any; - }; - AzureRestApiRequestModel: { - fields: any; - }; - AzureRestApiRequestOperationType: { - enumValues: { - "preview": number; - "production": number; - "hide": number; - "show": number; - "deletePreview": number; - "deleteProduction": number; - }; - }; - AzureRestApiResponseModel: { - fields: any; - }; + AcquisitionOptions: any; + AzureRestApiResponseModel: any; ConcernCategory: { enumValues: { "general": number; @@ -18848,30 +18506,9 @@ export var TypeInfo: { "spam": number; }; }; - ExtensionAcquisitionRequest: { - fields: any; - }; - ExtensionCategory: { - fields: any; - }; - ExtensionFile: { - fields: any; - }; - ExtensionFilterResult: { - fields: any; - }; - ExtensionFilterResultMetadata: { - fields: any; - }; - ExtensionIdentifier: { - fields: any; - }; - ExtensionPackage: { - fields: any; - }; - ExtensionPolicy: { - fields: any; - }; + ExtensionAcquisitionRequest: any; + ExtensionFilterResult: any; + ExtensionPolicy: any; ExtensionPolicyFlags: { enumValues: { "none": number; @@ -18883,9 +18520,7 @@ export var TypeInfo: { "all": number; }; }; - ExtensionQuery: { - fields: any; - }; + ExtensionQuery: any; ExtensionQueryFilterType: { enumValues: { "tag": number; @@ -18918,50 +18553,21 @@ export var TypeInfo: { "allAttributes": number; }; }; - ExtensionQueryResult: { - fields: any; - }; - ExtensionShare: { - fields: any; - }; - ExtensionStatistic: { - fields: any; - }; - ExtensionStatisticOperation: { - enumValues: { - "none": number; - "set": number; - "increment": number; - "decrement": number; - }; - }; - ExtensionVersion: { - fields: any; - }; + ExtensionQueryResult: any; + ExtensionVersion: any; ExtensionVersionFlags: { enumValues: { "none": number; "validated": number; }; }; - FilterCriteria: { - fields: any; - }; - InstallationTarget: { - fields: any; - }; - MetadataItem: { - fields: any; - }; PagingDirection: { enumValues: { "backward": number; "forward": number; }; }; - PublishedExtension: { - fields: any; - }; + PublishedExtension: any; PublishedExtensionFlags: { enumValues: { "none": number; @@ -18976,15 +18582,9 @@ export var TypeInfo: { "preview": number; }; }; - Publisher: { - fields: any; - }; - PublisherFacts: { - fields: any; - }; - PublisherFilterResult: { - fields: any; - }; + Publisher: any; + PublisherFacts: any; + PublisherFilterResult: any; PublisherFlags: { enumValues: { "unChanged": number; @@ -19010,16 +18610,7 @@ export var TypeInfo: { "deletePublisher": number; }; }; - PublisherQuery: { - fields: any; - }; - PublisherQueryFilterType: { - enumValues: { - "tag": number; - "displayName": number; - "my": number; - }; - }; + PublisherQuery: any; PublisherQueryFlags: { enumValues: { "none": number; @@ -19027,12 +18618,8 @@ export var TypeInfo: { "includeEmailAddress": number; }; }; - PublisherQueryResult: { - fields: any; - }; - QueryFilter: { - fields: any; - }; + PublisherQueryResult: any; + QueryFilter: any; RestApiResponseStatus: { enumValues: { "completed": number; @@ -19041,12 +18628,8 @@ export var TypeInfo: { "skipped": number; }; }; - RestApiResponseStatusModel: { - fields: any; - }; - Review: { - fields: any; - }; + RestApiResponseStatusModel: any; + Review: any; ReviewFilterOptions: { enumValues: { "none": number; @@ -19054,24 +18637,15 @@ export var TypeInfo: { "filterEmptyUserNames": number; }; }; - ReviewPatch: { - fields: any; - }; + ReviewPatch: any; ReviewPatchOperation: { enumValues: { "flagReview": number; "updateReview": number; }; }; - ReviewsResult: { - fields: any; - }; - SigningKeyPermissions: { - enumValues: { - "read": number; - "write": number; - }; - }; + ReviewReply: any; + ReviewsResult: any; SortByType: { enumValues: { "relevance": number; @@ -19093,12 +18667,8 @@ export var TypeInfo: { "descending": number; }; }; - UserExtensionPolicy: { - fields: any; - }; - UserReportedConcern: { - fields: any; - }; + UserExtensionPolicy: any; + UserReportedConcern: any; }; } declare module "VSS/Gallery/RestClient" { @@ -19569,11 +19139,6 @@ export interface IdentityDescriptor { */ identityType: string; } -export enum IdentityMetaType { - Member = 0, - Guest = 1, - Unknown = 255, -} export interface IdentityScope { administrators: IdentityDescriptor; id: string; @@ -19632,17 +19197,6 @@ export interface IdentitySnapshot { scopeId: string; scopes: IdentityScope[]; } -export enum IdentityTypeId { - WindowsIdentity = 3, - TeamFoundationIdentity = 4, - ClaimsIdentity = 5, - BindPendingIdentity = 6, - UnauthenticatedIdentity = 7, - ServiceIdentity = 8, - AggregateIdentity = 9, - ImportedIdentity = 10, - ServerTestIdentity = 100, -} export interface IdentityUpdateData { id: string; index: number; @@ -19699,21 +19253,8 @@ export interface TenantInfo { tenantName: string; } export var TypeInfo: { - ChangedIdentities: { - fields: any; - }; - ChangedIdentitiesContext: { - fields: any; - }; - CreateGroupsInfo: { - fields: any; - }; - CreateScopeInfo: { - fields: any; - }; - FrameworkIdentityInfo: { - fields: any; - }; + CreateScopeInfo: any; + FrameworkIdentityInfo: any; FrameworkIdentityType: { enumValues: { "none": number; @@ -19722,9 +19263,6 @@ export var TypeInfo: { "importedIdentity": number; }; }; - GroupMembership: { - fields: any; - }; GroupScopeType: { enumValues: { "generic": number; @@ -19732,25 +19270,8 @@ export var TypeInfo: { "teamProject": number; }; }; - Identity: { - fields: any; - }; - IdentityBatchInfo: { - fields: any; - }; - IdentityDescriptor: { - fields: any; - }; - IdentityMetaType: { - enumValues: { - "member": number; - "guest": number; - "unknown": number; - }; - }; - IdentityScope: { - fields: any; - }; + IdentityBatchInfo: any; + IdentityScope: any; IdentitySearchFilter: { enumValues: { "accountName": number; @@ -19763,34 +19284,7 @@ export var TypeInfo: { "domain": number; }; }; - IdentitySelf: { - fields: any; - }; - IdentitySnapshot: { - fields: any; - }; - IdentityTypeId: { - enumValues: { - "windowsIdentity": number; - "teamFoundationIdentity": number; - "claimsIdentity": number; - "bindPendingIdentity": number; - "unauthenticatedIdentity": number; - "serviceIdentity": number; - "aggregateIdentity": number; - "importedIdentity": number; - "serverTestIdentity": number; - }; - }; - IdentityUpdateData: { - fields: any; - }; - JsonPatchOperationData: { - fields: any; - }; - MruIdentitiesUpdateData: { - fields: any; - }; + IdentitySnapshot: any; QueryMembership: { enumValues: { "none": number; @@ -19806,9 +19300,6 @@ export var TypeInfo: { "filterIllegalMemberships": number; }; }; - ReadOnlyIdentityDescriptor: { - fields: any; - }; SpecialGroupType: { enumValues: { "generic": number; @@ -19819,12 +19310,17 @@ export var TypeInfo: { "azureActiveDirectoryApplicationGroup": number; }; }; - TenantInfo: { - fields: any; - }; }; } declare module "VSS/Identities/Mru/Contracts" { +/** + * --------------------------------------------------------- + * Generated file, DO NOT EDIT + * --------------------------------------------------------- + * + * See following wiki page for instructions on how to regenerate: + * https://vsowiki.com/index.php?title=Rest_Client_Generation + */ export interface JsonPatchOperationData { op: string; path: string; @@ -19832,14 +19328,6 @@ export interface JsonPatchOperationData { } export interface MruIdentitiesUpdateData extends JsonPatchOperationData { } -export var TypeInfo: { - JsonPatchOperationData: { - fields: any; - }; - MruIdentitiesUpdateData: { - fields: any; - }; -}; } declare module "VSS/Identities/Mru/RestClient" { import Contracts = require("VSS/Identities/Mru/Contracts"); @@ -19986,12 +19474,16 @@ export class RequestCache implements IRequestCache { **/ setPromise(request: string, promise: IPromise): void; configure(config: IRequestCacheConfiguration): void; + /** + * This method is not using Utils_Core.DelayedFunction on purpose. + * The DelayedFunction is logging tracepoints and some tests use them for identifying if there are still actions left in a pending state. + * We want to exempt the active cache invalidation from being waited upon by the tests. + **/ private _setOrResetTimer(); private _cache; - private _timer; + private _timeoutHandle; private _config; private static _defaultDelayIntervalMS; - private static _timerName; } /** * @exemptedapi @@ -20334,7 +19826,7 @@ export interface IIdentityPickerIdCardDialogOptions extends Identities_Picker_Se **/ leftValue?: number; /** - * The left positioning offset of the dialog + * The top positioning offset of the dialog **/ topValue?: number; /** @@ -20604,7 +20096,7 @@ export class IdentityPickerSearchControl extends Controls.Control>; /** * This is the default way the controls internally fetch the key for disambiguating entities. - * Use-cases apart from calls by the controls here are not supported; provided as a example of merging logic. + * Use-cases apart from calls by the controls here are not supported; provided as an example of merging logic. **/ private static _getMergingKeyFromEntity(entity); private static _mergeSimilarEntities(x, y, mergePreference?); @@ -20839,9 +20331,6 @@ export interface IEntity { **/ localDirectory?: string; localId?: string; - /** - * Always set. - **/ displayName?: string; scopeName?: string; department?: string; @@ -20997,6 +20486,8 @@ export class ServiceHelpers { static DefaultAadGroupImage: string; static VisualStudioDirectory: string; static AzureActiveDirectory: string; + static ActiveDirectory: string; + static WindowsMachineDirectory: string; static SourceDirectory: string; static UserEntity: string; static GroupEntity: string; @@ -21010,7 +20501,7 @@ export class ServiceHelpers { static ExtensionData_MaterializedAadGroupsOnlyItem: string; static GetIdentities_Prefix_Separator: string; /** - * Currently supports only AAD, Source, AD and WMD (AAD for AAD-backed accounts, IMS for MSA accounts/on-premise TFS and AD and WMD for on-premise TFS) + * Currently supports only AAD, IMS, Source, AD and WMD (AAD for AAD-backed accounts, IMS for MSA accounts/on-premise TFS and AD and WMD for on-premise TFS) **/ static getOperationScopeList(operationScope: IOperationScope): string[]; static getQueryTypeHint(queryTypeHint: IQueryTypeHint): string; @@ -21071,7 +20562,7 @@ export interface IIdentityServiceOptions { **/ identityType?: IEntityType; /** - * scope - one or more of AAD, IMS, Source + * scope - one or more of AAD, IMS, Source, AD, WMD **/ operationScope?: IOperationScope; } @@ -21387,28 +20878,91 @@ export class IdentitiesHttpClient extends IdentitiesHttpClient3 { export function getClient(options?: VSS_WebApi.IVssHttpClientOptions): IdentitiesHttpClient2_2; } declare module "VSS/Licensing/Contracts" { -export enum AccountLicenseType { - None = 0, - EarlyAdopter = 1, - Express = 2, - Professional = 3, - Advanced = 4, - Stakeholder = 5, +import VSS_Accounts_Contracts = require("VSS/Accounts/Contracts"); +/** + * Represents a license granted to a user in an account + */ +export interface AccountEntitlement { + /** + * Gets or sets the id of the account to which the license belongs + */ + accountId: string; + /** + * Gets or sets the date the license was assigned + */ + assignmentDate: Date; + /** + * Gets or sets the date of the user last sign-in to this account + */ + lastAccessedDate: Date; + /** + * Gets or sets the for the entitlement + */ + license: License; + /** + * Gets or sets the id of the user to which the license belongs + */ + userId: string; + userStatus: VSS_Accounts_Contracts.AccountUserStatus; +} +/** + * Model for updating an AccountEntitlement for a user, used for the Web API + */ +export interface AccountEntitlementUpdateModel { + /** + * Gets or sets the license for the entitlement + */ + license: License; } export interface ClientRightsContainer { certificateBytes: number[]; token: string; } +/** + * Model for assigning an extension to users, used for the Web API + */ +export interface ExtensionAssignment { + /** + * Gets or sets the extension ID to assign. + */ + extensionGalleryId: string; + /** + * Gets or sets the licensing source. + */ + licensingSource: LicensingSource; + /** + * Gets or sets the user IDs to assign the extension to. + */ + userIds: string[]; +} export enum ExtensionFilterOptions { None = 1, Bundle = 2, AccountAssignment = 4, - All = 7, + ImplicitAssignment = 8, + All = -1, } export enum ExtensionOperation { Assign = 0, Unassign = 1, } +export interface ExtensionOperationResult { + accountId: string; + extensionId: string; + message: string; + operation: ExtensionOperation; + result: OperationResult; + userId: string; +} +/** + * The base class for a specific license source and license + */ +export interface License { + /** + * Gets the source of the license + */ + source: LicensingSource; +} export enum LicensingSource { None = 0, Account = 1, @@ -21416,16 +20970,6 @@ export enum LicensingSource { Profile = 3, Auto = 4, } -export enum MsdnLicenseType { - None = 0, - Eligible = 1, - Professional = 2, - Platforms = 3, - TestProfessional = 4, - Premium = 5, - Ultimate = 6, - Enterprise = 7, -} export enum OperationResult { Success = 0, Warning = 1, @@ -21454,24 +20998,15 @@ export enum VisualStudioOnlineServiceLevel { Stakeholder = 4, } export var TypeInfo: { - AccountLicenseType: { - enumValues: { - "none": number; - "earlyAdopter": number; - "express": number; - "professional": number; - "advanced": number; - "stakeholder": number; - }; - }; - ClientRightsContainer: { - fields: any; - }; + AccountEntitlement: any; + AccountEntitlementUpdateModel: any; + ExtensionAssignment: any; ExtensionFilterOptions: { enumValues: { "none": number; "bundle": number; "accountAssignment": number; + "implicitAssignment": number; "all": number; }; }; @@ -21481,6 +21016,8 @@ export var TypeInfo: { "unassign": number; }; }; + ExtensionOperationResult: any; + License: any; LicensingSource: { enumValues: { "none": number; @@ -21490,18 +21027,6 @@ export var TypeInfo: { "auto": number; }; }; - MsdnLicenseType: { - enumValues: { - "none": number; - "eligible": number; - "professional": number; - "platforms": number; - "testProfessional": number; - "premium": number; - "ultimate": number; - "enterprise": number; - }; - }; OperationResult: { enumValues: { "success": number; @@ -21520,6 +21045,142 @@ export var TypeInfo: { }; }; } +declare module "VSS/Licensing/RestClient" { +import Contracts = require("VSS/Licensing/Contracts"); +import VSS_Common_Contracts = require("VSS/WebApi/Contracts"); +import VSS_WebApi = require("VSS/WebApi/RestClient"); +export class CommonMethods2To3 extends VSS_WebApi.VssHttpClient { + protected certificateApiVersion: string; + protected clientRightsApiVersion: string; + protected extensionRegistrationApiVersion: string; + protected extensionRightsApiVersion: string; + protected serviceRightsApiVersion: string; + protected usageApiVersion: string; + protected usageRightsApiVersion: string; + constructor(rootRequestPath: string, options?: VSS_WebApi.IVssHttpClientOptions); + /** + * [Preview API] + * + * @param {string} rightName + * @return IPromise + */ + getUsageRights(rightName?: string): IPromise; + /** + * [Preview API] + * + * @return IPromise + */ + getAccountLicensesUsage(): IPromise; + /** + * [Preview API] + * + * @param {string} rightName + * @return IPromise + */ + getServiceRights(rightName?: string): IPromise; + /** + * [Preview API] + * + * @param {string[]} ids + * @return IPromise<{ [key: string] : boolean; }> + */ + computeExtensionRights(ids: string[]): IPromise<{ + [key: string]: boolean; + }>; + /** + * [Preview API] + * + * @param {VSS_Common_Contracts.ExtensionLicenseData} extensionLicenseData + * @return IPromise + */ + registerExtensionLicense(extensionLicenseData: VSS_Common_Contracts.ExtensionLicenseData): IPromise; + /** + * [Preview API] + * + * @param {string} extensionId + * @return IPromise + */ + getExtensionLicenseData(extensionId: string): IPromise; + /** + * [Preview API] + * + * @param {string} rightName + * @param {string} productVersion + * @param {string} edition + * @param {string} relType + * @param {boolean} includeCertificate + * @param {string} canary + * @param {string} machineId + * @return IPromise + */ + getClientRights(rightName?: string, productVersion?: string, edition?: string, relType?: string, includeCertificate?: boolean, canary?: string, machineId?: string): IPromise; + /** + * [Preview API] + * + * @return IPromise + */ + getCertificate(): IPromise; +} +/** + * @exemptedapi + */ +export class LicensingHttpClient3 extends CommonMethods2To3 { + constructor(rootRequestPath: string, options?: VSS_WebApi.IVssHttpClientOptions); + /** + * [Preview API] Assigns the access to the given extension for all eligible users in the account that do not already have access to the extension though bundle or account assignment + * + * @param {string} extensionId - The extension id to assign the access to. + * @return IPromise + */ + assignExtensionToAllEligibleUsers(extensionId: string): IPromise; + /** + * [Preview API] Returns users that are currently eligible to assign the extension to. the list is filtered based on the value of ExtensionFilterOptions + * + * @param {string} extensionId - The extension to check the eligibility of the users for. + * @param {Contracts.ExtensionFilterOptions} options - The options to filter the list. + * @return IPromise + */ + getEligibleUsersForExtension(extensionId: string, options: Contracts.ExtensionFilterOptions): IPromise; + /** + * [Preview API] Assigns the access to the given extension for a given list of users + * + * @param {Contracts.ExtensionAssignment} body - The extension assignment details. + * @return IPromise + */ + assignExtensionToUsers(body: Contracts.ExtensionAssignment): IPromise; + /** + * [Preview API] Returns extensions that are currently assigned to the user in the account + * + * @param {string} userId - The user's identity id. + * @return IPromise<{ [key: string] : Contracts.LicensingSource; }> + */ + getExtensionsAssignedToUser(userId: string): IPromise<{ + [key: string]: Contracts.LicensingSource; + }>; + /** + * [Preview API] Revokes the access to the given extension for a given list of users + * + * @param {Contracts.ExtensionAssignment} body - The extension assignment details. + * @return IPromise + */ + unassignExtensionFromUsers(body: Contracts.ExtensionAssignment): IPromise; +} +/** + * @exemptedapi + */ +export class LicensingHttpClient2_2 extends CommonMethods2To3 { + constructor(rootRequestPath: string, options?: VSS_WebApi.IVssHttpClientOptions); +} +export class LicensingHttpClient extends LicensingHttpClient3 { + constructor(rootRequestPath: string, options?: VSS_WebApi.IVssHttpClientOptions); +} +/** + * Gets an http client targeting the latest released version of the APIs. + * + * @return LicensingHttpClient2_2 + */ +export function getClient(options?: VSS_WebApi.IVssHttpClientOptions): LicensingHttpClient2_2; +} declare module "VSS/Locations" { import Contracts_Platform = require("VSS/Common/Contracts/Platform"); /** @@ -21684,7 +21345,7 @@ export interface ConnectionData { */ authorizedUser: VSS_Identities_Contracts.Identity; /** - * The instance id for this server. + * The instance id for this host. */ instanceId: string; /** @@ -21789,12 +21450,7 @@ export enum ServiceStatus { Moving = 2, } export var TypeInfo: { - AccessMapping: { - fields: any; - }; - ConnectionData: { - fields: any; - }; + ConnectionData: any; InheritLevel: { enumValues: { "none": number; @@ -21804,12 +21460,7 @@ export var TypeInfo: { "all": number; }; }; - LocationMapping: { - fields: any; - }; - LocationServiceData: { - fields: any; - }; + LocationServiceData: any; RelativeToSetting: { enumValues: { "context": number; @@ -21817,9 +21468,7 @@ export var TypeInfo: { "fullyQualified": number; }; }; - ServiceDefinition: { - fields: any; - }; + ServiceDefinition: any; ServiceStatus: { enumValues: { "assigned": number; @@ -22072,12 +21721,8 @@ export enum OperationStatus { Failed = 5, } export var TypeInfo: { - Operation: { - fields: any; - }; - OperationReference: { - fields: any; - }; + Operation: any; + OperationReference: any; OperationStatus: { enumValues: { "notSet": number; @@ -22206,6 +21851,11 @@ export class CollectionHttpClient extends CollectionHttpClient3 { export function getClient(options?: VSS_WebApi.IVssHttpClientOptions): CollectionHttpClient3; } declare module "VSS/Organization/Contracts" { +export enum AssignmentStatus { + Unassignable = 0, + Assignable = 10, + Assigned = 20, +} export interface Collection { data: { [key: string]: any; @@ -22221,6 +21871,7 @@ export interface Collection { */ name: string; owner: string; + preferredRegion: string; /** * Extended properties */ @@ -22239,6 +21890,11 @@ export enum CollectionStatus { LogicallyDeleted = 30, MarkedForPhysicalDelete = 40, } +export enum HostCreationType { + None = 0, + PreCreated = 1, + OnDemand = 2, +} export interface Organization { collections: Collection[]; creatorId: string; @@ -22271,9 +21927,14 @@ export enum OrganizationType { Work = 2, } export var TypeInfo: { - Collection: { - fields: any; + AssignmentStatus: { + enumValues: { + "unassignable": number; + "assignable": number; + "assigned": number; + }; }; + Collection: any; CollectionSearchKind: { enumValues: { "unknown": number; @@ -22290,9 +21951,14 @@ export var TypeInfo: { "markedForPhysicalDelete": number; }; }; - Organization: { - fields: any; + HostCreationType: { + enumValues: { + "none": number; + "preCreated": number; + "onDemand": number; + }; }; + Organization: any; OrganizationSearchKind: { enumValues: { "unknown": number; @@ -22587,13 +22253,6 @@ export enum AvatarSize { } export interface CoreProfileAttribute extends ProfileAttributeBase { } -export enum CoreProfileAttributes { - Minimal = 0, - Email = 1, - Avatar = 2, - DisplayName = 4, - All = 65535, -} export interface Country { code: string; englishName: string; @@ -22636,12 +22295,6 @@ export enum ProfilePageType { Review = 3, AvatarImageFormat = 4, } -export enum ProfilePropertyType { - DisplayName = 0, - EmailAddress = 1, - PublicAlias = 2, - Country = 3, -} /** * Country/region information */ @@ -22690,21 +22343,14 @@ export interface VerifyPreferredEmailContext { id: string; } export var TypeInfo: { - AttributeDescriptor: { - fields: any; - }; - AttributesContainer: { - fields: any; - }; + AttributesContainer: any; AttributesScope: { enumValues: { "core": number; "application": number; }; }; - Avatar: { - fields: any; - }; + Avatar: any; AvatarSize: { enumValues: { "small": number; @@ -22712,36 +22358,10 @@ export var TypeInfo: { "large": number; }; }; - CoreProfileAttribute: { - fields: any; - }; - CoreProfileAttributes: { - enumValues: { - "minimal": number; - "email": number; - "avatar": number; - "displayName": number; - "all": number; - }; - }; - Country: { - fields: any; - }; - CreateProfileContext: { - fields: any; - }; - GeoRegion: { - fields: any; - }; - Profile: { - fields: any; - }; - ProfileAttribute: { - fields: any; - }; - ProfileAttributeBase: { - fields: any; - }; + CoreProfileAttribute: any; + Profile: any; + ProfileAttribute: any; + ProfileAttributeBase: any; ProfilePageType: { enumValues: { "update": number; @@ -22751,29 +22371,8 @@ export var TypeInfo: { "avatarImageFormat": number; }; }; - ProfilePropertyType: { - enumValues: { - "displayName": number; - "emailAddress": number; - "publicAlias": number; - "country": number; - }; - }; - ProfileRegion: { - fields: any; - }; - ProfileRegions: { - fields: any; - }; - ProfileTermsOfService: { - fields: any; - }; - UserTermsOfService: { - fields: any; - }; - VerifyPreferredEmailContext: { - fields: any; - }; + ProfileTermsOfService: any; + UserTermsOfService: any; }; } declare module "VSS/Profile/Metrics" { @@ -23232,7 +22831,7 @@ export class ExternalDialog extends Dialogs.ModalDialogO } declare module "VSS/SDK/Services/ExtensionData" { import Contracts_Platform = require("VSS/Common/Contracts/Platform"); -import ExtensionManagement_Contracts = require("VSS/ExtensionManagement/Contracts"); +import Contributions_Contracts = require("VSS/Contributions/Contracts"); /** * Provides a wrapper around the REST client for getting and saving extension setting values * @serviceId "vss.extensionSettings" @@ -23341,13 +22940,13 @@ export class ExtensionDataService implements IExtensionDataService { * * @param collections The list of collections to query. Assumes Default Scope Type and Current Scope Value */ - queryCollectionNames(collectionNames: string[]): IPromise; + queryCollectionNames(collectionNames: string[]): IPromise; /** * Returns a promise for querying a set of collections * * @param collections The list of collections to query. Each collection will contain its collectionName, scopeType, and scopeValue */ - queryCollections(collections: ExtensionManagement_Contracts.ExtensionDataCollection[]): IPromise; + queryCollections(collections: Contributions_Contracts.ExtensionDataCollection[]): IPromise; private _checkDocument(document); private _checkDocumentOptions(documentOptions); private _createDictionaryForArray(docs); @@ -23794,15 +23393,7 @@ export var TypeInfo: { "inherited": number; }; }; - RoleAssignment: { - fields: any; - }; - SecurityRole: { - fields: any; - }; - UserRoleAssignmentRef: { - fields: any; - }; + RoleAssignment: any; }; } declare module "VSS/SecurityRoles/RestClient" { @@ -23888,6 +23479,14 @@ export class SecurityRolesHttpClient extends SecurityRolesHttpClient3 { export function getClient(options?: VSS_WebApi.IVssHttpClientOptions): SecurityRolesHttpClient2_2; } declare module "VSS/Security/Contracts" { +/** + * --------------------------------------------------------- + * Generated file, DO NOT EDIT + * --------------------------------------------------------- + * + * See following wiki page for instructions on how to regenerate: + * https://vsowiki.com/index.php?title=Rest_Client_Generation + */ import VSS_Identities_Contracts = require("VSS/Identities/Contracts"); /** * Class for encapsulating the allowed and denied permissions for a given IdentityDescriptor. @@ -24164,62 +23763,6 @@ export interface TokenRename { */ recurse: boolean; } -export var TypeInfo: { - AccessControlEntry: { - fields: any; - }; - AccessControlList: { - fields: any; - }; - AccessControlListsCollection: { - fields: any; - }; - AceExtendedInformation: { - fields: any; - }; - ActionDefinition: { - fields: any; - }; - PermissionEvaluation: { - fields: any; - }; - PermissionEvaluationBatch: { - fields: any; - }; - RemoteBackingStoreAccessControlEntry: { - fields: any; - }; - RemoveAccessControlListsRequest: { - fields: any; - }; - RemovePermissionsRequest: { - fields: any; - }; - RenameTokensRequest: { - fields: any; - }; - SecurityNamespaceData: { - fields: any; - }; - SecurityNamespaceDescription: { - fields: any; - }; - SetAccessControlEntriesInfo: { - fields: any; - }; - SetAccessControlListsRequest: { - fields: any; - }; - SetInheritFlagInfo: { - fields: any; - }; - SetPermissionsRequest: { - fields: any; - }; - TokenRename: { - fields: any; - }; -}; } declare module "VSS/Security/RestClient" { import Contracts = require("VSS/Security/Contracts"); @@ -24620,18 +24163,13 @@ export interface WebSessionToken { validTo: Date; } export var TypeInfo: { - CustomerIntelligenceEvent: { - fields: any; - }; DelegatedAppTokenType: { enumValues: { "session": number; "app": number; }; }; - WebSessionToken: { - fields: any; - }; + WebSessionToken: any; }; } declare module "VSS/Telemetry/RestClient" { @@ -25951,6 +25489,10 @@ export module Positioning { * jQuery object inside the base element that should be aligned with the element */ baseAlignmentMarker?: JQuery; + /** + * Indicates whether the scroll should by browser window or the specified marker or not. + */ + scrollByMarker?: boolean; /** * how much extra left offset (if any) should be given to the target element versus the reference element. */ @@ -26624,6 +26166,14 @@ export enum ConnectOptions { * Includes the last user access for this host. */ IncludeLastUserAccess = 2, + /** + * This is only valid on the deployment host and when true. Will only return inherited definitions. + */ + IncludeInheritedDefinitionsOnly = 4, + /** + * When true will only return non inherited definitions. Only valid at non-deployment host. + */ + IncludeNonInheritedDefinitionsOnly = 8, } export interface ExtensionLicenseData { createdDate: Date; @@ -26753,34 +26303,17 @@ export interface WrappedException { typeName: string; } export var TypeInfo: { - ApiResourceLocation: { - fields: any; - }; - ApiResourceVersion: { - fields: any; - }; ConnectOptions: { enumValues: { "none": number; "includeServices": number; "includeLastUserAccess": number; + "includeInheritedDefinitionsOnly": number; + "includeNonInheritedDefinitionsOnly": number; }; }; - ExtensionLicenseData: { - fields: any; - }; - IdentityRef: { - fields: any; - }; - JsonPatchDocument: { - fields: any; - }; - JsonPatchOperation: { - fields: any; - }; - JsonWebToken: { - fields: any; - }; + ExtensionLicenseData: any; + JsonPatchOperation: any; JWTAlgorithm: { enumValues: { "none": number; @@ -26798,30 +26331,6 @@ export var TypeInfo: { "test": number; }; }; - Publisher: { - fields: any; - }; - ReferenceLink: { - fields: any; - }; - ResourceRef: { - fields: any; - }; - ServiceEvent: { - fields: any; - }; - VssJsonCollectionWrapper: { - fields: any; - }; - VssJsonCollectionWrapperV: { - fields: any; - }; - VssJsonCollectionWrapperBase: { - fields: any; - }; - WrappedException: { - fields: any; - }; }; } declare module "VSS/WebApi/RestClient" { @@ -26925,6 +26434,14 @@ export interface IVssHttpClientOptions { * Request timeout in milliseconds. The default is 5 minutes. */ timeout?: number; + /** + * Current session id. Defaults to pageContext.diagnostics.sessionId. + */ + sessionId?: string; + /** + * Current command for activity logging. + */ + command?: string; } /** * Base class that should be used (derived from) to make requests to VSS REST apis