UNPKG

86.9 kBTypeScriptView Raw
1import DistributedTaskCommonInterfaces = require("../interfaces/DistributedTaskCommonInterfaces");
2import TFS_SourceControl_Contracts = require("../interfaces/TfvcInterfaces");
3import TFS_TestManagement_Contracts = require("../interfaces/TestInterfaces");
4import TfsCoreInterfaces = require("../interfaces/CoreInterfaces");
5import VSSInterfaces = require("../interfaces/common/VSSInterfaces");
6/**
7 * Represents a queue for running builds.
8 */
9export interface AgentPoolQueue {
10 _links?: any;
11 /**
12 * The ID of the queue.
13 */
14 id?: number;
15 /**
16 * The name of the queue.
17 */
18 name?: string;
19 /**
20 * The pool used by this queue.
21 */
22 pool?: TaskAgentPoolReference;
23 /**
24 * The full http link to the resource.
25 */
26 url?: string;
27}
28/**
29 * Represents a reference to an agent queue.
30 */
31export interface AgentPoolQueueReference extends ResourceReference {
32 /**
33 * The ID of the queue.
34 */
35 id?: number;
36}
37/**
38 * Describes how a phase should run against an agent queue.
39 */
40export interface AgentPoolQueueTarget extends PhaseTarget {
41 /**
42 * Agent specification of the target.
43 */
44 agentSpecification?: AgentSpecification;
45 /**
46 * Enables scripts and other processes launched while executing phase to access the OAuth token
47 */
48 allowScriptsAuthAccessOption?: boolean;
49 demands?: Demand[];
50 /**
51 * The execution options.
52 */
53 executionOptions?: AgentTargetExecutionOptions;
54 /**
55 * The queue.
56 */
57 queue?: AgentPoolQueue;
58}
59/**
60 * Specification of the agent defined by the pool provider.
61 */
62export interface AgentSpecification {
63 /**
64 * Agent specification unique identifier.
65 */
66 identifier?: string;
67}
68export declare enum AgentStatus {
69 /**
70 * Indicates that the build agent cannot be contacted.
71 */
72 Unavailable = 0,
73 /**
74 * Indicates that the build agent is currently available.
75 */
76 Available = 1,
77 /**
78 * Indicates that the build agent has taken itself offline.
79 */
80 Offline = 2
81}
82/**
83 * Additional options for running phases against an agent queue.
84 */
85export interface AgentTargetExecutionOptions {
86 /**
87 * Indicates the type of execution options.
88 */
89 type?: number;
90}
91export interface ArtifactResource {
92 _links?: any;
93 /**
94 * Type-specific data about the artifact.
95 */
96 data?: string;
97 /**
98 * A link to download the resource.
99 */
100 downloadUrl?: string;
101 /**
102 * Type-specific properties of the artifact.
103 */
104 properties?: {
105 [key: string]: string;
106 };
107 /**
108 * The type of the resource: File container, version control folder, UNC path, etc.
109 */
110 type?: string;
111 /**
112 * The full http link to the resource.
113 */
114 url?: string;
115}
116/**
117 * Represents an attachment to a build.
118 */
119export interface Attachment {
120 _links?: any;
121 /**
122 * The name of the attachment.
123 */
124 name?: string;
125}
126export declare enum AuditAction {
127 Add = 1,
128 Update = 2,
129 Delete = 3
130}
131/**
132 * Data representation of a build.
133 */
134export interface Build {
135 _links?: any;
136 /**
137 * The agent specification for the build.
138 */
139 agentSpecification?: AgentSpecification;
140 /**
141 * Append Commit Message To BuildNumber in UI.
142 */
143 appendCommitMessageToRunName?: boolean;
144 /**
145 * The build number/name of the build.
146 */
147 buildNumber?: string;
148 /**
149 * The build number revision.
150 */
151 buildNumberRevision?: number;
152 /**
153 * The build controller. This is only set if the definition type is Xaml.
154 */
155 controller?: BuildController;
156 /**
157 * The definition associated with the build.
158 */
159 definition?: DefinitionReference;
160 /**
161 * Indicates whether the build has been deleted.
162 */
163 deleted?: boolean;
164 /**
165 * The identity of the process or person that deleted the build.
166 */
167 deletedBy?: VSSInterfaces.IdentityRef;
168 /**
169 * The date the build was deleted.
170 */
171 deletedDate?: Date;
172 /**
173 * The description of how the build was deleted.
174 */
175 deletedReason?: string;
176 /**
177 * A list of demands that represents the agent capabilities required by this build.
178 */
179 demands?: Demand[];
180 /**
181 * The time that the build was completed.
182 */
183 finishTime?: Date;
184 /**
185 * The ID of the build.
186 */
187 id?: number;
188 /**
189 * Indicates whether the build should be skipped by retention policies.
190 */
191 keepForever?: boolean;
192 /**
193 * The identity representing the process or person that last changed the build.
194 */
195 lastChangedBy?: VSSInterfaces.IdentityRef;
196 /**
197 * The date the build was last changed.
198 */
199 lastChangedDate?: Date;
200 /**
201 * Information about the build logs.
202 */
203 logs?: BuildLogReference;
204 /**
205 * The orchestration plan for the build.
206 */
207 orchestrationPlan?: TaskOrchestrationPlanReference;
208 /**
209 * The parameters for the build.
210 */
211 parameters?: string;
212 /**
213 * Orchestration plans associated with the build (build, cleanup)
214 */
215 plans?: TaskOrchestrationPlanReference[];
216 /**
217 * Azure Pipelines does not support job priority. This field is deprecated.
218 */
219 priority?: QueuePriority;
220 /**
221 * The team project.
222 */
223 project?: TfsCoreInterfaces.TeamProjectReference;
224 properties?: any;
225 /**
226 * The quality of the xaml build (good, bad, etc.)
227 */
228 quality?: string;
229 /**
230 * The queue. This is only set if the definition type is Build. WARNING: this field is deprecated and does not corresponds to the jobs queues.
231 */
232 queue?: AgentPoolQueue;
233 /**
234 * Additional options for queueing the build.
235 */
236 queueOptions?: QueueOptions;
237 /**
238 * The current position of the build in the queue.
239 */
240 queuePosition?: number;
241 /**
242 * The time that the build was queued.
243 */
244 queueTime?: Date;
245 /**
246 * The reason that the build was created.
247 */
248 reason?: BuildReason;
249 /**
250 * The repository.
251 */
252 repository?: BuildRepository;
253 /**
254 * The identity that queued the build.
255 */
256 requestedBy?: VSSInterfaces.IdentityRef;
257 /**
258 * The identity on whose behalf the build was queued.
259 */
260 requestedFor?: VSSInterfaces.IdentityRef;
261 /**
262 * The build result.
263 */
264 result?: BuildResult;
265 /**
266 * Indicates whether the build is retained by a release.
267 */
268 retainedByRelease?: boolean;
269 /**
270 * The source branch.
271 */
272 sourceBranch?: string;
273 /**
274 * The source version.
275 */
276 sourceVersion?: string;
277 /**
278 * The time that the build was started.
279 */
280 startTime?: Date;
281 /**
282 * The status of the build.
283 */
284 status?: BuildStatus;
285 tags?: string[];
286 /**
287 * Parameters to template expression evaluation
288 */
289 templateParameters?: {
290 [key: string]: string;
291 };
292 /**
293 * The build that triggered this build via a Build completion trigger.
294 */
295 triggeredByBuild?: Build;
296 /**
297 * Sourceprovider-specific information about what triggered the build
298 */
299 triggerInfo?: {
300 [key: string]: string;
301 };
302 /**
303 * The URI of the build.
304 */
305 uri?: string;
306 /**
307 * The REST URL of the build.
308 */
309 url?: string;
310 validationResults?: BuildRequestValidationResult[];
311}
312export interface BuildAgent {
313 buildDirectory?: string;
314 controller?: XamlBuildControllerReference;
315 createdDate?: Date;
316 description?: string;
317 enabled?: boolean;
318 id?: number;
319 messageQueueUrl?: string;
320 name?: string;
321 reservedForBuild?: string;
322 server?: XamlBuildServerReference;
323 status?: AgentStatus;
324 statusMessage?: string;
325 updatedDate?: Date;
326 uri?: string;
327 url?: string;
328}
329export interface BuildAgentReference {
330 /**
331 * Id of the resource
332 */
333 id?: number;
334 /**
335 * Name of the linked resource (definition name, controller name, etc.)
336 */
337 name?: string;
338 /**
339 * Full http link to the resource
340 */
341 url?: string;
342}
343/**
344 * Represents an artifact produced by a build.
345 */
346export interface BuildArtifact {
347 /**
348 * The artifact ID.
349 */
350 id?: number;
351 /**
352 * The name of the artifact.
353 */
354 name?: string;
355 /**
356 * The actual resource.
357 */
358 resource?: ArtifactResource;
359 /**
360 * The artifact source, which will be the ID of the job that produced this artifact. If an artifact is associated with multiple sources, this points to the first source.
361 */
362 source?: string;
363}
364/**
365 * Represents the desired scope of authorization for a build.
366 */
367export declare enum BuildAuthorizationScope {
368 /**
369 * The identity used should have build service account permissions scoped to the project collection. This is useful when resources for a single build are spread across multiple projects.
370 */
371 ProjectCollection = 1,
372 /**
373 * The identity used should have build service account permissions scoped to the project in which the build definition resides. This is useful for isolation of build jobs to a particular team project to avoid any unintentional escalation of privilege attacks during a build.
374 */
375 Project = 2
376}
377/**
378 * Represents a build badge.
379 */
380export interface BuildBadge {
381 /**
382 * The ID of the build represented by this badge.
383 */
384 buildId?: number;
385 /**
386 * A link to the SVG resource.
387 */
388 imageUrl?: string;
389}
390export interface BuildCompletedEvent extends BuildUpdatedEvent {
391 /**
392 * Changes associated with a build used for build notifications
393 */
394 changes?: Change[];
395 /**
396 * Pull request for the build used for build notifications
397 */
398 pullRequest?: PullRequest;
399 /**
400 * Test results associated with a build used for build notifications
401 */
402 testResults?: TFS_TestManagement_Contracts.AggregatedResultsAnalysis;
403 /**
404 * Timeline records associated with a build used for build notifications
405 */
406 timelineRecords?: TimelineRecord[];
407 /**
408 * Work items associated with a build used for build notifications
409 */
410 workItems?: TFS_SourceControl_Contracts.AssociatedWorkItem[];
411}
412/**
413 * Represents a build completion trigger.
414 */
415export interface BuildCompletionTrigger extends BuildTrigger {
416 branchFilters?: string[];
417 /**
418 * A reference to the definition that should trigger builds for this definition.
419 */
420 definition?: DefinitionReference;
421 requiresSuccessfulBuild?: boolean;
422}
423export interface BuildController extends XamlBuildControllerReference {
424 _links?: any;
425 /**
426 * The date the controller was created.
427 */
428 createdDate?: Date;
429 /**
430 * The description of the controller.
431 */
432 description?: string;
433 /**
434 * Indicates whether the controller is enabled.
435 */
436 enabled?: boolean;
437 /**
438 * The status of the controller.
439 */
440 status?: ControllerStatus;
441 /**
442 * The date the controller was last updated.
443 */
444 updatedDate?: Date;
445 /**
446 * The controller's URI.
447 */
448 uri?: string;
449}
450/**
451 * Represents a build definition.
452 */
453export interface BuildDefinition extends BuildDefinitionReference {
454 /**
455 * Indicates whether badges are enabled for this definition.
456 */
457 badgeEnabled?: boolean;
458 /**
459 * The build number format.
460 */
461 buildNumberFormat?: string;
462 /**
463 * A save-time comment for the definition.
464 */
465 comment?: string;
466 demands?: Demand[];
467 /**
468 * The description.
469 */
470 description?: string;
471 /**
472 * The drop location for the definition.
473 */
474 dropLocation?: string;
475 /**
476 * The job authorization scope for builds queued against this definition.
477 */
478 jobAuthorizationScope?: BuildAuthorizationScope;
479 /**
480 * The job cancel timeout (in minutes) for builds cancelled by user for this definition.
481 */
482 jobCancelTimeoutInMinutes?: number;
483 /**
484 * The job execution timeout (in minutes) for builds queued against this definition.
485 */
486 jobTimeoutInMinutes?: number;
487 options?: BuildOption[];
488 /**
489 * The build process.
490 */
491 process?: BuildProcess;
492 /**
493 * The process parameters for this definition.
494 */
495 processParameters?: DistributedTaskCommonInterfaces.ProcessParameters;
496 properties?: any;
497 /**
498 * The repository.
499 */
500 repository?: BuildRepository;
501 retentionRules?: RetentionPolicy[];
502 tags?: string[];
503 triggers?: BuildTrigger[];
504 variableGroups?: VariableGroup[];
505 variables?: {
506 [key: string]: BuildDefinitionVariable;
507 };
508}
509/**
510 * For back-compat with extensions that use the old Steps format instead of Process and Phases
511 */
512export interface BuildDefinition3_2 extends BuildDefinitionReference3_2 {
513 /**
514 * Indicates whether badges are enabled for this definition
515 */
516 badgeEnabled?: boolean;
517 build?: BuildDefinitionStep[];
518 /**
519 * The build number format
520 */
521 buildNumberFormat?: string;
522 /**
523 * The comment entered when saving the definition
524 */
525 comment?: string;
526 demands?: Demand[];
527 /**
528 * The description
529 */
530 description?: string;
531 /**
532 * The drop location for the definition
533 */
534 dropLocation?: string;
535 /**
536 * The job authorization scope for builds which are queued against this definition
537 */
538 jobAuthorizationScope?: BuildAuthorizationScope;
539 /**
540 * The job cancel timeout in minutes for builds which are cancelled by user for this definition
541 */
542 jobCancelTimeoutInMinutes?: number;
543 /**
544 * The job execution timeout in minutes for builds which are queued against this definition
545 */
546 jobTimeoutInMinutes?: number;
547 latestBuild?: Build;
548 latestCompletedBuild?: Build;
549 options?: BuildOption[];
550 /**
551 * Process Parameters
552 */
553 processParameters?: DistributedTaskCommonInterfaces.ProcessParameters;
554 properties?: any;
555 /**
556 * The repository
557 */
558 repository?: BuildRepository;
559 retentionRules?: RetentionPolicy[];
560 tags?: string[];
561 triggers?: BuildTrigger[];
562 variables?: {
563 [key: string]: BuildDefinitionVariable;
564 };
565}
566/**
567 * Represents a reference to a build definition.
568 */
569export interface BuildDefinitionReference extends DefinitionReference {
570 _links?: any;
571 /**
572 * The author of the definition.
573 */
574 authoredBy?: VSSInterfaces.IdentityRef;
575 /**
576 * A reference to the definition that this definition is a draft of, if this is a draft definition.
577 */
578 draftOf?: DefinitionReference;
579 /**
580 * The list of drafts associated with this definition, if this is not a draft definition.
581 */
582 drafts?: DefinitionReference[];
583 latestBuild?: Build;
584 latestCompletedBuild?: Build;
585 metrics?: BuildMetric[];
586 /**
587 * The quality of the definition document (draft, etc.)
588 */
589 quality?: DefinitionQuality;
590 /**
591 * The default queue for builds run against this definition.
592 */
593 queue?: AgentPoolQueue;
594}
595/**
596 * For back-compat with extensions that use the old Steps format instead of Process and Phases
597 */
598export interface BuildDefinitionReference3_2 extends DefinitionReference {
599 _links?: any;
600 /**
601 * The author of the definition.
602 */
603 authoredBy?: VSSInterfaces.IdentityRef;
604 /**
605 * A reference to the definition that this definition is a draft of, if this is a draft definition.
606 */
607 draftOf?: DefinitionReference;
608 /**
609 * The list of drafts associated with this definition, if this is not a draft definition.
610 */
611 drafts?: DefinitionReference[];
612 metrics?: BuildMetric[];
613 /**
614 * The quality of the definition document (draft, etc.)
615 */
616 quality?: DefinitionQuality;
617 /**
618 * The default queue for builds run against this definition.
619 */
620 queue?: AgentPoolQueue;
621}
622/**
623 * Represents a revision of a build definition.
624 */
625export interface BuildDefinitionRevision {
626 /**
627 * The identity of the person or process that changed the definition.
628 */
629 changedBy?: VSSInterfaces.IdentityRef;
630 /**
631 * The date and time that the definition was changed.
632 */
633 changedDate?: Date;
634 /**
635 * The change type (add, edit, delete).
636 */
637 changeType?: AuditAction;
638 /**
639 * The comment associated with the change.
640 */
641 comment?: string;
642 /**
643 * A link to the definition at this revision.
644 */
645 definitionUrl?: string;
646 /**
647 * The name of the definition.
648 */
649 name?: string;
650 /**
651 * The revision number.
652 */
653 revision?: number;
654}
655export interface BuildDefinitionSourceProvider {
656 /**
657 * Uri of the associated definition
658 */
659 definitionUri?: string;
660 /**
661 * fields associated with this build definition
662 */
663 fields?: {
664 [key: string]: string;
665 };
666 /**
667 * Id of this source provider
668 */
669 id?: number;
670 /**
671 * The lst time this source provider was modified
672 */
673 lastModified?: Date;
674 /**
675 * Name of the source provider
676 */
677 name?: string;
678 /**
679 * Which trigger types are supported by this definition source provider
680 */
681 supportedTriggerTypes?: DefinitionTriggerType;
682}
683/**
684 * Represents a step in a build phase.
685 */
686export interface BuildDefinitionStep {
687 /**
688 * Indicates whether this step should run even if a previous step fails.
689 */
690 alwaysRun?: boolean;
691 /**
692 * A condition that determines whether this step should run.
693 */
694 condition?: string;
695 /**
696 * Indicates whether the phase should continue even if this step fails.
697 */
698 continueOnError?: boolean;
699 /**
700 * The display name for this step.
701 */
702 displayName?: string;
703 /**
704 * Indicates whether the step is enabled.
705 */
706 enabled?: boolean;
707 environment?: {
708 [key: string]: string;
709 };
710 inputs?: {
711 [key: string]: string;
712 };
713 /**
714 * The reference name for this step.
715 */
716 refName?: string;
717 /**
718 * Number of retries.
719 */
720 retryCountOnTaskFailure?: number;
721 /**
722 * The task associated with this step.
723 */
724 task: TaskDefinitionReference;
725 /**
726 * The time, in minutes, that this step is allowed to run.
727 */
728 timeoutInMinutes?: number;
729}
730/**
731 * Represents a template from which new build definitions can be created.
732 */
733export interface BuildDefinitionTemplate {
734 /**
735 * Indicates whether the template can be deleted.
736 */
737 canDelete?: boolean;
738 /**
739 * The template category.
740 */
741 category?: string;
742 /**
743 * An optional hosted agent queue for the template to use by default.
744 */
745 defaultHostedQueue?: string;
746 /**
747 * A description of the template.
748 */
749 description?: string;
750 icons?: {
751 [key: string]: string;
752 };
753 /**
754 * The ID of the task whose icon is used when showing this template in the UI.
755 */
756 iconTaskId?: string;
757 /**
758 * The ID of the template.
759 */
760 id: string;
761 /**
762 * The name of the template.
763 */
764 name: string;
765 /**
766 * The actual template.
767 */
768 template?: BuildDefinition;
769}
770/**
771 * For back-compat with extensions that use the old Steps format instead of Process and Phases
772 */
773export interface BuildDefinitionTemplate3_2 {
774 canDelete?: boolean;
775 category?: string;
776 defaultHostedQueue?: string;
777 description?: string;
778 icons?: {
779 [key: string]: string;
780 };
781 iconTaskId?: string;
782 id: string;
783 name: string;
784 template?: BuildDefinition3_2;
785}
786/**
787 * Represents a variable used by a build definition.
788 */
789export interface BuildDefinitionVariable {
790 /**
791 * Indicates whether the value can be set at queue time.
792 */
793 allowOverride?: boolean;
794 /**
795 * Indicates whether the variable's value is a secret.
796 */
797 isSecret?: boolean;
798 /**
799 * The value of the variable.
800 */
801 value?: string;
802}
803export interface BuildDeletedEvent extends RealtimeBuildEvent {
804 build: Build;
805}
806export interface BuildDeployment {
807 deployment?: BuildSummary;
808 sourceBuild?: XamlBuildReference;
809}
810export interface BuildEvent {
811 data?: string[];
812 identifier?: string;
813}
814/**
815 * Represents a build log.
816 */
817export interface BuildLog extends BuildLogReference {
818 /**
819 * The date and time the log was created.
820 */
821 createdOn?: Date;
822 /**
823 * The date and time the log was last changed.
824 */
825 lastChangedOn?: Date;
826 /**
827 * The number of lines in the log.
828 */
829 lineCount?: number;
830}
831/**
832 * Represents a reference to a build log.
833 */
834export interface BuildLogReference {
835 /**
836 * The ID of the log.
837 */
838 id?: number;
839 /**
840 * The type of the log location.
841 */
842 type?: string;
843 /**
844 * A full link to the log resource.
845 */
846 url?: string;
847}
848/**
849 * Represents metadata about builds in the system.
850 */
851export interface BuildMetric {
852 /**
853 * The date for the scope.
854 */
855 date?: Date;
856 /**
857 * The value.
858 */
859 intValue?: number;
860 /**
861 * The name of the metric.
862 */
863 name?: string;
864 /**
865 * The scope.
866 */
867 scope?: string;
868}
869/**
870 * Represents the application of an optional behavior to a build definition.
871 */
872export interface BuildOption {
873 /**
874 * A reference to the build option.
875 */
876 definition: BuildOptionDefinitionReference;
877 /**
878 * Indicates whether the behavior is enabled.
879 */
880 enabled?: boolean;
881 inputs?: {
882 [key: string]: string;
883 };
884}
885/**
886 * Represents an optional behavior that can be applied to a build definition.
887 */
888export interface BuildOptionDefinition extends BuildOptionDefinitionReference {
889 /**
890 * The description.
891 */
892 description?: string;
893 /**
894 * The list of input groups defined for the build option.
895 */
896 groups?: BuildOptionGroupDefinition[];
897 /**
898 * The list of inputs defined for the build option.
899 */
900 inputs?: BuildOptionInputDefinition[];
901 /**
902 * The name of the build option.
903 */
904 name?: string;
905 /**
906 * A value that indicates the relative order in which the behavior should be applied.
907 */
908 ordinal?: number;
909}
910/**
911 * Represents a reference to a build option definition.
912 */
913export interface BuildOptionDefinitionReference {
914 /**
915 * The ID of the referenced build option.
916 */
917 id: string;
918}
919/**
920 * Represents a group of inputs for a build option.
921 */
922export interface BuildOptionGroupDefinition {
923 /**
924 * The name of the group to display in the UI.
925 */
926 displayName?: string;
927 /**
928 * Indicates whether the group is initially displayed as expanded in the UI.
929 */
930 isExpanded?: boolean;
931 /**
932 * The internal name of the group.
933 */
934 name?: string;
935}
936/**
937 * Represents an input for a build option.
938 */
939export interface BuildOptionInputDefinition {
940 /**
941 * The default value.
942 */
943 defaultValue?: string;
944 /**
945 * The name of the input group that this input belongs to.
946 */
947 groupName?: string;
948 help?: {
949 [key: string]: string;
950 };
951 /**
952 * The label for the input.
953 */
954 label?: string;
955 /**
956 * The name of the input.
957 */
958 name?: string;
959 options?: {
960 [key: string]: string;
961 };
962 /**
963 * Indicates whether the input is required to have a value.
964 */
965 required?: boolean;
966 /**
967 * Indicates the type of the input value.
968 */
969 type?: BuildOptionInputType;
970 /**
971 * The rule that is applied to determine whether the input is visible in the UI.
972 */
973 visibleRule?: string;
974}
975export declare enum BuildOptionInputType {
976 String = 0,
977 Boolean = 1,
978 StringList = 2,
979 Radio = 3,
980 PickList = 4,
981 MultiLine = 5,
982 BranchFilter = 6
983}
984export declare enum BuildPhaseStatus {
985 /**
986 * The state is not known.
987 */
988 Unknown = 0,
989 /**
990 * The build phase completed unsuccessfully.
991 */
992 Failed = 1,
993 /**
994 * The build phase completed successfully.
995 */
996 Succeeded = 2
997}
998/**
999 * Represents a build process.
1000 */
1001export interface BuildProcess {
1002 /**
1003 * The type of the process.
1004 */
1005 type?: number;
1006}
1007/**
1008 * Represents resources used by a build process.
1009 */
1010export interface BuildProcessResources {
1011 endpoints?: ServiceEndpointReference[];
1012 files?: SecureFileReference[];
1013 queues?: AgentPoolQueueReference[];
1014 variableGroups?: VariableGroupReference[];
1015}
1016export interface BuildProcessTemplate {
1017 description?: string;
1018 fileExists?: boolean;
1019 id?: number;
1020 parameters?: string;
1021 serverPath?: string;
1022 supportedReasons?: BuildReason;
1023 teamProject?: string;
1024 templateType?: ProcessTemplateType;
1025 url?: string;
1026 version?: string;
1027}
1028/**
1029 * Specifies the desired ordering of builds.
1030 */
1031export declare enum BuildQueryOrder {
1032 /**
1033 * Order by finish time ascending.
1034 */
1035 FinishTimeAscending = 2,
1036 /**
1037 * Order by finish time descending.
1038 */
1039 FinishTimeDescending = 3,
1040 /**
1041 * Order by queue time descending.
1042 */
1043 QueueTimeDescending = 4,
1044 /**
1045 * Order by queue time ascending.
1046 */
1047 QueueTimeAscending = 5,
1048 /**
1049 * Order by start time descending.
1050 */
1051 StartTimeDescending = 6,
1052 /**
1053 * Order by start time ascending.
1054 */
1055 StartTimeAscending = 7
1056}
1057export interface BuildQueuedEvent extends BuildUpdatedEvent {
1058}
1059export declare enum BuildReason {
1060 /**
1061 * No reason. This value should not be used.
1062 */
1063 None = 0,
1064 /**
1065 * The build was started manually.
1066 */
1067 Manual = 1,
1068 /**
1069 * The build was started for the trigger TriggerType.ContinuousIntegration.
1070 */
1071 IndividualCI = 2,
1072 /**
1073 * The build was started for the trigger TriggerType.BatchedContinuousIntegration.
1074 */
1075 BatchedCI = 4,
1076 /**
1077 * The build was started for the trigger TriggerType.Schedule.
1078 */
1079 Schedule = 8,
1080 /**
1081 * The build was started for the trigger TriggerType.ScheduleForced.
1082 */
1083 ScheduleForced = 16,
1084 /**
1085 * The build was created by a user.
1086 */
1087 UserCreated = 32,
1088 /**
1089 * The build was started manually for private validation.
1090 */
1091 ValidateShelveset = 64,
1092 /**
1093 * The build was started for the trigger ContinuousIntegrationType.Gated.
1094 */
1095 CheckInShelveset = 128,
1096 /**
1097 * The build was started by a pull request. Added in resource version 3.
1098 */
1099 PullRequest = 256,
1100 /**
1101 * The build was started when another build completed.
1102 */
1103 BuildCompletion = 512,
1104 /**
1105 * The build was started when resources in pipeline triggered it
1106 */
1107 ResourceTrigger = 1024,
1108 /**
1109 * The build was triggered for retention policy purposes.
1110 */
1111 Triggered = 1967,
1112 /**
1113 * All reasons.
1114 */
1115 All = 2031
1116}
1117/**
1118 * Represents a reference to a build.
1119 */
1120export interface BuildReference {
1121 _links?: any;
1122 /**
1123 * The build number.
1124 */
1125 buildNumber?: string;
1126 /**
1127 * Indicates whether the build has been deleted.
1128 */
1129 deleted?: boolean;
1130 /**
1131 * The time that the build was completed.
1132 */
1133 finishTime?: Date;
1134 /**
1135 * The ID of the build.
1136 */
1137 id?: number;
1138 /**
1139 * The time that the build was queued.
1140 */
1141 queueTime?: Date;
1142 /**
1143 * The identity on whose behalf the build was queued.
1144 */
1145 requestedFor?: VSSInterfaces.IdentityRef;
1146 /**
1147 * The build result.
1148 */
1149 result?: BuildResult;
1150 /**
1151 * The time that the build was started.
1152 */
1153 startTime?: Date;
1154 /**
1155 * The build status.
1156 */
1157 status?: BuildStatus;
1158}
1159/**
1160 * Represents information about a build report.
1161 */
1162export interface BuildReportMetadata {
1163 /**
1164 * The Id of the build.
1165 */
1166 buildId?: number;
1167 /**
1168 * The content of the report.
1169 */
1170 content?: string;
1171 /**
1172 * The type of the report.
1173 */
1174 type?: string;
1175}
1176/**
1177 * Represents a repository used by a build definition.
1178 */
1179export interface BuildRepository {
1180 /**
1181 * Indicates whether to checkout submodules.
1182 */
1183 checkoutSubmodules?: boolean;
1184 /**
1185 * Indicates whether to clean the target folder when getting code from the repository.
1186 */
1187 clean?: string;
1188 /**
1189 * The name of the default branch.
1190 */
1191 defaultBranch?: string;
1192 /**
1193 * The ID of the repository.
1194 */
1195 id?: string;
1196 /**
1197 * The friendly name of the repository.
1198 */
1199 name?: string;
1200 properties?: {
1201 [key: string]: string;
1202 };
1203 /**
1204 * The root folder.
1205 */
1206 rootFolder?: string;
1207 /**
1208 * The type of the repository.
1209 */
1210 type?: string;
1211 /**
1212 * The URL of the repository.
1213 */
1214 url?: string;
1215}
1216/**
1217 * Represents the result of validating a build request.
1218 */
1219export interface BuildRequestValidationResult {
1220 /**
1221 * The message associated with the result.
1222 */
1223 message?: string;
1224 /**
1225 * The result.
1226 */
1227 result?: ValidationResult;
1228}
1229/**
1230 * Represents information about resources used by builds in the system.
1231 */
1232export interface BuildResourceUsage {
1233 /**
1234 * The number of build agents.
1235 */
1236 distributedTaskAgents?: number;
1237 /**
1238 * The number of paid private agent slots.
1239 */
1240 paidPrivateAgentSlots?: number;
1241 /**
1242 * The total usage.
1243 */
1244 totalUsage?: number;
1245 /**
1246 * The number of XAML controllers.
1247 */
1248 xamlControllers?: number;
1249}
1250/**
1251 * This is not a Flags enum because we don't want to set multiple statuses on a build. However, when adding values, please stick to powers of 2 as if it were a Flags enum This will ensure that things that key off multiple result types (like labelling sources) continue to work
1252 */
1253export declare enum BuildResult {
1254 /**
1255 * No result
1256 */
1257 None = 0,
1258 /**
1259 * The build completed successfully.
1260 */
1261 Succeeded = 2,
1262 /**
1263 * The build completed compilation successfully but had other errors.
1264 */
1265 PartiallySucceeded = 4,
1266 /**
1267 * The build completed unsuccessfully.
1268 */
1269 Failed = 8,
1270 /**
1271 * The build was canceled before starting.
1272 */
1273 Canceled = 32
1274}
1275/**
1276 * A historical overview of build retention information. This includes a list of snapshots taken about build retention usage, and a list of builds that have exceeded the default 30 day retention policy.
1277 */
1278export interface BuildRetentionHistory {
1279 /**
1280 * A list of builds that are older than the default retention policy, but are not marked as retained. Something is causing these builds to not get cleaned up.
1281 */
1282 buildRetentionSamples?: BuildRetentionSample[];
1283}
1284/**
1285 * A snapshot of build retention information. This class takes a sample at the given time. It provides information about retained builds, files associated with those retained builds, and number of files being retained.
1286 */
1287export interface BuildRetentionSample {
1288 /**
1289 * Summary of retention by build
1290 */
1291 builds?: string;
1292 /**
1293 * List of build definitions
1294 */
1295 definitions?: string;
1296 /**
1297 * Summary of files consumed by retained builds
1298 */
1299 files?: string;
1300 /**
1301 * The date and time when the sample was taken
1302 */
1303 sampleTime?: Date;
1304}
1305export interface BuildsDeletedEvent extends BuildsDeletedEvent1 {
1306}
1307export interface BuildsDeletedEvent1 {
1308 buildIds?: number[];
1309 /**
1310 * The ID of the definition.
1311 */
1312 definitionId?: number;
1313 /**
1314 * The ID of the project.
1315 */
1316 projectId?: string;
1317}
1318export interface BuildServer {
1319 agents?: BuildAgentReference[];
1320 controller?: XamlBuildControllerReference;
1321 id?: number;
1322 isVirtual?: boolean;
1323 messageQueueUrl?: string;
1324 name?: string;
1325 requireClientCertificates?: boolean;
1326 status?: ServiceHostStatus;
1327 statusChangedDate?: Date;
1328 uri?: string;
1329 url?: string;
1330 version?: number;
1331}
1332/**
1333 * Represents system-wide build settings.
1334 */
1335export interface BuildSettings {
1336 /**
1337 * The number of days to keep records of deleted builds.
1338 */
1339 daysToKeepDeletedBuildsBeforeDestroy?: number;
1340 /**
1341 * The default retention policy.
1342 */
1343 defaultRetentionPolicy?: RetentionPolicy;
1344 /**
1345 * The maximum retention policy.
1346 */
1347 maximumRetentionPolicy?: RetentionPolicy;
1348}
1349export declare enum BuildStatus {
1350 /**
1351 * No status.
1352 */
1353 None = 0,
1354 /**
1355 * The build is currently in progress.
1356 */
1357 InProgress = 1,
1358 /**
1359 * The build has completed.
1360 */
1361 Completed = 2,
1362 /**
1363 * The build is cancelling
1364 */
1365 Cancelling = 4,
1366 /**
1367 * The build is inactive in the queue.
1368 */
1369 Postponed = 8,
1370 /**
1371 * The build has not yet started.
1372 */
1373 NotStarted = 32,
1374 /**
1375 * All status.
1376 */
1377 All = 47
1378}
1379export interface BuildSummary {
1380 build?: XamlBuildReference;
1381 finishTime?: Date;
1382 keepForever?: boolean;
1383 quality?: string;
1384 reason?: BuildReason;
1385 requestedFor?: VSSInterfaces.IdentityRef;
1386 startTime?: Date;
1387 status?: BuildStatus;
1388}
1389export interface BuildTagsAddedEvent extends BuildUpdatedEvent {
1390 allTags: string[];
1391 newTags: string[];
1392}
1393/**
1394 * Represents a trigger for a buld definition.
1395 */
1396export interface BuildTrigger {
1397 /**
1398 * The type of the trigger.
1399 */
1400 triggerType?: DefinitionTriggerType;
1401}
1402export interface BuildUpdatedEvent extends RealtimeBuildEvent {
1403 build: Build;
1404}
1405/**
1406 * Represents a workspace mapping.
1407 */
1408export interface BuildWorkspace {
1409 mappings?: MappingDetails[];
1410}
1411/**
1412 * Represents a change associated with a build.
1413 */
1414export interface Change {
1415 /**
1416 * The author of the change.
1417 */
1418 author?: VSSInterfaces.IdentityRef;
1419 /**
1420 * The location of a user-friendly representation of the resource.
1421 */
1422 displayUri?: string;
1423 /**
1424 * The identifier for the change. For a commit, this would be the SHA1. For a TFVC changeset, this would be the changeset ID.
1425 */
1426 id?: string;
1427 /**
1428 * The location of the full representation of the resource.
1429 */
1430 location?: string;
1431 /**
1432 * The description of the change. This might be a commit message or changeset description.
1433 */
1434 message?: string;
1435 /**
1436 * Indicates whether the message was truncated.
1437 */
1438 messageTruncated?: boolean;
1439 /**
1440 * The person or process that pushed the change.
1441 */
1442 pusher?: string;
1443 /**
1444 * The timestamp for the change.
1445 */
1446 timestamp?: Date;
1447 /**
1448 * The type of change. "commit", "changeset", etc.
1449 */
1450 type?: string;
1451}
1452export interface ConsoleLogEvent extends RealtimeBuildEvent {
1453 lines?: string[];
1454 stepRecordId?: string;
1455 timelineId: string;
1456 timelineRecordId: string;
1457}
1458export interface ContinuousDeploymentDefinition {
1459 /**
1460 * The connected service associated with the continuous deployment
1461 */
1462 connectedService?: TfsCoreInterfaces.WebApiConnectedServiceRef;
1463 /**
1464 * The definition associated with the continuous deployment
1465 */
1466 definition?: XamlDefinitionReference;
1467 gitBranch?: string;
1468 hostedServiceName?: string;
1469 project?: TfsCoreInterfaces.TeamProjectReference;
1470 repositoryId?: string;
1471 storageAccountName?: string;
1472 subscriptionId?: string;
1473 website?: string;
1474 webspace?: string;
1475}
1476/**
1477 * Represents a continuous integration (CI) trigger.
1478 */
1479export interface ContinuousIntegrationTrigger extends BuildTrigger {
1480 /**
1481 * Indicates whether changes should be batched while another CI build is running.
1482 */
1483 batchChanges?: boolean;
1484 branchFilters?: string[];
1485 /**
1486 * The maximum number of simultaneous CI builds that will run per branch.
1487 */
1488 maxConcurrentBuildsPerBranch?: number;
1489 pathFilters?: string[];
1490 /**
1491 * The polling interval, in seconds.
1492 */
1493 pollingInterval?: number;
1494 /**
1495 * The ID of the job used to poll an external repository.
1496 */
1497 pollingJobId?: string;
1498 settingsSourceType?: number;
1499}
1500export declare enum ControllerStatus {
1501 /**
1502 * Indicates that the build controller cannot be contacted.
1503 */
1504 Unavailable = 0,
1505 /**
1506 * Indicates that the build controller is currently available.
1507 */
1508 Available = 1,
1509 /**
1510 * Indicates that the build controller has taken itself offline.
1511 */
1512 Offline = 2
1513}
1514export declare enum DefinitionQuality {
1515 Definition = 1,
1516 Draft = 2
1517}
1518/**
1519 * Specifies the desired ordering of definitions.
1520 */
1521export declare enum DefinitionQueryOrder {
1522 /**
1523 * No order
1524 */
1525 None = 0,
1526 /**
1527 * Order by created on/last modified time ascending.
1528 */
1529 LastModifiedAscending = 1,
1530 /**
1531 * Order by created on/last modified time descending.
1532 */
1533 LastModifiedDescending = 2,
1534 /**
1535 * Order by definition name ascending.
1536 */
1537 DefinitionNameAscending = 3,
1538 /**
1539 * Order by definition name descending.
1540 */
1541 DefinitionNameDescending = 4
1542}
1543export declare enum DefinitionQueueStatus {
1544 /**
1545 * When enabled the definition queue allows builds to be queued by users, the system will queue scheduled, gated and continuous integration builds, and the queued builds will be started by the system.
1546 */
1547 Enabled = 0,
1548 /**
1549 * When paused the definition queue allows builds to be queued by users and the system will queue scheduled, gated and continuous integration builds. Builds in the queue will not be started by the system.
1550 */
1551 Paused = 1,
1552 /**
1553 * When disabled the definition queue will not allow builds to be queued by users and the system will not queue scheduled, gated or continuous integration builds. Builds already in the queue will not be started by the system.
1554 */
1555 Disabled = 2
1556}
1557/**
1558 * Represents a reference to a definition.
1559 */
1560export interface DefinitionReference {
1561 /**
1562 * The date this version of the definition was created.
1563 */
1564 createdDate?: Date;
1565 /**
1566 * The ID of the referenced definition.
1567 */
1568 id?: number;
1569 /**
1570 * The name of the referenced definition.
1571 */
1572 name?: string;
1573 /**
1574 * The folder path of the definition.
1575 */
1576 path?: string;
1577 /**
1578 * A reference to the project.
1579 */
1580 project?: TfsCoreInterfaces.TeamProjectReference;
1581 /**
1582 * A value that indicates whether builds can be queued against this definition.
1583 */
1584 queueStatus?: DefinitionQueueStatus;
1585 /**
1586 * The definition revision number.
1587 */
1588 revision?: number;
1589 /**
1590 * The type of the definition.
1591 */
1592 type?: DefinitionType;
1593 /**
1594 * The definition's URI.
1595 */
1596 uri?: string;
1597 /**
1598 * The REST URL of the definition.
1599 */
1600 url?: string;
1601}
1602export interface DefinitionResourceReference {
1603 /**
1604 * Indicates whether the resource is authorized for use.
1605 */
1606 authorized?: boolean;
1607 /**
1608 * The id of the resource.
1609 */
1610 id?: string;
1611 /**
1612 * A friendly name for the resource.
1613 */
1614 name?: string;
1615 /**
1616 * The type of the resource.
1617 */
1618 type?: string;
1619}
1620export declare enum DefinitionTriggerType {
1621 /**
1622 * Manual builds only.
1623 */
1624 None = 1,
1625 /**
1626 * A build should be started for each changeset.
1627 */
1628 ContinuousIntegration = 2,
1629 /**
1630 * A build should be started for multiple changesets at a time at a specified interval.
1631 */
1632 BatchedContinuousIntegration = 4,
1633 /**
1634 * A build should be started on a specified schedule whether or not changesets exist.
1635 */
1636 Schedule = 8,
1637 /**
1638 * A validation build should be started for each check-in.
1639 */
1640 GatedCheckIn = 16,
1641 /**
1642 * A validation build should be started for each batch of check-ins.
1643 */
1644 BatchedGatedCheckIn = 32,
1645 /**
1646 * A build should be triggered when a GitHub pull request is created or updated. Added in resource version 3
1647 */
1648 PullRequest = 64,
1649 /**
1650 * A build should be triggered when another build completes.
1651 */
1652 BuildCompletion = 128,
1653 /**
1654 * All types.
1655 */
1656 All = 255
1657}
1658export declare enum DefinitionType {
1659 Xaml = 1,
1660 Build = 2
1661}
1662export declare enum DeleteOptions {
1663 /**
1664 * No data should be deleted. This value should not be used.
1665 */
1666 None = 0,
1667 /**
1668 * The drop location should be deleted.
1669 */
1670 DropLocation = 1,
1671 /**
1672 * The test results should be deleted.
1673 */
1674 TestResults = 2,
1675 /**
1676 * The version control label should be deleted.
1677 */
1678 Label = 4,
1679 /**
1680 * The build should be deleted.
1681 */
1682 Details = 8,
1683 /**
1684 * Published symbols should be deleted.
1685 */
1686 Symbols = 16,
1687 /**
1688 * All data should be deleted.
1689 */
1690 All = 31
1691}
1692/**
1693 * Represents a demand used by a definition or build.
1694 */
1695export interface Demand {
1696 /**
1697 * The name of the capability referenced by the demand.
1698 */
1699 name?: string;
1700 /**
1701 * The demanded value.
1702 */
1703 value?: string;
1704}
1705/**
1706 * Represents a dependency.
1707 */
1708export interface Dependency {
1709 /**
1710 * The event. The dependency is satisfied when the referenced object emits this event.
1711 */
1712 event?: string;
1713 /**
1714 * The scope. This names the object referenced by the dependency.
1715 */
1716 scope?: string;
1717}
1718/**
1719 * Represents the data from the build information nodes for type "DeploymentInformation" for xaml builds
1720 */
1721export interface Deployment {
1722 type?: string;
1723}
1724/**
1725 * Deployment information for type "Build"
1726 */
1727export interface DeploymentBuild extends Deployment {
1728 buildId?: number;
1729}
1730/**
1731 * Deployment information for type "Deploy"
1732 */
1733export interface DeploymentDeploy extends Deployment {
1734 message?: string;
1735}
1736/**
1737 * Deployment information for type "Test"
1738 */
1739export interface DeploymentTest extends Deployment {
1740 runId?: number;
1741}
1742/**
1743 * Represents a build process supported by the build definition designer.
1744 */
1745export interface DesignerProcess extends BuildProcess {
1746 phases?: Phase[];
1747 /**
1748 * The target for the build process.
1749 */
1750 target?: DesignerProcessTarget;
1751}
1752/**
1753 * Represents the target for the build process.
1754 */
1755export interface DesignerProcessTarget {
1756 /**
1757 * Agent specification for the build process.
1758 */
1759 agentSpecification?: AgentSpecification;
1760}
1761export interface DockerProcess extends BuildProcess {
1762 target?: DockerProcessTarget;
1763}
1764/**
1765 * Represents the target for the docker build process.
1766 */
1767export interface DockerProcessTarget extends DesignerProcessTarget {
1768}
1769/**
1770 * Represents a folder that contains build definitions.
1771 */
1772export interface Folder {
1773 /**
1774 * The process or person who created the folder.
1775 */
1776 createdBy?: VSSInterfaces.IdentityRef;
1777 /**
1778 * The date the folder was created.
1779 */
1780 createdOn?: Date;
1781 /**
1782 * The description.
1783 */
1784 description?: string;
1785 /**
1786 * The process or person that last changed the folder.
1787 */
1788 lastChangedBy?: VSSInterfaces.IdentityRef;
1789 /**
1790 * The date the folder was last changed.
1791 */
1792 lastChangedDate?: Date;
1793 /**
1794 * The full path.
1795 */
1796 path?: string;
1797 /**
1798 * The project.
1799 */
1800 project?: TfsCoreInterfaces.TeamProjectReference;
1801}
1802/**
1803 * Specifies the desired ordering of folders.
1804 */
1805export declare enum FolderQueryOrder {
1806 /**
1807 * No order
1808 */
1809 None = 0,
1810 /**
1811 * Order by folder name and path ascending.
1812 */
1813 FolderAscending = 1,
1814 /**
1815 * Order by folder name and path descending.
1816 */
1817 FolderDescending = 2
1818}
1819/**
1820 * Represents the ability to build forks of the selected repository.
1821 */
1822export interface Forks {
1823 /**
1824 * Indicates whether a build should allow a full access token or scope it down when building forks of the selected repository.
1825 */
1826 allowFullAccessToken?: boolean;
1827 /**
1828 * Indicates whether a build should use secrets when building forks of the selected repository.
1829 */
1830 allowSecrets?: boolean;
1831 /**
1832 * Indicates whether the trigger should queue builds for forks of the selected repository.
1833 */
1834 enabled?: boolean;
1835}
1836/**
1837 * Represents a gated check-in trigger.
1838 */
1839export interface GatedCheckInTrigger extends BuildTrigger {
1840 pathFilters?: string[];
1841 /**
1842 * Indicates whether CI triggers should run after the gated check-in succeeds.
1843 */
1844 runContinuousIntegration?: boolean;
1845 /**
1846 * Indicates whether to take workspace mappings into account when determining whether a build should run.
1847 */
1848 useWorkspaceMappings?: boolean;
1849}
1850export declare enum GetOption {
1851 /**
1852 * Use the latest changeset at the time the build is queued.
1853 */
1854 LatestOnQueue = 0,
1855 /**
1856 * Use the latest changeset at the time the build is started.
1857 */
1858 LatestOnBuild = 1,
1859 /**
1860 * A user-specified version has been supplied.
1861 */
1862 Custom = 2
1863}
1864/**
1865 * Data representation of an information node associated with a build
1866 */
1867export interface InformationNode {
1868 /**
1869 * Fields of the information node
1870 */
1871 fields?: {
1872 [key: string]: string;
1873 };
1874 /**
1875 * Process or person that last modified this node
1876 */
1877 lastModifiedBy?: string;
1878 /**
1879 * Date this node was last modified
1880 */
1881 lastModifiedDate?: Date;
1882 /**
1883 * Node Id of this information node
1884 */
1885 nodeId?: number;
1886 /**
1887 * Id of parent node (xml tree)
1888 */
1889 parentId?: number;
1890 /**
1891 * The type of the information node
1892 */
1893 type?: string;
1894}
1895/**
1896 * Represents an issue (error, warning) associated with a build.
1897 */
1898export interface Issue {
1899 /**
1900 * The category.
1901 */
1902 category?: string;
1903 data?: {
1904 [key: string]: string;
1905 };
1906 /**
1907 * A description of the issue.
1908 */
1909 message?: string;
1910 /**
1911 * The type (error, warning) of the issue.
1912 */
1913 type?: IssueType;
1914}
1915export declare enum IssueType {
1916 Error = 1,
1917 Warning = 2
1918}
1919export interface JustInTimeProcess extends BuildProcess {
1920}
1921/**
1922 * Represents an entry in a workspace mapping.
1923 */
1924export interface MappingDetails {
1925 /**
1926 * The local path.
1927 */
1928 localPath?: string;
1929 /**
1930 * The mapping type.
1931 */
1932 mappingType?: string;
1933 /**
1934 * The server path.
1935 */
1936 serverPath?: string;
1937}
1938export interface MinimalRetentionLease {
1939 /**
1940 * The pipeline definition of the run.
1941 */
1942 definitionId?: number;
1943 /**
1944 * User-provided string that identifies the owner of a retention lease.
1945 */
1946 ownerId?: string;
1947 /**
1948 * The pipeline run to protect.
1949 */
1950 runId?: number;
1951}
1952/**
1953 * Represents options for running a phase against multiple agents.
1954 */
1955export interface MultipleAgentExecutionOptions extends AgentTargetExecutionOptions {
1956 /**
1957 * Indicates whether failure on one agent should prevent the phase from running on other agents.
1958 */
1959 continueOnError?: boolean;
1960 /**
1961 * The maximum number of agents to use simultaneously.
1962 */
1963 maxConcurrency?: number;
1964}
1965/**
1966 * Required information to create a new retention lease.
1967 */
1968export interface NewRetentionLease {
1969 /**
1970 * The number of days to consider the lease valid. A retention lease valid for more than 100 years (36500 days) will display as retaining the build "forever".
1971 */
1972 daysValid?: number;
1973 /**
1974 * The pipeline definition of the run.
1975 */
1976 definitionId?: number;
1977 /**
1978 * User-provided string that identifies the owner of a retention lease.
1979 */
1980 ownerId?: string;
1981 /**
1982 * If set, this lease will also prevent the pipeline from being deleted while the lease is still valid.
1983 */
1984 protectPipeline?: boolean;
1985 /**
1986 * The pipeline run to protect.
1987 */
1988 runId?: number;
1989}
1990/**
1991 * Represents a phase of a build definition.
1992 */
1993export interface Phase {
1994 /**
1995 * The condition that must be true for this phase to execute.
1996 */
1997 condition?: string;
1998 dependencies?: Dependency[];
1999 /**
2000 * The job authorization scope for builds queued against this definition.
2001 */
2002 jobAuthorizationScope?: BuildAuthorizationScope;
2003 /**
2004 * The cancellation timeout, in minutes, for builds queued against this definition.
2005 */
2006 jobCancelTimeoutInMinutes?: number;
2007 /**
2008 * The job execution timeout, in minutes, for builds queued against this definition.
2009 */
2010 jobTimeoutInMinutes?: number;
2011 /**
2012 * The name of the phase.
2013 */
2014 name?: string;
2015 /**
2016 * The unique ref name of the phase.
2017 */
2018 refName?: string;
2019 steps?: BuildDefinitionStep[];
2020 /**
2021 * The target (agent, server, etc.) for this phase.
2022 */
2023 target?: PhaseTarget;
2024 variables?: {
2025 [key: string]: BuildDefinitionVariable;
2026 };
2027}
2028/**
2029 * Represents the target of a phase.
2030 */
2031export interface PhaseTarget {
2032 /**
2033 * The type of the target.
2034 */
2035 type?: number;
2036}
2037/**
2038 * Contains pipeline general settings.
2039 */
2040export interface PipelineGeneralSettings {
2041 /**
2042 * If enabled, audit logs will be generated whenever someone queues a pipeline run and defines variables that are not marked as "Settable at queue time".
2043 */
2044 auditEnforceSettableVar?: boolean;
2045 /**
2046 * Enable forked repositories to build pull requests.
2047 */
2048 buildsEnabledForForks?: boolean;
2049 /**
2050 * Disable classic build pipelines creation.
2051 */
2052 disableClassicBuildPipelineCreation?: boolean;
2053 /**
2054 * Disable classic pipelines creation.
2055 */
2056 disableClassicPipelineCreation?: boolean;
2057 /**
2058 * Disable classic release pipelines creation.
2059 */
2060 disableClassicReleasePipelineCreation?: boolean;
2061 /**
2062 * Disable implied pipeline CI triggers if the trigger section in YAML is missing.
2063 */
2064 disableImpliedYAMLCiTrigger?: boolean;
2065 /**
2066 * Enable shell tasks args sanitizing.
2067 */
2068 enableShellTasksArgsSanitizing?: boolean;
2069 /**
2070 * Enable shell tasks args sanitizing preview.
2071 */
2072 enableShellTasksArgsSanitizingAudit?: boolean;
2073 /**
2074 * If enabled, scope of access for all non-release pipelines reduces to the current project.
2075 */
2076 enforceJobAuthScope?: boolean;
2077 /**
2078 * Enforce job auth scope for builds of forked repositories.
2079 */
2080 enforceJobAuthScopeForForks?: boolean;
2081 /**
2082 * If enabled, scope of access for all release pipelines reduces to the current project.
2083 */
2084 enforceJobAuthScopeForReleases?: boolean;
2085 /**
2086 * Enforce no access to secrets for builds of forked repositories.
2087 */
2088 enforceNoAccessToSecretsFromForks?: boolean;
2089 /**
2090 * Restricts the scope of access for all pipelines to only repositories explicitly referenced by the pipeline.
2091 */
2092 enforceReferencedRepoScopedToken?: boolean;
2093 /**
2094 * If enabled, only those variables that are explicitly marked as "Settable at queue time" can be set at queue time.
2095 */
2096 enforceSettableVar?: boolean;
2097 /**
2098 * Enable settings that enforce certain levels of protection for building pull requests from forks globally.
2099 */
2100 forkProtectionEnabled?: boolean;
2101 /**
2102 * Make comments required to have builds in all pull requests.
2103 */
2104 isCommentRequiredForPullRequest?: boolean;
2105 /**
2106 * Allows pipelines to record metadata.
2107 */
2108 publishPipelineMetadata?: boolean;
2109 /**
2110 * Make comments required to have builds in pull requests from non-team members and non-contributors.
2111 */
2112 requireCommentsForNonTeamMemberAndNonContributors?: boolean;
2113 /**
2114 * Make comments required to have builds in pull requests from non-team members.
2115 */
2116 requireCommentsForNonTeamMembersOnly?: boolean;
2117 /**
2118 * Anonymous users can access the status badge API for all pipelines unless this option is enabled.
2119 */
2120 statusBadgesArePrivate?: boolean;
2121}
2122/**
2123 * Represents the effective settings applicable to individual pipeline triggers.
2124 */
2125export interface PipelineTriggerSettings {
2126 /**
2127 * Enable forked repositories to build pull requests.
2128 */
2129 buildsEnabledForForks?: boolean;
2130 /**
2131 * Enforce job auth scope for builds of forked repositories.
2132 */
2133 enforceJobAuthScopeForForks?: boolean;
2134 /**
2135 * Enforce no access to secrets for builds of forked repositories.
2136 */
2137 enforceNoAccessToSecretsFromForks?: boolean;
2138 /**
2139 * Enable settings that enforce certain levels of protection for building pull requests from forks globally.
2140 */
2141 forkProtectionEnabled?: boolean;
2142 /**
2143 * Make comments required to have builds in all pull requests.
2144 */
2145 isCommentRequiredForPullRequest?: boolean;
2146 /**
2147 * Make comments required to have builds in pull requests from non-team members and non-contributors.
2148 */
2149 requireCommentsForNonTeamMemberAndNonContributors?: boolean;
2150 /**
2151 * Make comments required to have builds in pull requests from non-team members.
2152 */
2153 requireCommentsForNonTeamMembersOnly?: boolean;
2154}
2155export declare enum ProcessTemplateType {
2156 /**
2157 * Indicates a custom template.
2158 */
2159 Custom = 0,
2160 /**
2161 * Indicates a default template.
2162 */
2163 Default = 1,
2164 /**
2165 * Indicates an upgrade template.
2166 */
2167 Upgrade = 2
2168}
2169/**
2170 * Contains the settings for the retention rules.
2171 */
2172export interface ProjectRetentionSetting {
2173 /**
2174 * The rules for artifact retention. Artifacts can not live longer than a run, so will be overridden by a shorter run purge setting.
2175 */
2176 purgeArtifacts?: RetentionSetting;
2177 /**
2178 * The rules for pull request pipeline run retention.
2179 */
2180 purgePullRequestRuns?: RetentionSetting;
2181 /**
2182 * The rules for pipeline run retention.
2183 */
2184 purgeRuns?: RetentionSetting;
2185 /**
2186 * The rules for retaining runs per protected branch.
2187 */
2188 retainRunsPerProtectedBranch?: RetentionSetting;
2189}
2190/**
2191 * Represents a pull request object. These are retrieved from Source Providers.
2192 */
2193export interface PullRequest {
2194 /**
2195 * The links to other objects related to this object.
2196 */
2197 _links?: any;
2198 /**
2199 * Author of the pull request.
2200 */
2201 author?: VSSInterfaces.IdentityRef;
2202 /**
2203 * Current state of the pull request, e.g. open, merged, closed, conflicts, etc.
2204 */
2205 currentState?: string;
2206 /**
2207 * Description for the pull request.
2208 */
2209 description?: string;
2210 /**
2211 * Returns if pull request is draft
2212 */
2213 draft?: boolean;
2214 /**
2215 * Unique identifier for the pull request
2216 */
2217 id?: string;
2218 /**
2219 * The name of the provider this pull request is associated with.
2220 */
2221 providerName?: string;
2222 /**
2223 * Source branch ref of this pull request
2224 */
2225 sourceBranchRef?: string;
2226 /**
2227 * Owner of the source repository of this pull request
2228 */
2229 sourceRepositoryOwner?: string;
2230 /**
2231 * Target branch ref of this pull request
2232 */
2233 targetBranchRef?: string;
2234 /**
2235 * Owner of the target repository of this pull request
2236 */
2237 targetRepositoryOwner?: string;
2238 /**
2239 * Title of the pull request.
2240 */
2241 title?: string;
2242}
2243/**
2244 * Represents a pull request trigger.
2245 */
2246export interface PullRequestTrigger extends BuildTrigger {
2247 /**
2248 * Indicates if an update to a PR should delete current in-progress builds.
2249 */
2250 autoCancel?: boolean;
2251 branchFilters?: string[];
2252 forks?: Forks;
2253 isCommentRequiredForPullRequest?: boolean;
2254 pathFilters?: string[];
2255 pipelineTriggerSettings?: PipelineTriggerSettings;
2256 requireCommentsForNonTeamMemberAndNonContributors?: boolean;
2257 requireCommentsForNonTeamMembersOnly?: boolean;
2258 settingsSourceType?: number;
2259}
2260export declare enum QueryDeletedOption {
2261 /**
2262 * Include only non-deleted builds.
2263 */
2264 ExcludeDeleted = 0,
2265 /**
2266 * Include deleted and non-deleted builds.
2267 */
2268 IncludeDeleted = 1,
2269 /**
2270 * Include only deleted builds.
2271 */
2272 OnlyDeleted = 2
2273}
2274export declare enum QueueOptions {
2275 /**
2276 * No queue options
2277 */
2278 None = 0,
2279 /**
2280 * Create a plan Id for the build, do not run it
2281 */
2282 DoNotRun = 1
2283}
2284export declare enum QueuePriority {
2285 /**
2286 * Low priority.
2287 */
2288 Low = 5,
2289 /**
2290 * Below normal priority.
2291 */
2292 BelowNormal = 4,
2293 /**
2294 * Normal priority.
2295 */
2296 Normal = 3,
2297 /**
2298 * Above normal priority.
2299 */
2300 AboveNormal = 2,
2301 /**
2302 * High priority.
2303 */
2304 High = 1
2305}
2306export interface RealtimeBuildEvent {
2307 buildId: number;
2308}
2309export declare enum RepositoryCleanOptions {
2310 /**
2311 * Run git clean -fdx && git reset --hard or Tf /scorch on $(build.sourcesDirectory)
2312 */
2313 Source = 0,
2314 /**
2315 * Run git clean -fdx && git reset --hard or Tf /scorch on $(build.sourcesDirectory), also re-create $(build.binariesDirectory)
2316 */
2317 SourceAndOutputDir = 1,
2318 /**
2319 * Re-create $(build.sourcesDirectory)
2320 */
2321 SourceDir = 2,
2322 /**
2323 * Re-create $(agnet.buildDirectory) which contains $(build.sourcesDirectory), $(build.binariesDirectory) and any folders that left from previous build.
2324 */
2325 AllBuildDir = 3
2326}
2327/**
2328 * Represents a repository's webhook returned from a source provider.
2329 */
2330export interface RepositoryWebhook {
2331 /**
2332 * The friendly name of the repository.
2333 */
2334 name?: string;
2335 types?: DefinitionTriggerType[];
2336 /**
2337 * The URL of the repository.
2338 */
2339 url?: string;
2340}
2341/**
2342 * Represents a reference to a resource.
2343 */
2344export interface ResourceReference {
2345 /**
2346 * An alias to be used when referencing the resource.
2347 */
2348 alias?: string;
2349}
2350export declare enum ResultSet {
2351 /**
2352 * Include all repositories
2353 */
2354 All = 0,
2355 /**
2356 * Include most relevant repositories for user
2357 */
2358 Top = 1
2359}
2360/**
2361 * A valid retention lease prevents automated systems from deleting a pipeline run.
2362 */
2363export interface RetentionLease {
2364 /**
2365 * When the lease was created.
2366 */
2367 createdOn?: Date;
2368 /**
2369 * The pipeline definition of the run.
2370 */
2371 definitionId?: number;
2372 /**
2373 * The unique identifier for this lease.
2374 */
2375 leaseId?: number;
2376 /**
2377 * Non-unique string that identifies the owner of a retention lease.
2378 */
2379 ownerId?: string;
2380 /**
2381 * If set, this lease will also prevent the pipeline from being deleted while the lease is still valid.
2382 */
2383 protectPipeline?: boolean;
2384 /**
2385 * The pipeline run protected by this lease.
2386 */
2387 runId?: number;
2388 /**
2389 * The last day the lease is considered valid.
2390 */
2391 validUntil?: Date;
2392}
2393/**
2394 * An update to the retention parameters of a retention lease.
2395 */
2396export interface RetentionLeaseUpdate {
2397 /**
2398 * The number of days to consider the lease valid. A retention lease valid for more than 100 years (36500 days) will display as retaining the build "forever".
2399 */
2400 daysValid?: number;
2401 /**
2402 * If set, this lease will also prevent the pipeline from being deleted while the lease is still valid.
2403 */
2404 protectPipeline?: boolean;
2405}
2406/**
2407 * Represents a retention policy for a build definition.
2408 */
2409export interface RetentionPolicy {
2410 artifacts?: string[];
2411 artifactTypesToDelete?: string[];
2412 branches?: string[];
2413 /**
2414 * The number of days to keep builds.
2415 */
2416 daysToKeep?: number;
2417 /**
2418 * Indicates whether the build record itself should be deleted.
2419 */
2420 deleteBuildRecord?: boolean;
2421 /**
2422 * Indicates whether to delete test results associated with the build.
2423 */
2424 deleteTestResults?: boolean;
2425 /**
2426 * The minimum number of builds to keep.
2427 */
2428 minimumToKeep?: number;
2429}
2430/**
2431 * Contains the minimum, maximum, and current value for a retention setting.
2432 */
2433export interface RetentionSetting {
2434 max?: number;
2435 min?: number;
2436 value?: number;
2437}
2438export interface Schedule {
2439 branchFilters?: string[];
2440 /**
2441 * Days for a build (flags enum for days of the week)
2442 */
2443 daysToBuild?: ScheduleDays;
2444 /**
2445 * The Job Id of the Scheduled job that will queue the scheduled build. Since a single trigger can have multiple schedules and we want a single job to process a single schedule (since each schedule has a list of branches to build), the schedule itself needs to define the Job Id. This value will be filled in when a definition is added or updated. The UI does not provide it or use it.
2446 */
2447 scheduleJobId?: string;
2448 /**
2449 * Flag to determine if this schedule should only build if the associated source has been changed.
2450 */
2451 scheduleOnlyWithChanges?: boolean;
2452 /**
2453 * Local timezone hour to start
2454 */
2455 startHours?: number;
2456 /**
2457 * Local timezone minute to start
2458 */
2459 startMinutes?: number;
2460 /**
2461 * Time zone of the build schedule (String representation of the time zone ID)
2462 */
2463 timeZoneId?: string;
2464}
2465export declare enum ScheduleDays {
2466 /**
2467 * Do not run.
2468 */
2469 None = 0,
2470 /**
2471 * Run on Monday.
2472 */
2473 Monday = 1,
2474 /**
2475 * Run on Tuesday.
2476 */
2477 Tuesday = 2,
2478 /**
2479 * Run on Wednesday.
2480 */
2481 Wednesday = 4,
2482 /**
2483 * Run on Thursday.
2484 */
2485 Thursday = 8,
2486 /**
2487 * Run on Friday.
2488 */
2489 Friday = 16,
2490 /**
2491 * Run on Saturday.
2492 */
2493 Saturday = 32,
2494 /**
2495 * Run on Sunday.
2496 */
2497 Sunday = 64,
2498 /**
2499 * Run on all days of the week.
2500 */
2501 All = 127
2502}
2503/**
2504 * Represents a schedule trigger.
2505 */
2506export interface ScheduleTrigger extends BuildTrigger {
2507 schedules?: Schedule[];
2508}
2509/**
2510 * Represents a reference to a secure file.
2511 */
2512export interface SecureFileReference extends ResourceReference {
2513 /**
2514 * The ID of the secure file.
2515 */
2516 id?: string;
2517}
2518/**
2519 * Represents a phase target that runs on the server.
2520 */
2521export interface ServerTarget extends PhaseTarget {
2522 /**
2523 * The execution options.
2524 */
2525 executionOptions?: ServerTargetExecutionOptions;
2526}
2527/**
2528 * Represents options for running a phase on the server.
2529 */
2530export interface ServerTargetExecutionOptions {
2531 /**
2532 * The type.
2533 */
2534 type?: number;
2535}
2536/**
2537 * Represents a referenec to a service endpoint.
2538 */
2539export interface ServiceEndpointReference extends ResourceReference {
2540 /**
2541 * The ID of the service endpoint.
2542 */
2543 id?: string;
2544}
2545export declare enum ServiceHostStatus {
2546 /**
2547 * The service host is currently connected and accepting commands.
2548 */
2549 Online = 1,
2550 /**
2551 * The service host is currently disconnected and not accepting commands.
2552 */
2553 Offline = 2
2554}
2555export interface SourceProviderAttributes {
2556 /**
2557 * The name of the source provider.
2558 */
2559 name?: string;
2560 /**
2561 * The capabilities supported by this source provider.
2562 */
2563 supportedCapabilities?: {
2564 [key: string]: boolean;
2565 };
2566 /**
2567 * The types of triggers supported by this source provider.
2568 */
2569 supportedTriggers?: SupportedTrigger[];
2570}
2571export declare enum SourceProviderAvailability {
2572 /**
2573 * The source provider is available in the hosted environment.
2574 */
2575 Hosted = 1,
2576 /**
2577 * The source provider is available in the on-premises environment.
2578 */
2579 OnPremises = 2,
2580 /**
2581 * The source provider is available in all environments.
2582 */
2583 All = 3
2584}
2585/**
2586 * Represents a work item related to some source item. These are retrieved from Source Providers.
2587 */
2588export interface SourceRelatedWorkItem {
2589 _links?: any;
2590 /**
2591 * Identity ref for the person that the work item is assigned to.
2592 */
2593 assignedTo?: VSSInterfaces.IdentityRef;
2594 /**
2595 * Current state of the work item, e.g. Active, Resolved, Closed, etc.
2596 */
2597 currentState?: string;
2598 /**
2599 * Long description for the work item.
2600 */
2601 description?: string;
2602 /**
2603 * Unique identifier for the work item
2604 */
2605 id?: string;
2606 /**
2607 * The name of the provider the work item is associated with.
2608 */
2609 providerName?: string;
2610 /**
2611 * Short name for the work item.
2612 */
2613 title?: string;
2614 /**
2615 * Type of work item, e.g. Bug, Task, User Story, etc.
2616 */
2617 type?: string;
2618}
2619/**
2620 * A set of repositories returned from the source provider.
2621 */
2622export interface SourceRepositories {
2623 /**
2624 * A token used to continue this paged request; 'null' if the request is complete
2625 */
2626 continuationToken?: string;
2627 /**
2628 * The number of repositories requested for each page
2629 */
2630 pageLength?: number;
2631 /**
2632 * A list of repositories
2633 */
2634 repositories?: SourceRepository[];
2635 /**
2636 * The total number of pages, or '-1' if unknown
2637 */
2638 totalPageCount?: number;
2639}
2640/**
2641 * Represents a repository returned from a source provider.
2642 */
2643export interface SourceRepository {
2644 /**
2645 * The name of the default branch.
2646 */
2647 defaultBranch?: string;
2648 /**
2649 * The full name of the repository.
2650 */
2651 fullName?: string;
2652 /**
2653 * The ID of the repository.
2654 */
2655 id?: string;
2656 /**
2657 * The friendly name of the repository.
2658 */
2659 name?: string;
2660 properties?: {
2661 [key: string]: string;
2662 };
2663 /**
2664 * The name of the source provider the repository is from.
2665 */
2666 sourceProviderName?: string;
2667 /**
2668 * The URL of the repository.
2669 */
2670 url?: string;
2671}
2672/**
2673 * Represents an item in a repository from a source provider.
2674 */
2675export interface SourceRepositoryItem {
2676 /**
2677 * Whether the item is able to have sub-items (e.g., is a folder).
2678 */
2679 isContainer?: boolean;
2680 /**
2681 * The full path of the item, relative to the root of the repository.
2682 */
2683 path?: string;
2684 /**
2685 * The type of the item (folder, file, etc).
2686 */
2687 type?: string;
2688 /**
2689 * The URL of the item.
2690 */
2691 url?: string;
2692}
2693export declare enum StageUpdateType {
2694 Cancel = 0,
2695 Retry = 1
2696}
2697export interface SupportedTrigger {
2698 /**
2699 * The default interval to wait between polls (only relevant when NotificationType is Polling).
2700 */
2701 defaultPollingInterval?: number;
2702 /**
2703 * How the trigger is notified of changes.
2704 */
2705 notificationType?: string;
2706 /**
2707 * The capabilities supported by this trigger.
2708 */
2709 supportedCapabilities?: {
2710 [key: string]: SupportLevel;
2711 };
2712 /**
2713 * The type of trigger.
2714 */
2715 type?: DefinitionTriggerType;
2716}
2717export declare enum SupportLevel {
2718 /**
2719 * The functionality is not supported.
2720 */
2721 Unsupported = 0,
2722 /**
2723 * The functionality is supported.
2724 */
2725 Supported = 1,
2726 /**
2727 * The functionality is required.
2728 */
2729 Required = 2
2730}
2731/**
2732 * Represents a Subversion mapping entry.
2733 */
2734export interface SvnMappingDetails {
2735 /**
2736 * The depth.
2737 */
2738 depth?: number;
2739 /**
2740 * Indicates whether to ignore externals.
2741 */
2742 ignoreExternals?: boolean;
2743 /**
2744 * The local path.
2745 */
2746 localPath?: string;
2747 /**
2748 * The revision.
2749 */
2750 revision?: string;
2751 /**
2752 * The server path.
2753 */
2754 serverPath?: string;
2755}
2756/**
2757 * Represents a subversion workspace.
2758 */
2759export interface SvnWorkspace {
2760 mappings?: SvnMappingDetails[];
2761}
2762/**
2763 * Represents a reference to an agent pool.
2764 */
2765export interface TaskAgentPoolReference {
2766 /**
2767 * The pool ID.
2768 */
2769 id?: number;
2770 /**
2771 * A value indicating whether or not this pool is managed by the service.
2772 */
2773 isHosted?: boolean;
2774 /**
2775 * The pool name.
2776 */
2777 name?: string;
2778}
2779/**
2780 * A reference to a task definition.
2781 */
2782export interface TaskDefinitionReference {
2783 /**
2784 * The type of task (task or task group).
2785 */
2786 definitionType?: string;
2787 /**
2788 * The ID of the task.
2789 */
2790 id: string;
2791 /**
2792 * The version of the task.
2793 */
2794 versionSpec: string;
2795}
2796/**
2797 * Represents a reference to a plan group.
2798 */
2799export interface TaskOrchestrationPlanGroupReference {
2800 /**
2801 * The name of the plan group.
2802 */
2803 planGroup?: string;
2804 /**
2805 * The project ID.
2806 */
2807 projectId?: string;
2808}
2809export interface TaskOrchestrationPlanGroupsStartedEvent {
2810 planGroups: TaskOrchestrationPlanGroupReference[];
2811}
2812/**
2813 * Represents a reference to an orchestration plan.
2814 */
2815export interface TaskOrchestrationPlanReference {
2816 /**
2817 * The type of the plan.
2818 */
2819 orchestrationType?: number;
2820 /**
2821 * The ID of the plan.
2822 */
2823 planId?: string;
2824}
2825/**
2826 * Represents a reference to a task.
2827 */
2828export interface TaskReference {
2829 /**
2830 * The ID of the task definition.
2831 */
2832 id?: string;
2833 /**
2834 * The name of the task definition.
2835 */
2836 name?: string;
2837 /**
2838 * The version of the task definition.
2839 */
2840 version?: string;
2841}
2842export declare enum TaskResult {
2843 Succeeded = 0,
2844 SucceededWithIssues = 1,
2845 Failed = 2,
2846 Canceled = 3,
2847 Skipped = 4,
2848 Abandoned = 5
2849}
2850/**
2851 * Represents the timeline of a build.
2852 */
2853export interface Timeline extends TimelineReference {
2854 /**
2855 * The process or person that last changed the timeline.
2856 */
2857 lastChangedBy?: string;
2858 /**
2859 * The time the timeline was last changed.
2860 */
2861 lastChangedOn?: Date;
2862 records?: TimelineRecord[];
2863}
2864export interface TimelineAttempt {
2865 /**
2866 * Gets or sets the attempt of the record.
2867 */
2868 attempt?: number;
2869 /**
2870 * Gets or sets the record identifier located within the specified timeline.
2871 */
2872 recordId?: string;
2873 /**
2874 * Gets or sets the timeline identifier which owns the record representing this attempt.
2875 */
2876 timelineId?: string;
2877}
2878/**
2879 * Represents an entry in a build's timeline.
2880 */
2881export interface TimelineRecord {
2882 _links?: any;
2883 /**
2884 * Attempt number of record.
2885 */
2886 attempt?: number;
2887 /**
2888 * The change ID.
2889 */
2890 changeId?: number;
2891 /**
2892 * A string that indicates the current operation.
2893 */
2894 currentOperation?: string;
2895 /**
2896 * A reference to a sub-timeline.
2897 */
2898 details?: TimelineReference;
2899 /**
2900 * The number of errors produced by this operation.
2901 */
2902 errorCount?: number;
2903 /**
2904 * The finish time.
2905 */
2906 finishTime?: Date;
2907 /**
2908 * The ID of the record.
2909 */
2910 id?: string;
2911 /**
2912 * String identifier that is consistent across attempts.
2913 */
2914 identifier?: string;
2915 issues?: Issue[];
2916 /**
2917 * The time the record was last modified.
2918 */
2919 lastModified?: Date;
2920 /**
2921 * A reference to the log produced by this operation.
2922 */
2923 log?: BuildLogReference;
2924 /**
2925 * The name.
2926 */
2927 name?: string;
2928 /**
2929 * An ordinal value relative to other records.
2930 */
2931 order?: number;
2932 /**
2933 * The ID of the record's parent.
2934 */
2935 parentId?: string;
2936 /**
2937 * The current completion percentage.
2938 */
2939 percentComplete?: number;
2940 previousAttempts?: TimelineAttempt[];
2941 /**
2942 * The queue ID of the queue that the operation ran on.
2943 */
2944 queueId?: number;
2945 /**
2946 * The result.
2947 */
2948 result?: TaskResult;
2949 /**
2950 * The result code.
2951 */
2952 resultCode?: string;
2953 /**
2954 * The start time.
2955 */
2956 startTime?: Date;
2957 /**
2958 * The state of the record.
2959 */
2960 state?: TimelineRecordState;
2961 /**
2962 * A reference to the task represented by this timeline record.
2963 */
2964 task?: TaskReference;
2965 /**
2966 * The type of the record.
2967 */
2968 type?: string;
2969 /**
2970 * The REST URL of the timeline record.
2971 */
2972 url?: string;
2973 /**
2974 * The number of warnings produced by this operation.
2975 */
2976 warningCount?: number;
2977 /**
2978 * The name of the agent running the operation.
2979 */
2980 workerName?: string;
2981}
2982export declare enum TimelineRecordState {
2983 Pending = 0,
2984 InProgress = 1,
2985 Completed = 2
2986}
2987export interface TimelineRecordsUpdatedEvent extends RealtimeBuildEvent {
2988 timelineRecords: TimelineRecord[];
2989}
2990/**
2991 * Represents a reference to a timeline.
2992 */
2993export interface TimelineReference {
2994 /**
2995 * The change ID.
2996 */
2997 changeId?: number;
2998 /**
2999 * The ID of the timeline.
3000 */
3001 id?: string;
3002 /**
3003 * The REST URL of the timeline.
3004 */
3005 url?: string;
3006}
3007/**
3008 * Contains members for updating the retention settings values. All fields are optional.
3009 */
3010export interface UpdateProjectRetentionSettingModel {
3011 artifactsRetention?: UpdateRetentionSettingModel;
3012 pullRequestRunRetention?: UpdateRetentionSettingModel;
3013 retainRunsPerProtectedBranch?: UpdateRetentionSettingModel;
3014 runRetention?: UpdateRetentionSettingModel;
3015}
3016export interface UpdateRetentionSettingModel {
3017 value?: number;
3018}
3019export interface UpdateStageParameters {
3020 forceRetryAllJobs?: boolean;
3021 retryDependencies?: boolean;
3022 state?: StageUpdateType;
3023}
3024export interface UpdateTagParameters {
3025 tagsToAdd?: string[];
3026 tagsToRemove?: string[];
3027}
3028export declare enum ValidationResult {
3029 OK = 0,
3030 Warning = 1,
3031 Error = 2
3032}
3033/**
3034 * Represents a variable group.
3035 */
3036export interface VariableGroup extends VariableGroupReference {
3037 /**
3038 * The description.
3039 */
3040 description?: string;
3041 /**
3042 * The name of the variable group.
3043 */
3044 name?: string;
3045 /**
3046 * The type of the variable group.
3047 */
3048 type?: string;
3049 variables?: {
3050 [key: string]: BuildDefinitionVariable;
3051 };
3052}
3053/**
3054 * Represents a reference to a variable group.
3055 */
3056export interface VariableGroupReference {
3057 /**
3058 * The Name of the variable group.
3059 */
3060 alias?: string;
3061 /**
3062 * The ID of the variable group.
3063 */
3064 id?: number;
3065}
3066/**
3067 * Represents options for running a phase based on values specified by a list of variables.
3068 */
3069export interface VariableMultipliersAgentExecutionOptions extends AgentTargetExecutionOptions {
3070 /**
3071 * Indicates whether failure on one agent should prevent the phase from running on other agents.
3072 */
3073 continueOnError?: boolean;
3074 /**
3075 * The maximum number of agents to use in parallel.
3076 */
3077 maxConcurrency?: number;
3078 multipliers?: string[];
3079}
3080/**
3081 * Represents options for running a phase based on values specified by a list of variables.
3082 */
3083export interface VariableMultipliersServerExecutionOptions extends ServerTargetExecutionOptions {
3084 /**
3085 * Indicates whether failure of one job should prevent the phase from running in other jobs.
3086 */
3087 continueOnError?: boolean;
3088 /**
3089 * The maximum number of server jobs to run in parallel.
3090 */
3091 maxConcurrency?: number;
3092 multipliers?: string[];
3093}
3094/**
3095 * Mapping for a workspace
3096 */
3097export interface WorkspaceMapping {
3098 /**
3099 * Uri of the associated definition
3100 */
3101 definitionUri?: string;
3102 /**
3103 * Depth of this mapping
3104 */
3105 depth?: number;
3106 /**
3107 * local location of the definition
3108 */
3109 localItem?: string;
3110 /**
3111 * type of workspace mapping
3112 */
3113 mappingType?: WorkspaceMappingType;
3114 /**
3115 * Server location of the definition
3116 */
3117 serverItem?: string;
3118 /**
3119 * Id of the workspace
3120 */
3121 workspaceId?: number;
3122}
3123export declare enum WorkspaceMappingType {
3124 /**
3125 * The path is mapped in the workspace.
3126 */
3127 Map = 0,
3128 /**
3129 * The path is cloaked in the workspace.
3130 */
3131 Cloak = 1
3132}
3133export interface WorkspaceTemplate {
3134 /**
3135 * Uri of the associated definition
3136 */
3137 definitionUri?: string;
3138 /**
3139 * The identity that last modified this template
3140 */
3141 lastModifiedBy?: string;
3142 /**
3143 * The last time this template was modified
3144 */
3145 lastModifiedDate?: Date;
3146 /**
3147 * List of workspace mappings
3148 */
3149 mappings?: WorkspaceMapping[];
3150 /**
3151 * Id of the workspace for this template
3152 */
3153 workspaceId?: number;
3154}
3155export interface XamlBuildControllerReference {
3156 /**
3157 * Id of the resource
3158 */
3159 id?: number;
3160 /**
3161 * Name of the linked resource (definition name, controller name, etc.)
3162 */
3163 name?: string;
3164 /**
3165 * Full http link to the resource
3166 */
3167 url?: string;
3168}
3169export interface XamlBuildDefinition extends DefinitionReference {
3170 _links?: any;
3171 /**
3172 * Batch size of the definition
3173 */
3174 batchSize?: number;
3175 buildArgs?: string;
3176 /**
3177 * The continuous integration quiet period
3178 */
3179 continuousIntegrationQuietPeriod?: number;
3180 /**
3181 * The build controller
3182 */
3183 controller?: BuildController;
3184 /**
3185 * The date this definition was created
3186 */
3187 createdOn?: Date;
3188 /**
3189 * Default drop location for builds from this definition
3190 */
3191 defaultDropLocation?: string;
3192 /**
3193 * Description of the definition
3194 */
3195 description?: string;
3196 /**
3197 * The last build on this definition
3198 */
3199 lastBuild?: XamlBuildReference;
3200 /**
3201 * The repository
3202 */
3203 repository?: BuildRepository;
3204 /**
3205 * The reasons supported by the template
3206 */
3207 supportedReasons?: BuildReason;
3208 /**
3209 * How builds are triggered from this definition
3210 */
3211 triggerType?: DefinitionTriggerType;
3212}
3213export interface XamlBuildReference {
3214 /**
3215 * Id of the resource
3216 */
3217 id?: number;
3218 /**
3219 * Name of the linked resource (definition name, controller name, etc.)
3220 */
3221 name?: string;
3222 /**
3223 * Full http link to the resource
3224 */
3225 url?: string;
3226}
3227export interface XamlBuildServerReference {
3228 /**
3229 * Id of the resource
3230 */
3231 id?: number;
3232 /**
3233 * Name of the linked resource (definition name, controller name, etc.)
3234 */
3235 name?: string;
3236 /**
3237 * Full http link to the resource
3238 */
3239 url?: string;
3240}
3241export interface XamlDefinitionReference {
3242 /**
3243 * Id of the resource
3244 */
3245 id?: number;
3246 /**
3247 * Name of the linked resource (definition name, controller name, etc.)
3248 */
3249 name?: string;
3250 /**
3251 * Full http link to the resource
3252 */
3253 url?: string;
3254}
3255/**
3256 * Represents a yaml build.
3257 */
3258export interface YamlBuild {
3259 /**
3260 * The yaml used to define the build
3261 */
3262 yaml?: string;
3263}
3264/**
3265 * Represents a YAML process.
3266 */
3267export interface YamlProcess extends BuildProcess {
3268 errors?: string[];
3269 /**
3270 * The resources used by the build definition.
3271 */
3272 resources?: BuildProcessResources;
3273 /**
3274 * The YAML filename.
3275 */
3276 yamlFilename?: string;
3277}
3278export declare var TypeInfo: {
3279 AgentStatus: {
3280 enumValues: {
3281 unavailable: number;
3282 available: number;
3283 offline: number;
3284 };
3285 };
3286 AuditAction: {
3287 enumValues: {
3288 add: number;
3289 update: number;
3290 delete: number;
3291 };
3292 };
3293 Build: any;
3294 BuildAgent: any;
3295 BuildAuthorizationScope: {
3296 enumValues: {
3297 projectCollection: number;
3298 project: number;
3299 };
3300 };
3301 BuildCompletedEvent: any;
3302 BuildCompletionTrigger: any;
3303 BuildController: any;
3304 BuildDefinition: any;
3305 BuildDefinition3_2: any;
3306 BuildDefinitionReference: any;
3307 BuildDefinitionReference3_2: any;
3308 BuildDefinitionRevision: any;
3309 BuildDefinitionSourceProvider: any;
3310 BuildDefinitionTemplate: any;
3311 BuildDefinitionTemplate3_2: any;
3312 BuildDeletedEvent: any;
3313 BuildDeployment: any;
3314 BuildLog: any;
3315 BuildMetric: any;
3316 BuildOptionDefinition: any;
3317 BuildOptionInputDefinition: any;
3318 BuildOptionInputType: {
3319 enumValues: {
3320 string: number;
3321 boolean: number;
3322 stringList: number;
3323 radio: number;
3324 pickList: number;
3325 multiLine: number;
3326 branchFilter: number;
3327 };
3328 };
3329 BuildPhaseStatus: {
3330 enumValues: {
3331 unknown: number;
3332 failed: number;
3333 succeeded: number;
3334 };
3335 };
3336 BuildProcessTemplate: any;
3337 BuildQueryOrder: {
3338 enumValues: {
3339 finishTimeAscending: number;
3340 finishTimeDescending: number;
3341 queueTimeDescending: number;
3342 queueTimeAscending: number;
3343 startTimeDescending: number;
3344 startTimeAscending: number;
3345 };
3346 };
3347 BuildQueuedEvent: any;
3348 BuildReason: {
3349 enumValues: {
3350 none: number;
3351 manual: number;
3352 individualCI: number;
3353 batchedCI: number;
3354 schedule: number;
3355 scheduleForced: number;
3356 userCreated: number;
3357 validateShelveset: number;
3358 checkInShelveset: number;
3359 pullRequest: number;
3360 buildCompletion: number;
3361 resourceTrigger: number;
3362 triggered: number;
3363 all: number;
3364 };
3365 };
3366 BuildReference: any;
3367 BuildRequestValidationResult: any;
3368 BuildResult: {
3369 enumValues: {
3370 none: number;
3371 succeeded: number;
3372 partiallySucceeded: number;
3373 failed: number;
3374 canceled: number;
3375 };
3376 };
3377 BuildRetentionHistory: any;
3378 BuildRetentionSample: any;
3379 BuildServer: any;
3380 BuildStatus: {
3381 enumValues: {
3382 none: number;
3383 inProgress: number;
3384 completed: number;
3385 cancelling: number;
3386 postponed: number;
3387 notStarted: number;
3388 all: number;
3389 };
3390 };
3391 BuildSummary: any;
3392 BuildTagsAddedEvent: any;
3393 BuildTrigger: any;
3394 BuildUpdatedEvent: any;
3395 Change: any;
3396 ContinuousDeploymentDefinition: any;
3397 ContinuousIntegrationTrigger: any;
3398 ControllerStatus: {
3399 enumValues: {
3400 unavailable: number;
3401 available: number;
3402 offline: number;
3403 };
3404 };
3405 DefinitionQuality: {
3406 enumValues: {
3407 definition: number;
3408 draft: number;
3409 };
3410 };
3411 DefinitionQueryOrder: {
3412 enumValues: {
3413 none: number;
3414 lastModifiedAscending: number;
3415 lastModifiedDescending: number;
3416 definitionNameAscending: number;
3417 definitionNameDescending: number;
3418 };
3419 };
3420 DefinitionQueueStatus: {
3421 enumValues: {
3422 enabled: number;
3423 paused: number;
3424 disabled: number;
3425 };
3426 };
3427 DefinitionReference: any;
3428 DefinitionTriggerType: {
3429 enumValues: {
3430 none: number;
3431 continuousIntegration: number;
3432 batchedContinuousIntegration: number;
3433 schedule: number;
3434 gatedCheckIn: number;
3435 batchedGatedCheckIn: number;
3436 pullRequest: number;
3437 buildCompletion: number;
3438 all: number;
3439 };
3440 };
3441 DefinitionType: {
3442 enumValues: {
3443 xaml: number;
3444 build: number;
3445 };
3446 };
3447 DeleteOptions: {
3448 enumValues: {
3449 none: number;
3450 dropLocation: number;
3451 testResults: number;
3452 label: number;
3453 details: number;
3454 symbols: number;
3455 all: number;
3456 };
3457 };
3458 DesignerProcess: any;
3459 Folder: any;
3460 FolderQueryOrder: {
3461 enumValues: {
3462 none: number;
3463 folderAscending: number;
3464 folderDescending: number;
3465 };
3466 };
3467 GatedCheckInTrigger: any;
3468 GetOption: {
3469 enumValues: {
3470 latestOnQueue: number;
3471 latestOnBuild: number;
3472 custom: number;
3473 };
3474 };
3475 InformationNode: any;
3476 Issue: any;
3477 IssueType: {
3478 enumValues: {
3479 error: number;
3480 warning: number;
3481 };
3482 };
3483 Phase: any;
3484 ProcessTemplateType: {
3485 enumValues: {
3486 custom: number;
3487 default: number;
3488 upgrade: number;
3489 };
3490 };
3491 PullRequestTrigger: any;
3492 QueryDeletedOption: {
3493 enumValues: {
3494 excludeDeleted: number;
3495 includeDeleted: number;
3496 onlyDeleted: number;
3497 };
3498 };
3499 QueueOptions: {
3500 enumValues: {
3501 none: number;
3502 doNotRun: number;
3503 };
3504 };
3505 QueuePriority: {
3506 enumValues: {
3507 low: number;
3508 belowNormal: number;
3509 normal: number;
3510 aboveNormal: number;
3511 high: number;
3512 };
3513 };
3514 RepositoryCleanOptions: {
3515 enumValues: {
3516 source: number;
3517 sourceAndOutputDir: number;
3518 sourceDir: number;
3519 allBuildDir: number;
3520 };
3521 };
3522 RepositoryWebhook: any;
3523 ResultSet: {
3524 enumValues: {
3525 all: number;
3526 top: number;
3527 };
3528 };
3529 RetentionLease: any;
3530 Schedule: any;
3531 ScheduleDays: {
3532 enumValues: {
3533 none: number;
3534 monday: number;
3535 tuesday: number;
3536 wednesday: number;
3537 thursday: number;
3538 friday: number;
3539 saturday: number;
3540 sunday: number;
3541 all: number;
3542 };
3543 };
3544 ScheduleTrigger: any;
3545 ServiceHostStatus: {
3546 enumValues: {
3547 online: number;
3548 offline: number;
3549 };
3550 };
3551 SourceProviderAttributes: any;
3552 SourceProviderAvailability: {
3553 enumValues: {
3554 hosted: number;
3555 onPremises: number;
3556 all: number;
3557 };
3558 };
3559 StageUpdateType: {
3560 enumValues: {
3561 cancel: number;
3562 retry: number;
3563 };
3564 };
3565 SupportedTrigger: any;
3566 SupportLevel: {
3567 enumValues: {
3568 unsupported: number;
3569 supported: number;
3570 required: number;
3571 };
3572 };
3573 TaskResult: {
3574 enumValues: {
3575 succeeded: number;
3576 succeededWithIssues: number;
3577 failed: number;
3578 canceled: number;
3579 skipped: number;
3580 abandoned: number;
3581 };
3582 };
3583 Timeline: any;
3584 TimelineRecord: any;
3585 TimelineRecordState: {
3586 enumValues: {
3587 pending: number;
3588 inProgress: number;
3589 completed: number;
3590 };
3591 };
3592 TimelineRecordsUpdatedEvent: any;
3593 UpdateStageParameters: any;
3594 ValidationResult: {
3595 enumValues: {
3596 ok: number;
3597 warning: number;
3598 error: number;
3599 };
3600 };
3601 WorkspaceMapping: any;
3602 WorkspaceMappingType: {
3603 enumValues: {
3604 map: number;
3605 cloak: number;
3606 };
3607 };
3608 WorkspaceTemplate: any;
3609 XamlBuildDefinition: any;
3610};