├── .devcontainer ├── Dockerfile ├── devcontainer.json └── library-scripts │ └── common-debian.sh ├── .docs ├── Add-VSTeam.md ├── Add-VSTeamAccessControlEntry.md ├── Add-VSTeamArea.md ├── Add-VSTeamAzureRMServiceEndpoint.md ├── Add-VSTeamBanner.md ├── Add-VSTeamBuild.md ├── Add-VSTeamBuildDefinition.md ├── Add-VSTeamBuildPermission.md ├── Add-VSTeamBuildTag.md ├── Add-VSTeamClassificationNode.md ├── Add-VSTeamExtension.md ├── Add-VSTeamFeed.md ├── Add-VSTeamGitRepository.md ├── Add-VSTeamGitRepositoryPermission.md ├── Add-VSTeamIteration.md ├── Add-VSTeamKubernetesEndpoint.md ├── Add-VSTeamMembership.md ├── Add-VSTeamNuGetEndpoint.md ├── Add-VSTeamPolicy.md ├── Add-VSTeamPool.md ├── Add-VSTeamProfile.md ├── Add-VSTeamProject.md ├── Add-VSTeamProjectPermission.md ├── Add-VSTeamPullRequest.md ├── Add-VSTeamRelease.md ├── Add-VSTeamReleaseDefinition.md ├── Add-VSTeamServiceEndpoint.md ├── Add-VSTeamServiceFabricEndpoint.md ├── Add-VSTeamSonarQubeEndpoint.md ├── Add-VSTeamTaskGroup.md ├── Add-VSTeamUserEntitlement.md ├── Add-VSTeamVariableGroup.md ├── Add-VSTeamWiki.md ├── Add-VSTeamWorkItem.md ├── Add-VSTeamWorkItemAreaPermission.md ├── Add-VSTeamWorkItemIterationPermission.md ├── Clear-VSTeamDefaultAPITimeout.md ├── Clear-VSTeamDefaultProject.md ├── Clear-VSTeamDefaultProjectCount.md ├── Disable-VSTeamAgent.md ├── Enable-VSTeamAgent.md ├── Get-VSTeam.md ├── Get-VSTeamAPIVersion.md ├── Get-VSTeamAccessControlList.md ├── Get-VSTeamAccountBilling.md ├── Get-VSTeamAccounts.md ├── Get-VSTeamAgent.md ├── Get-VSTeamAgentPoolMaintenance.md ├── Get-VSTeamApproval.md ├── Get-VSTeamArea.md ├── Get-VSTeamBanner.md ├── Get-VSTeamBuild.md ├── Get-VSTeamBuildArtifact.md ├── Get-VSTeamBuildDefinition.md ├── Get-VSTeamBuildLog.md ├── Get-VSTeamBuildTag.md ├── Get-VSTeamBuildTimeline.md ├── Get-VSTeamClassificationNode.md ├── Get-VSTeamCloudSubscription.md ├── Get-VSTeamDescriptor.md ├── Get-VSTeamExtension.md ├── Get-VSTeamFeed.md ├── Get-VSTeamGitCommit.md ├── Get-VSTeamGitRef.md ├── Get-VSTeamGitRepository.md ├── Get-VSTeamGitStat.md ├── Get-VSTeamGroup.md ├── Get-VSTeamInfo.md ├── Get-VSTeamIteration.md ├── Get-VSTeamJobRequest.md ├── Get-VSTeamMember.md ├── Get-VSTeamMembership.md ├── Get-VSTeamOption.md ├── Get-VSTeamPackage.md ├── Get-VSTeamPackageVersion.md ├── Get-VSTeamPermissionInheritance.md ├── Get-VSTeamPolicy.md ├── Get-VSTeamPolicyType.md ├── Get-VSTeamPool.md ├── Get-VSTeamProcess.md ├── Get-VSTeamProfile.md ├── Get-VSTeamProject.md ├── Get-VSTeamPullRequest.md ├── Get-VSTeamQuery.md ├── Get-VSTeamQueue.md ├── Get-VSTeamRelease.md ├── Get-VSTeamReleaseDefinition.md ├── Get-VSTeamResourceArea.md ├── Get-VSTeamSecurityNamespace.md ├── Get-VSTeamServiceEndpoint.md ├── Get-VSTeamServiceEndpointType.md ├── Get-VSTeamTaskGroup.md ├── Get-VSTeamTfvcBranch.md ├── Get-VSTeamTfvcRootBranch.md ├── Get-VSTeamUser.md ├── Get-VSTeamUserEntitlement.md ├── Get-VSTeamUserProfile.md ├── Get-VSTeamVariableGroup.md ├── Get-VSTeamWiki.md ├── Get-VSTeamWiql.md ├── Get-VSTeamWorkItem.md ├── Get-VSTeamWorkItemTag.md ├── Get-VSTeamWorkItemType.md ├── Invoke-VSTeamRequest.md ├── Remove-VSTeam.md ├── Remove-VSTeamAccessControlEntry.md ├── Remove-VSTeamAccessControlList.md ├── Remove-VSTeamAccount.md ├── Remove-VSTeamAgent.md ├── Remove-VSTeamArea.md ├── Remove-VSTeamBanner.md ├── Remove-VSTeamBuild.md ├── Remove-VSTeamBuildDefinition.md ├── Remove-VSTeamBuildTag.md ├── Remove-VSTeamClassificationNode.md ├── Remove-VSTeamDirectAssignment.md ├── Remove-VSTeamExtension.md ├── Remove-VSTeamFeed.md ├── Remove-VSTeamGitRepository.md ├── Remove-VSTeamIteration.md ├── Remove-VSTeamMembership.md ├── Remove-VSTeamPolicy.md ├── Remove-VSTeamPool.md ├── Remove-VSTeamProfile.md ├── Remove-VSTeamProject.md ├── Remove-VSTeamRelease.md ├── Remove-VSTeamReleaseDefinition.md ├── Remove-VSTeamServiceEndpoint.md ├── Remove-VSTeamTaskGroup.md ├── Remove-VSTeamUserEntitlement.md ├── Remove-VSTeamVariableGroup.md ├── Remove-VSTeamWiki.md ├── Remove-VSTeamWorkItem.md ├── Remove-VSTeamWorkItemTag.md ├── Set-VSTeamAPIVersion.md ├── Set-VSTeamAccount.md ├── Set-VSTeamAlias.md ├── Set-VSTeamApproval.md ├── Set-VSTeamDefaultAPITimeout.md ├── Set-VSTeamDefaultProject.md ├── Set-VSTeamDefaultProjectCount.md ├── Set-VSTeamEnvironmentStatus.md ├── Set-VSTeamPermissionInheritance.md ├── Set-VSTeamPipelineAuthorization.md ├── Set-VSTeamPipelineBilling.md ├── Set-VSTeamReleaseStatus.md ├── Set-VSTeamVariableGroupVariable.md ├── Show-VSTeam.md ├── Show-VSTeamApproval.md ├── Show-VSTeamBuild.md ├── Show-VSTeamBuildDefinition.md ├── Show-VSTeamFeed.md ├── Show-VSTeamGitRepository.md ├── Show-VSTeamPackage.md ├── Show-VSTeamProject.md ├── Show-VSTeamPullRequest.md ├── Show-VSTeamRelease.md ├── Show-VSTeamReleaseDefinition.md ├── Show-VSTeamWorkItem.md ├── Stop-VSTeamBuild.md ├── Test-VSTeamMembership.md ├── Test-VSTeamYamlPipeline.md ├── Update-VSTeam.md ├── Update-VSTeamAgent.md ├── Update-VSTeamArea.md ├── Update-VSTeamBanner.md ├── Update-VSTeamBuild.md ├── Update-VSTeamBuildDefinition.md ├── Update-VSTeamClassificationNode.md ├── Update-VSTeamExtension.md ├── Update-VSTeamGitRepositoryDefaultBranch.md ├── Update-VSTeamIteration.md ├── Update-VSTeamNuGetPackageVersion.md ├── Update-VSTeamPolicy.md ├── Update-VSTeamPool.md ├── Update-VSTeamProfile.md ├── Update-VSTeamProject.md ├── Update-VSTeamPullRequest.md ├── Update-VSTeamRelease.md ├── Update-VSTeamReleaseDefinition.md ├── Update-VSTeamServiceEndpoint.md ├── Update-VSTeamTaskGroup.md ├── Update-VSTeamUserEntitlement.md ├── Update-VSTeamVariableGroup.md ├── Update-VSTeamWorkItem.md ├── Update-VSTeamWorkItemTag.md ├── common │ ├── description.txt │ ├── header.md │ ├── prerequisites.md │ └── related.md ├── params │ ├── account.md │ ├── buildId.md │ ├── buildIds.md │ ├── buildTags.md │ ├── confirm.md │ ├── containerDescriptor.md │ ├── force.md │ ├── forcegroup.md │ ├── memberDescriptor.md │ ├── processName.md │ ├── projectName.md │ ├── useProjectId.md │ ├── version.md │ └── whatIf.md └── synopsis │ ├── Add-VSTeam.md │ ├── Add-VSTeamAccessControlEntry.md │ ├── Add-VSTeamArea.md │ ├── Add-VSTeamAzureRMServiceEndpoint.md │ ├── Add-VSTeamBanner.md │ ├── Add-VSTeamBuild.md │ ├── Add-VSTeamBuildDefinition.md │ ├── Add-VSTeamBuildPermission.md │ ├── Add-VSTeamBuildTag.md │ ├── Add-VSTeamClassificationNode.md │ ├── Add-VSTeamExtension.md │ ├── Add-VSTeamFeed.md │ ├── Add-VSTeamGitRepository.md │ ├── Add-VSTeamGitRepositoryPermission.md │ ├── Add-VSTeamIteration.md │ ├── Add-VSTeamKubernetesEndpoint.md │ ├── Add-VSTeamMembership.md │ ├── Add-VSTeamNuGetEndpoint.md │ ├── Add-VSTeamPolicy.md │ ├── Add-VSTeamPool.md │ ├── Add-VSTeamProfile.md │ ├── Add-VSTeamProject.md │ ├── Add-VSTeamProjectPermission.md │ ├── Add-VSTeamPullRequest.md │ ├── Add-VSTeamRelease.md │ ├── Add-VSTeamReleaseDefinition.md │ ├── Add-VSTeamServiceEndpoint.md │ ├── Add-VSTeamServiceFabricEndpoint.md │ ├── Add-VSTeamSonarQubeEndpoint.md │ ├── Add-VSTeamTaskGroup.md │ ├── Add-VSTeamUser.md │ ├── Add-VSTeamUserEntitlement.md │ ├── Add-VSTeamVariableGroup.md │ ├── Add-VSTeamWiki.md │ ├── Add-VSTeamWorkItem.md │ ├── Add-VSTeamWorkItemAreaPermission.md │ ├── Add-VSTeamWorkItemIterationPermission.md │ ├── Clear-VSTeamDefaultAPITimeout.md │ ├── Clear-VSTeamDefaultProject.md │ ├── Clear-VSTeamDefaultProjectCount.md │ ├── Disable-VSTeamAgent.md │ ├── Enable-VSTeamAgent.md │ ├── Get-VSTeam.md │ ├── Get-VSTeamAPIVersion.md │ ├── Get-VSTeamAccessControlList.md │ ├── Get-VSTeamAccountBilling.md │ ├── Get-VSTeamAccounts.md │ ├── Get-VSTeamAgent.md │ ├── Get-VSTeamApproval.md │ ├── Get-VSTeamArea.md │ ├── Get-VSTeamBanner.md │ ├── Get-VSTeamBuild.md │ ├── Get-VSTeamBuildArtifact.md │ ├── Get-VSTeamBuildDefinition.md │ ├── Get-VSTeamBuildLog.md │ ├── Get-VSTeamBuildTag.md │ ├── Get-VSTeamBuildTimeline.md │ ├── Get-VSTeamClassificationNode.md │ ├── Get-VSTeamCloudSubscription.md │ ├── Get-VSTeamDescriptor.md │ ├── Get-VSTeamExtension.md │ ├── Get-VSTeamFeed.md │ ├── Get-VSTeamGitCommit.md │ ├── Get-VSTeamGitRef.md │ ├── Get-VSTeamGitRepository.md │ ├── Get-VSTeamGitStat.md │ ├── Get-VSTeamGroup.md │ ├── Get-VSTeamInfo.md │ ├── Get-VSTeamIteration.md │ ├── Get-VSTeamJobRequest.md │ ├── Get-VSTeamMember.md │ ├── Get-VSTeamMembership.md │ ├── Get-VSTeamOption.md │ ├── Get-VSTeamPackage.md │ ├── Get-VSTeamPackageVersion.md │ ├── Get-VSTeamPermissionInheritance.md │ ├── Get-VSTeamPolicy.md │ ├── Get-VSTeamPolicyType.md │ ├── Get-VSTeamPool.md │ ├── Get-VSTeamProcess.md │ ├── Get-VSTeamProfile.md │ ├── Get-VSTeamProject.md │ ├── Get-VSTeamPullRequest.md │ ├── Get-VSTeamQuery.md │ ├── Get-VSTeamQueue.md │ ├── Get-VSTeamRelease.md │ ├── Get-VSTeamReleaseDefinition.md │ ├── Get-VSTeamResourceArea.md │ ├── Get-VSTeamSecurityNamespace.md │ ├── Get-VSTeamServiceEndpoint.md │ ├── Get-VSTeamServiceEndpointType.md │ ├── Get-VSTeamTaskGroup.md │ ├── Get-VSTeamTfvcBranch.md │ ├── Get-VSTeamTfvcRootBranch.md │ ├── Get-VSTeamUser..md │ ├── Get-VSTeamUser.md │ ├── Get-VSTeamUserEntitlement.md │ ├── Get-VSTeamUserProfile.md │ ├── Get-VSTeamVariableGroup.md │ ├── Get-VSTeamWiki.md │ ├── Get-VSTeamWiql.md │ ├── Get-VSTeamWorkItem.md │ ├── Get-VSTeamWorkItemTag.md │ ├── Get-VSTeamWorkItemType.md │ ├── Invoke-VSTeamRequest.md │ ├── Remove-VSTeam.md │ ├── Remove-VSTeamAccessControlEntry.md │ ├── Remove-VSTeamAccessControlList.md │ ├── Remove-VSTeamAccount.md │ ├── Remove-VSTeamAgent.md │ ├── Remove-VSTeamArea.md │ ├── Remove-VSTeamBanner.md │ ├── Remove-VSTeamBuild.md │ ├── Remove-VSTeamBuildDefinition.md │ ├── Remove-VSTeamBuildTag.md │ ├── Remove-VSTeamClassificationNode.md │ ├── Remove-VSTeamDirectAssignment.md │ ├── Remove-VSTeamExtension.md │ ├── Remove-VSTeamFeed.md │ ├── Remove-VSTeamGitRepository.md │ ├── Remove-VSTeamIteration.md │ ├── Remove-VSTeamMembership.md │ ├── Remove-VSTeamPolicy.md │ ├── Remove-VSTeamPool.md │ ├── Remove-VSTeamProfile.md │ ├── Remove-VSTeamProject.md │ ├── Remove-VSTeamRelease.md │ ├── Remove-VSTeamReleaseDefinition.md │ ├── Remove-VSTeamServiceEndpoint.md │ ├── Remove-VSTeamTaskGroup.md │ ├── Remove-VSTeamUser.md │ ├── Remove-VSTeamUserEntitlement.md │ ├── Remove-VSTeamVariableGroup.md │ ├── Remove-VSTeamWiki.md │ ├── Remove-VSTeamWorkItem.md │ ├── Remove-VSTeamWorkItemTag.md │ ├── Set-VSTeamAPIVersion.md │ ├── Set-VSTeamAccount.md │ ├── Set-VSTeamAlias.md │ ├── Set-VSTeamApproval.md │ ├── Set-VSTeamDefaultAPITimeout.md │ ├── Set-VSTeamDefaultProject.md │ ├── Set-VSTeamDefaultProjectCount.md │ ├── Set-VSTeamEnvironmentStatus.md │ ├── Set-VSTeamPermissionInheritance.md │ ├── Set-VSTeamPipelineAuthorization.md │ ├── Set-VSTeamPipelineBilling.md │ ├── Set-VSTeamReleaseStatus.md │ ├── Set-VSTeamVariableGroupVariable.md │ ├── Show-VSTeam.md │ ├── Show-VSTeamApproval.md │ ├── Show-VSTeamBuild.md │ ├── Show-VSTeamBuildDefinition.md │ ├── Show-VSTeamFeed.md │ ├── Show-VSTeamGitRepository.md │ ├── Show-VSTeamPackage.md │ ├── Show-VSTeamProject.md │ ├── Show-VSTeamPullRequest.md │ ├── Show-VSTeamRelease.md │ ├── Show-VSTeamReleaseDefinition.md │ ├── Show-VSTeamWorkItem.md │ ├── Stop-VSTeamBuild.md │ ├── Test-VSTeamMembership.md │ ├── Test-VSTeamYamlPipeline.md │ ├── Update-VSTeam.md │ ├── Update-VSTeamAgent.md │ ├── Update-VSTeamArea.md │ ├── Update-VSTeamBanner.md │ ├── Update-VSTeamBuild.md │ ├── Update-VSTeamBuildDefinition.md │ ├── Update-VSTeamClassificationNode.md │ ├── Update-VSTeamExtension.md │ ├── Update-VSTeamGitRepositoryDefaultBranch.md │ ├── Update-VSTeamIteration.md │ ├── Update-VSTeamNuGetPackageVersion.md │ ├── Update-VSTeamPolicy.md │ ├── Update-VSTeamPool.md │ ├── Update-VSTeamProfile.md │ ├── Update-VSTeamProject.md │ ├── Update-VSTeamPullRequest.md │ ├── Update-VSTeamRelease.md │ ├── Update-VSTeamReleaseDefinition.md │ ├── Update-VSTeamServiceEndpoint.md │ ├── Update-VSTeamTaskGroup.md │ ├── Update-VSTeamUser.md │ ├── Update-VSTeamUserEntitlement.md │ ├── Update-VSTeamVariableGroup.md │ ├── Update-VSTeamWorkItem.md │ └── Update-VSTeamWorkItemTag.md ├── .github ├── CONTRIBUTING.md ├── ISSUE_TEMPLATE │ ├── 1_feature.yml │ ├── 2_bug.yml │ └── config.yml ├── PULL_REQUEST_TEMPLATE.md ├── dependabot.yml ├── images │ ├── build.png │ ├── cli-example.gif │ ├── contributing_postmanAuth.png │ ├── contributing_postmanGet.png │ ├── contributing_postmanResponse.png │ └── unittests.png ├── moduleMessages.json └── workflows │ ├── actions-pipeline.yml │ ├── codeql-analysis.yml │ ├── reusable.integration-tests.yml │ ├── reusable.package.yml │ └── test-publish.yml ├── .gitignore ├── .vscode ├── BeforeAllBlock.code-snippets ├── cSpell.json ├── launch.json ├── settings.json └── tasks.json ├── Build-Module.ps1 ├── CHANGELOG.md ├── CODE_OF_CONDUCT.md ├── LICENSE ├── Merge-File.ps1 ├── README.md ├── Source ├── Classes │ ├── Attribute │ │ ├── BaseValidateArgumentsAttribute.cs │ │ ├── ProcessTemplateValidateAttribute.cs │ │ ├── ProjectValidateAttribute.cs │ │ ├── QueryTransformToIDAttribute.cs │ │ ├── TimeZonesValidateAttribute.cs │ │ └── WorkItemTypeValidateAttribute.cs │ ├── Cache │ │ ├── InternalCache.cs │ │ ├── ProcessTemplateCache.cs │ │ ├── ProjectCache.cs │ │ ├── QueryCache.cs │ │ └── WorkItemTypeCache.cs │ ├── Common.cs │ ├── Completer │ │ ├── BaseCompleter.cs │ │ ├── BaseProjectCompleter.cs │ │ ├── BuildCompleter.cs │ │ ├── BuildDefinitionCompleter.cs │ │ ├── InvokeCompleter.cs │ │ ├── ProcessTemplateCompleter.cs │ │ ├── ProjectCompleter.cs │ │ ├── QueryCompleter.cs │ │ ├── QueueCompleter.cs │ │ ├── ReleaseDefinitionCompleter.cs │ │ ├── TimeZoneCompleter.cs │ │ └── WorkItemTypeCompleter.cs │ ├── GlobalSuppressions.cs │ ├── Properties │ │ └── launchSettings.json │ ├── Provider │ │ ├── AccessControlEntry.cs │ │ ├── AccessControlList.cs │ │ ├── Account.cs │ │ ├── Action.cs │ │ ├── Agent.cs │ │ ├── AgentPool.cs │ │ ├── AgentPoolMaintenanceDays.cs │ │ ├── Attempt.cs │ │ ├── Build.cs │ │ ├── BuildDefinition.cs │ │ ├── BuildDefinitionProcess.cs │ │ ├── BuildDefinitionProcessPhase.cs │ │ ├── BuildDefinitionProcessPhaseStep.cs │ │ ├── BuildPermissions.cs │ │ ├── ClassificationNode.cs │ │ ├── ClassificationNodeAttributes.cs │ │ ├── Descriptor.cs │ │ ├── Directory.cs │ │ ├── Environment.cs │ │ ├── Extension.cs │ │ ├── Feed.cs │ │ ├── GitCommitRef.cs │ │ ├── GitRef.cs │ │ ├── GitRepository.cs │ │ ├── GitRepositoryPermissions.cs │ │ ├── GitUserDate.cs │ │ ├── Group.cs │ │ ├── IInternalObject.cs │ │ ├── IdentityPermissions.cs │ │ ├── InstallState.cs │ │ ├── JobRequest.cs │ │ ├── Leaf.cs │ │ ├── Link.cs │ │ ├── PSObjectExtensionMethods.cs │ │ ├── Package.cs │ │ ├── PackageVersion.cs │ │ ├── Permissions.cs │ │ ├── Process.cs │ │ ├── Project.cs │ │ ├── ProjectPermissions.cs │ │ ├── Queue.cs │ │ ├── Release.cs │ │ ├── ReleaseDefinition.cs │ │ ├── Releases.cs │ │ ├── SecurityLeaf.cs │ │ ├── SecurityNamespace.cs │ │ ├── Task.cs │ │ ├── Team.cs │ │ ├── UpstreamSource.cs │ │ ├── User.cs │ │ ├── UserEntitlement.cs │ │ ├── WorkItemAreaPermissions.cs │ │ └── WorkItemIterationPermissions.cs │ ├── TimeZones.cs │ ├── Versions.cs │ ├── packages.lock.json │ └── vsteam-lib.csproj ├── Private │ ├── applyTypes.ps1 │ ├── callMembershipAPI.ps1 │ └── common.ps1 ├── Public │ ├── Add-VSTeam.ps1 │ ├── Add-VSTeamAccessControlEntry.ps1 │ ├── Add-VSTeamArea.ps1 │ ├── Add-VSTeamAzureRMServiceEndpoint.ps1 │ ├── Add-VSTeamBanner.ps1 │ ├── Add-VSTeamBuild.ps1 │ ├── Add-VSTeamBuildDefinition.ps1 │ ├── Add-VSTeamBuildPermission.ps1 │ ├── Add-VSTeamBuildTag.ps1 │ ├── Add-VSTeamClassificationNode.ps1 │ ├── Add-VSTeamExtension.ps1 │ ├── Add-VSTeamFeed.ps1 │ ├── Add-VSTeamGitRepository.ps1 │ ├── Add-VSTeamGitRepositoryPermission.ps1 │ ├── Add-VSTeamIteration.ps1 │ ├── Add-VSTeamKubernetesEndpoint.ps1 │ ├── Add-VSTeamMembership.ps1 │ ├── Add-VSTeamNuGetEndpoint.ps1 │ ├── Add-VSTeamPolicy.ps1 │ ├── Add-VSTeamPool.ps1 │ ├── Add-VSTeamProfile.ps1 │ ├── Add-VSTeamProject.ps1 │ ├── Add-VSTeamProjectPermission.ps1 │ ├── Add-VSTeamPullRequest.ps1 │ ├── Add-VSTeamRelease.ps1 │ ├── Add-VSTeamReleaseDefinition.ps1 │ ├── Add-VSTeamServiceEndpoint.ps1 │ ├── Add-VSTeamServiceFabricEndpoint.ps1 │ ├── Add-VSTeamSonarQubeEndpoint.ps1 │ ├── Add-VSTeamTaskGroup.ps1 │ ├── Add-VSTeamUserEntitlement.ps1 │ ├── Add-VSTeamVariableGroup.ps1 │ ├── Add-VSTeamWiki.ps1 │ ├── Add-VSTeamWorkItem.ps1 │ ├── Add-VSTeamWorkItemAreaPermission.ps1 │ ├── Add-VSTeamWorkItemIterationPermission.ps1 │ ├── Clear-VSTeamDefaultAPITimeout.ps1 │ ├── Clear-VSTeamDefaultProject.ps1 │ ├── Clear-VSTeamDefaultProjectCount.ps1 │ ├── Disable-VSTeamAgent.ps1 │ ├── Enable-VSTeamAgent.ps1 │ ├── Get-VSTeam.ps1 │ ├── Get-VSTeamAPIVersion.ps1 │ ├── Get-VSTeamAccessControlList.ps1 │ ├── Get-VSTeamAccountBilling.ps1 │ ├── Get-VSTeamAccounts.ps1 │ ├── Get-VSTeamAgent.ps1 │ ├── Get-VSTeamAgentPoolMaintenance.ps1 │ ├── Get-VSTeamApproval.ps1 │ ├── Get-VSTeamArea.ps1 │ ├── Get-VSTeamBanner.ps1 │ ├── Get-VSTeamBuild.ps1 │ ├── Get-VSTeamBuildArtifact.ps1 │ ├── Get-VSTeamBuildDefinition.ps1 │ ├── Get-VSTeamBuildLog.ps1 │ ├── Get-VSTeamBuildTag.ps1 │ ├── Get-VSTeamBuildTimeline.ps1 │ ├── Get-VSTeamClassificationNode.ps1 │ ├── Get-VSTeamCloudSubscription.ps1 │ ├── Get-VSTeamDescriptor.ps1 │ ├── Get-VSTeamExtension.ps1 │ ├── Get-VSTeamFeed.ps1 │ ├── Get-VSTeamGitCommit.ps1 │ ├── Get-VSTeamGitRef.ps1 │ ├── Get-VSTeamGitRepository.ps1 │ ├── Get-VSTeamGitStat.ps1 │ ├── Get-VSTeamGroup.ps1 │ ├── Get-VSTeamInfo.ps1 │ ├── Get-VSTeamIteration.ps1 │ ├── Get-VSTeamJobRequest.ps1 │ ├── Get-VSTeamMember.ps1 │ ├── Get-VSTeamMembership.ps1 │ ├── Get-VSTeamOption.ps1 │ ├── Get-VSTeamPackage.ps1 │ ├── Get-VSTeamPackageVersion.ps1 │ ├── Get-VSTeamPermissionInheritance.ps1 │ ├── Get-VSTeamPolicy.ps1 │ ├── Get-VSTeamPolicyType.ps1 │ ├── Get-VSTeamPool.ps1 │ ├── Get-VSTeamProcess.ps1 │ ├── Get-VSTeamProfile.ps1 │ ├── Get-VSTeamProject.ps1 │ ├── Get-VSTeamPullRequest.ps1 │ ├── Get-VSTeamQuery.ps1 │ ├── Get-VSTeamQueue.ps1 │ ├── Get-VSTeamRelease.ps1 │ ├── Get-VSTeamReleaseDefinition.ps1 │ ├── Get-VSTeamResourceArea.ps1 │ ├── Get-VSTeamSecurityNamespace.ps1 │ ├── Get-VSTeamServiceEndpoint.ps1 │ ├── Get-VSTeamServiceEndpointType.ps1 │ ├── Get-VSTeamTaskGroup.ps1 │ ├── Get-VSTeamTfvcBranch.ps1 │ ├── Get-VSTeamTfvcRootBranch.ps1 │ ├── Get-VSTeamUser.ps1 │ ├── Get-VSTeamUserEntitlement.ps1 │ ├── Get-VSTeamUserProfile.ps1 │ ├── Get-VSTeamVariableGroup.ps1 │ ├── Get-VSTeamWiki.ps1 │ ├── Get-VSTeamWiql.ps1 │ ├── Get-VSTeamWorkItem.ps1 │ ├── Get-VSTeamWorkItemTag.ps1 │ ├── Get-VSTeamWorkItemType.ps1 │ ├── Invoke-VSTeamRequest.ps1 │ ├── Remove-VSTeam.ps1 │ ├── Remove-VSTeamAccessControlEntry.ps1 │ ├── Remove-VSTeamAccessControlList.ps1 │ ├── Remove-VSTeamAccount.ps1 │ ├── Remove-VSTeamAgent.ps1 │ ├── Remove-VSTeamArea.ps1 │ ├── Remove-VSTeamBanner.ps1 │ ├── Remove-VSTeamBuild.ps1 │ ├── Remove-VSTeamBuildDefinition.ps1 │ ├── Remove-VSTeamBuildTag.ps1 │ ├── Remove-VSTeamClassificationNode.ps1 │ ├── Remove-VSTeamDirectAssignment.ps1 │ ├── Remove-VSTeamExtension.ps1 │ ├── Remove-VSTeamFeed.ps1 │ ├── Remove-VSTeamGitRepository.ps1 │ ├── Remove-VSTeamIteration.ps1 │ ├── Remove-VSTeamMembership.ps1 │ ├── Remove-VSTeamPolicy.ps1 │ ├── Remove-VSTeamPool.ps1 │ ├── Remove-VSTeamProfile.ps1 │ ├── Remove-VSTeamProject.ps1 │ ├── Remove-VSTeamRelease.ps1 │ ├── Remove-VSTeamReleaseDefinition.ps1 │ ├── Remove-VSTeamServiceEndpoint.ps1 │ ├── Remove-VSTeamTaskGroup.ps1 │ ├── Remove-VSTeamUserEntitlement.ps1 │ ├── Remove-VSTeamVariableGroup.ps1 │ ├── Remove-VSTeamWiki.ps1 │ ├── Remove-VSTeamWorkItem.ps1 │ ├── Remove-VSTeamWorkItemTag.ps1 │ ├── Set-VSTeamAPIVersion.ps1 │ ├── Set-VSTeamAccount.ps1 │ ├── Set-VSTeamAgentPoolMaintenance.ps1 │ ├── Set-VSTeamAlias.ps1 │ ├── Set-VSTeamApproval.ps1 │ ├── Set-VSTeamDefaultAPITimeout.ps1 │ ├── Set-VSTeamDefaultProject.ps1 │ ├── Set-VSTeamDefaultProjectCount.ps1 │ ├── Set-VSTeamEnvironmentStatus.ps1 │ ├── Set-VSTeamPermissionInheritance.ps1 │ ├── Set-VSTeamPipelineAuthorization.ps1 │ ├── Set-VSTeamPipelineBilling.ps1 │ ├── Set-VSTeamReleaseStatus.ps1 │ ├── Set-VSTeamVariableGroupVariable.ps1 │ ├── Show-VSTeam.ps1 │ ├── Show-VSTeamApproval.ps1 │ ├── Show-VSTeamBuild.ps1 │ ├── Show-VSTeamBuildDefinition.ps1 │ ├── Show-VSTeamFeed.ps1 │ ├── Show-VSTeamGitRepository.ps1 │ ├── Show-VSTeamPackage.ps1 │ ├── Show-VSTeamProject.ps1 │ ├── Show-VSTeamPullRequest.ps1 │ ├── Show-VSTeamRelease.ps1 │ ├── Show-VSTeamReleaseDefinition.ps1 │ ├── Show-VSTeamWorkItem.ps1 │ ├── Stop-VSTeamBuild.ps1 │ ├── Test-VSTeamMembership.ps1 │ ├── Test-VSTeamYamlPipeline.ps1 │ ├── Update-VSTeam.ps1 │ ├── Update-VSTeamAgent.ps1 │ ├── Update-VSTeamArea.ps1 │ ├── Update-VSTeamBanner.ps1 │ ├── Update-VSTeamBuild.ps1 │ ├── Update-VSTeamBuildDefinition.ps1 │ ├── Update-VSTeamClassificationNode.ps1 │ ├── Update-VSTeamExtension.ps1 │ ├── Update-VSTeamGitRepositoryDefaultBranch.ps1 │ ├── Update-VSTeamIteration.ps1 │ ├── Update-VSTeamNuGetPackageVersion.ps1 │ ├── Update-VSTeamPolicy.ps1 │ ├── Update-VSTeamPool.ps1 │ ├── Update-VSTeamProfile.ps1 │ ├── Update-VSTeamProject.ps1 │ ├── Update-VSTeamPullRequest.ps1 │ ├── Update-VSTeamRelease.ps1 │ ├── Update-VSTeamReleaseDefinition.ps1 │ ├── Update-VSTeamServiceEndpoint.ps1 │ ├── Update-VSTeamTaskGroup.ps1 │ ├── Update-VSTeamUserEntitlement.ps1 │ ├── Update-VSTeamVariableGroup.ps1 │ ├── Update-VSTeamWorkItem.ps1 │ └── Update-VSTeamWorkItemTag.ps1 ├── VSTeam.psd1 ├── VSTeam.psm1 ├── en-US │ ├── about_vsteam.help.txt │ ├── about_vsteam_profiles.help.txt │ └── about_vsteam_provider.help.txt ├── formats │ ├── readme.md │ ├── vsteam_lib.AccessControlEntry.ListView.ps1xml │ ├── vsteam_lib.AccessControlEntry.TableView.ps1xml │ ├── vsteam_lib.AccessControlList.ListView.ps1xml │ ├── vsteam_lib.AccessControlList.TableView.ps1xml │ ├── vsteam_lib.Agent.TableView.ps1xml │ ├── vsteam_lib.AgentPool.TableView.ps1xml │ ├── vsteam_lib.AgentPoolMaintenance.TableView.ps1xml │ ├── vsteam_lib.Approval.Approved.TableView.ps1xml │ ├── vsteam_lib.Approval.Pending.TableView.ps1xml │ ├── vsteam_lib.Approval.Rejected.TableView.ps1xml │ ├── vsteam_lib.AzureSubscription.TableView.ps1xml │ ├── vsteam_lib.Build.Artifact.ListView.ps1xml │ ├── vsteam_lib.Build.Artifact.Resource.ListView.ps1xml │ ├── vsteam_lib.Build.Artifact.Resource.TableView.ps1xml │ ├── vsteam_lib.Build.Artifact.Resource.WideView.ps1xml │ ├── vsteam_lib.Build.Artifact.TableView.ps1xml │ ├── vsteam_lib.Build.Artifact.WideView.ps1xml │ ├── vsteam_lib.Build.ListView.ps1xml │ ├── vsteam_lib.Build.TableView.ps1xml │ ├── vsteam_lib.Build.WideView.ps1xml │ ├── vsteam_lib.BuildDefinition.ListView.ps1xml │ ├── vsteam_lib.BuildDefinition.TableView.ps1xml │ ├── vsteam_lib.BuildDefinitionPhasedProcess.TableView.ps1xml │ ├── vsteam_lib.BuildDefinitionProcess.ListView.ps1xml │ ├── vsteam_lib.BuildDefinitionProcessPhase.ListView.ps1xml │ ├── vsteam_lib.BuildDefinitionProcessPhase.TableView.ps1xml │ ├── vsteam_lib.BuildDefinitionProcessPhaseStep.ListView.ps1xml │ ├── vsteam_lib.BuildDefinitionProcessPhaseStep.TableView.ps1xml │ ├── vsteam_lib.BuildDefinitionYamlProcess.TableView.ps1xml │ ├── vsteam_lib.BuildTimeline.TableView.ps1xml │ ├── vsteam_lib.BuildTimline.ListView.ps1xml │ ├── vsteam_lib.ClassificationNode.ListView.ps1xml │ ├── vsteam_lib.ClassificationNode.TableView.ps1xml │ ├── vsteam_lib.Descriptor.ListView.ps1xml │ ├── vsteam_lib.Descriptor.TableView.ps1xml │ ├── vsteam_lib.Environment.Status.TableView.ps1xml │ ├── vsteam_lib.Extension.TableView.ps1xml │ ├── vsteam_lib.Feed.TableView.ps1xml │ ├── vsteam_lib.GitCommitRef.TableView.ps1xml │ ├── vsteam_lib.GitRef.TableView.ps1xml │ ├── vsteam_lib.GitStat.TableView.ps1xml │ ├── vsteam_lib.GitUserDate.TableView.ps1xml │ ├── vsteam_lib.Group.ListView.ps1xml │ ├── vsteam_lib.Group.TableView.ps1xml │ ├── vsteam_lib.JobRequest.TableView.ps1xml │ ├── vsteam_lib.Option.TableView.ps1xml │ ├── vsteam_lib.Option.Versions.TableView.ps1xml │ ├── vsteam_lib.PSDrive.Default.ListView.ps1xml │ ├── vsteam_lib.PSDrive.Default.TableView.ps1xml │ ├── vsteam_lib.Package.TableView.ps1xml │ ├── vsteam_lib.PackageVersion.TableView.ps1xml │ ├── vsteam_lib.Policy.TableView.ps1xml │ ├── vsteam_lib.PolicyType.TableView.ps1xml │ ├── vsteam_lib.Process.ListView.ps1xml │ ├── vsteam_lib.Process.TableView.ps1xml │ ├── vsteam_lib.Profile.TableView.ps1xml │ ├── vsteam_lib.Project.ListView.ps1xml │ ├── vsteam_lib.Project.TableView.ps1xml │ ├── vsteam_lib.Provider.Agent.TableView.ps1xml │ ├── vsteam_lib.Provider.AgentPool.TableView.ps1xml │ ├── vsteam_lib.Provider.Build.TableView.ps1xml │ ├── vsteam_lib.Provider.BuildDefinition.TableView.ps1xml │ ├── vsteam_lib.Provider.BuildDefinitionProcessPhase.TableView.ps1xml │ ├── vsteam_lib.Provider.BuildDefinitionProcessPhaseStep.TableView.ps1xml │ ├── vsteam_lib.Provider.BuildDefinitionYamlProcess.TableView.ps1xml │ ├── vsteam_lib.Provider.Environment.Status.TableView.ps1xml │ ├── vsteam_lib.Provider.Extension.TableView.ps1xml │ ├── vsteam_lib.Provider.Feed.TableView.ps1xml │ ├── vsteam_lib.Provider.GitRef.TableView.ps1xml │ ├── vsteam_lib.Provider.JobRequest.TableView.ps1xml │ ├── vsteam_lib.Provider.Project.TableView.ps1xml │ ├── vsteam_lib.Provider.Release.TableView.ps1xml │ ├── vsteam_lib.Provider.ReleaseDefinition.TableView.ps1xml │ ├── vsteam_lib.Provider.Repository.TableView.ps1xml │ ├── vsteam_lib.Provider.Team.TableView.ps1xml │ ├── vsteam_lib.PullRequest.TableView.ps1xml │ ├── vsteam_lib.Query.TableView.ps1xml │ ├── vsteam_lib.Queue.TableView.ps1xml │ ├── vsteam_lib.Release.TableView.ps1xml │ ├── vsteam_lib.ReleaseDefinition.TableView.ps1xml │ ├── vsteam_lib.Repository.ListView.ps1xml │ ├── vsteam_lib.Repository.TableView.ps1xml │ ├── vsteam_lib.ResourceArea.TableView.ps1xml │ ├── vsteam_lib.SecurityNamespace.ListView.ps1xml │ ├── vsteam_lib.SecurityNamespace.TableView.ps1xml │ ├── vsteam_lib.ServiceEndpoint.ListView.ps1xml │ ├── vsteam_lib.ServiceEndpoint.TableView.ps1xml │ ├── vsteam_lib.ServiceEndpointType.ListView.ps1xml │ ├── vsteam_lib.ServiceEndpointType.TableView.ps1xml │ ├── vsteam_lib.TaskGroup.TableView.ps1xml │ ├── vsteam_lib.Team.ListView.ps1xml │ ├── vsteam_lib.Team.TableView.ps1xml │ ├── vsteam_lib.User.ListView.ps1xml │ ├── vsteam_lib.User.TableView.ps1xml │ ├── vsteam_lib.UserEntitlement.ListView.ps1xml │ ├── vsteam_lib.UserEntitlement.TableView.ps1xml │ ├── vsteam_lib.UserEntitlement.WideView.ps1xml │ ├── vsteam_lib.VariableGroup.ListView.ps1xml │ ├── vsteam_lib.VariableGroup.TableView.ps1xml │ ├── vsteam_lib.Wiql.ListView.ps1xml │ ├── vsteam_lib.Wiql.TableView.ps1xml │ ├── vsteam_lib.WorkItem.ListView.ps1xml │ ├── vsteam_lib.WorkItem.TableView.ps1xml │ ├── vsteam_lib.WorkItemDeleted.ListView.ps1xml │ ├── vsteam_lib.WorkItemDeleted.TableView.ps1xml │ ├── vsteam_lib.WorkItemType.ListView.ps1xml │ ├── vsteam_lib.WorkItemType.TableView.ps1xml │ └── vsteam_lib.YamlPipelineResult.TableView.ps1xml └── types │ ├── vsteam_lib.AccessLevel.ps1xml │ ├── vsteam_lib.Approval.ps1xml │ ├── vsteam_lib.AzureSubscription.ps1xml │ ├── vsteam_lib.Build.Artifact.ps1xml │ ├── vsteam_lib.BuildTimeline.ps1xml │ ├── vsteam_lib.BuildTimelineRecord.ps1xml │ ├── vsteam_lib.Environment.ps1xml │ ├── vsteam_lib.Option.ps1xml │ ├── vsteam_lib.Policy.ps1xml │ ├── vsteam_lib.PullRequest.ps1xml │ ├── vsteam_lib.ServiceEndpoint.ps1xml │ ├── vsteam_lib.TeamMember.ps1xml │ ├── vsteam_lib.TfvcBranch.ps1xml │ ├── vsteam_lib.VariableGroup.ps1xml │ ├── vsteam_lib.Wiql.ps1xml │ ├── vsteam_lib.WorkItem.ps1xml │ ├── vsteam_lib.WorkItemDeleted.ps1xml │ └── vsteam_lib.YamlPipelineResult.ps1xml ├── Tests ├── SampleFiles │ ├── 010_builddef_1.json │ ├── 010_builddef_2.json │ ├── 010_releasedef_1.json │ ├── 010_releasedef_2.json │ ├── Get-BuildDefinition_2017.json │ ├── Get-BuildDefinition_2018.json │ ├── Get-BuildDefinition_2019.json │ ├── Get-BuildDefinition_AzD.json │ ├── Get-VSTeam.json │ ├── Get-VSTeamAccessControlList.json │ ├── Get-VSTeamAccountBillingWithSubscription.json │ ├── Get-VSTeamAccounts.json │ ├── Get-VSTeamAgent-PoolId1.json │ ├── Get-VSTeamApproval.json │ ├── Get-VSTeamBuild-Id.json │ ├── Get-VSTeamBuild.json │ ├── Get-VSTeamBuildArtifact-Id568.json │ ├── Get-VSTeamBuildLog-Id568.json │ ├── Get-VSTeamBuildTag-Id568.json │ ├── Get-VSTeamClassificationNode-Depth0-Ids20.json │ ├── Get-VSTeamClassificationNode-Depth0-Ids24.json │ ├── Get-VSTeamClassificationNode-Depth0-Ids43.json │ ├── Get-VSTeamClassificationNode-Depth0-Ids85.json │ ├── Get-VSTeamClassificationNode-depth3-ids16.json │ ├── Get-VSTeamClassificationNode-depth3-ids82.json │ ├── Get-VSTeamClassificationNode-depth4-ids84.json │ ├── Get-VSTeamClassificationNode.json │ ├── Get-VSTeamExtension.json │ ├── Get-VSTeamFeed.json │ ├── Get-VSTeamGitCommit.json │ ├── Get-VSTeamGitRef.json │ ├── Get-VSTeamGitRef_for_Update-VSTeamGitRepositoryDefaultBranch.json │ ├── Get-VSTeamGitRepository-ProjectNamePeopleTracker-NamePeopleTracker.json │ ├── Get-VSTeamGitRepository.json │ ├── Get-VSTeamGroup.json │ ├── Get-VSTeamJobRequest-PoolId1-AgentID111.json │ ├── Get-VSTeamOption-Area_git-Resource_annotatedTags.json │ ├── Get-VSTeamOption.json │ ├── Get-VSTeamOption_vsrm.json │ ├── Get-VSTeamPackage.json │ ├── Get-VSTeamPackageVersion.json │ ├── Get-VSTeamPolicy.json │ ├── Get-VSTeamPolicyType.json │ ├── Get-VSTeamPool.json │ ├── Get-VSTeamProcess.json │ ├── Get-VSTeamProfile.json │ ├── Get-VSTeamProject-NamePeopleTracker.json │ ├── Get-VSTeamProject.json │ ├── Get-VSTeamPullRequest-Id_17.json │ ├── Get-VSTeamPullRequest.json │ ├── Get-VSTeamQuery.json │ ├── Get-VSTeamQueue.json │ ├── Get-VSTeamRelease-id178-expandEnvironments.json │ ├── Get-VSTeamRelease.json │ ├── Get-VSTeamReleaseDefinition-ReleaseId40.json │ ├── Get-VSTeamReleaseDefinition.json │ ├── Get-VSTeamRelease_2017.json │ ├── Get-VSTeamResourceArea.json │ ├── Get-VSTeamSecurityNamespace.json │ ├── Get-VSTeamTaskGroup.json │ ├── Get-VSTeamTfvcBranch-ProjectName.json │ ├── Get-VSTeamUser.json │ ├── Get-VSTeamUserEntitlement-ContinuationToken.json │ ├── Get-VSTeamUserEntitlement-Id.json │ ├── Get-VSTeamUserEntitlement.json │ ├── Get-VSTeamUserProfile.json │ ├── Get-VSTeamVariableGroup-Id.json │ ├── Get-VSTeamVariableGroup.json │ ├── Get-VSTeamWiki.json │ ├── Get-VSTeamWiql-OneWorkItem.json │ ├── Get-VSTeamWiql.json │ ├── Get-VSTeamWorkItem-Id.json │ ├── Get-VSTeamWorkItem-Id16.json │ ├── Get-VSTeamWorkItemTag.json │ ├── accessControlEntryResult.json │ ├── accessControlListResult.json │ ├── agentPoolMaintenanceMultipleResult.json │ ├── agentPoolMaintenanceSingleResult.json │ ├── azure-pipelines.test.yml │ ├── bug.json │ ├── buildDef.json │ ├── buildDef2017.json │ ├── buildDef2018.json │ ├── buildDefAzD.json │ ├── buildDefHierarchyQuery.json │ ├── buildDefHierarchyQuery_Update.json │ ├── buildDefvsts.json │ ├── buildDefyaml.json │ ├── buildResults.json │ ├── buildSingleResult.json │ ├── buildTimeline.json │ ├── buildTimelineEmptyRecords.json │ ├── classificationNodeResult.json │ ├── descriptor.scope.TestProject.json │ ├── extensionResults.json │ ├── get-vsteamworkitemtype.json │ ├── getBillingToken.json │ ├── gitCommitResults.json │ ├── gitReopHierarchyQuery_Update.json │ ├── gitStatMultipleResults.json │ ├── gitStatSingleResult.json │ ├── githubLatestRelease.json │ ├── groups.json │ ├── groupsSingle.json │ ├── jobrequests2017.json │ ├── jobrequestsAzD.json │ ├── moduleMessages.json │ ├── pipelineDefYamlResult.json │ ├── poolSingleResult.json │ ├── projectResult.json │ ├── releaseDefAzD.json │ ├── releaseDefHierarchyQuery.json │ ├── releaseDefHierarchyQuery_Update.json │ ├── repoAccesscontrollists.json │ ├── securityNamespace.json │ ├── securityNamespace.single.json │ ├── securityNamespaces.json │ ├── serviceEndpointTypeSample.json │ ├── serviceUsers.single.json │ ├── singleExtensionResult.json │ ├── singleGitRepo.json │ ├── taskGroup.json │ ├── taskGroups.json │ ├── updatePullRequestResponse.json │ ├── users.json │ ├── users.single.json │ ├── variableGroupSamples2017.json │ └── withoutChildNode.json ├── function │ └── tests │ │ ├── Add-VSTeam.Tests.ps1 │ │ ├── Add-VSTeamAccessControlEntry.Tests.ps1 │ │ ├── Add-VSTeamArea.Tests.ps1 │ │ ├── Add-VSTeamAzureRMServiceEndpoint.Tests.ps1 │ │ ├── Add-VSTeamBanner.Tests.ps1 │ │ ├── Add-VSTeamBuild.Tests.ps1 │ │ ├── Add-VSTeamBuildDefinition.Tests.ps1 │ │ ├── Add-VSTeamBuildPermission.Tests.ps1 │ │ ├── Add-VSTeamBuildTag.Tests.ps1 │ │ ├── Add-VSTeamClassificationNode.Tests.ps1 │ │ ├── Add-VSTeamExtension.Tests.ps1 │ │ ├── Add-VSTeamFeed.Tests.ps1 │ │ ├── Add-VSTeamGitRepository.Tests.ps1 │ │ ├── Add-VSTeamGitRepositoryPermission.Tests.ps1 │ │ ├── Add-VSTeamIteration.Tests.ps1 │ │ ├── Add-VSTeamKubernetesEndpoint.Tests.ps1 │ │ ├── Add-VSTeamMembership.Tests.ps1 │ │ ├── Add-VSTeamNuGetEndpoint.Tests.ps1 │ │ ├── Add-VSTeamPolicy.Tests.ps1 │ │ ├── Add-VSTeamPool.Tests.ps1 │ │ ├── Add-VSTeamProfile.Tests.ps1 │ │ ├── Add-VSTeamProject.Tests.ps1 │ │ ├── Add-VSTeamProjectPermission.Tests.ps1 │ │ ├── Add-VSTeamPullRequest.Tests.ps1 │ │ ├── Add-VSTeamRelease.Tests.ps1 │ │ ├── Add-VSTeamReleaseDefinition.Tests.ps1 │ │ ├── Add-VSTeamServiceFabricEndpoint.Tests.ps1 │ │ ├── Add-VSTeamSonarQubeEndpoint.Tests.ps1 │ │ ├── Add-VSTeamTaskGroup.Tests.ps1 │ │ ├── Add-VSTeamUserEntitlement.Tests.ps1 │ │ ├── Add-VSTeamVariableGroup.Tests.ps1 │ │ ├── Add-VSTeamWiki.Tests.ps1 │ │ ├── Add-VSTeamWorkItem.Tests.ps1 │ │ ├── Add-VSTeamWorkItemAreaPermission.Tests.ps1 │ │ ├── Add-VSTeamWorkItemIterationPermission.Tests.ps1 │ │ ├── Clear-VSTeamDefaultAPITimeout.Tests.ps1 │ │ ├── Clear-VSTeamDefaultProject.Tests.ps1 │ │ ├── Clear-VSTeamDefaultProjectCount.Tests.ps1 │ │ ├── Disable-VSTeamAgent.Tests.ps1 │ │ ├── Enable-VSTeamAgent.Tests.ps1 │ │ ├── Get-VSTeam.Tests.ps1 │ │ ├── Get-VSTeamAccessControlList.Tests.ps1 │ │ ├── Get-VSTeamAccountBilling.Tests.ps1 │ │ ├── Get-VSTeamAccounts.Tests.ps1 │ │ ├── Get-VSTeamAgent.Tests.ps1 │ │ ├── Get-VSTeamAgentPoolMaintenance.Tests.ps1 │ │ ├── Get-VSTeamApproval.Tests.ps1 │ │ ├── Get-VSTeamArea.Tests.ps1 │ │ ├── Get-VSTeamBanner.Tests.ps1 │ │ ├── Get-VSTeamBuild.Tests.ps1 │ │ ├── Get-VSTeamBuildArtifact.Tests.ps1 │ │ ├── Get-VSTeamBuildDefinition.Tests.ps1 │ │ ├── Get-VSTeamBuildLog.Tests.ps1 │ │ ├── Get-VSTeamBuildTag.Tests.ps1 │ │ ├── Get-VSTeamBuildTimeline.Tests.ps1 │ │ ├── Get-VSTeamClassificationNode.Tests.ps1 │ │ ├── Get-VSTeamCloudSubscription.Tests.ps1 │ │ ├── Get-VSTeamDescriptor.Tests.ps1 │ │ ├── Get-VSTeamExtension.Tests.ps1 │ │ ├── Get-VSTeamFeed.Tests.ps1 │ │ ├── Get-VSTeamGitCommit.Tests.ps1 │ │ ├── Get-VSTeamGitRef.Tests.ps1 │ │ ├── Get-VSTeamGitRepository.Tests.ps1 │ │ ├── Get-VSTeamGitStat.Tests.ps1 │ │ ├── Get-VSTeamGroup.Tests.ps1 │ │ ├── Get-VSTeamInfo.Tests.ps1 │ │ ├── Get-VSTeamIteration.Tests.ps1 │ │ ├── Get-VSTeamJobRequest.Tests.ps1 │ │ ├── Get-VSTeamMember.Tests.ps1 │ │ ├── Get-VSTeamMembership.Tests.ps1 │ │ ├── Get-VSTeamOption.Tests.ps1 │ │ ├── Get-VSTeamPackage.Tests.ps1 │ │ ├── Get-VSTeamPackageVersion.Tests.ps1 │ │ ├── Get-VSTeamPermissionInheritance.Tests.ps1 │ │ ├── Get-VSTeamPolicy.Tests.ps1 │ │ ├── Get-VSTeamPolicyType.Tests.ps1 │ │ ├── Get-VSTeamPool.Tests.ps1 │ │ ├── Get-VSTeamProcess.Tests.ps1 │ │ ├── Get-VSTeamProfile.Tests.ps1 │ │ ├── Get-VSTeamProject.Tests.ps1 │ │ ├── Get-VSTeamPullRequest.Tests.ps1 │ │ ├── Get-VSTeamQuery.Tests.ps1 │ │ ├── Get-VSTeamQueue.Tests.ps1 │ │ ├── Get-VSTeamRelease.Tests.ps1 │ │ ├── Get-VSTeamReleaseDefinition.Tests.ps1 │ │ ├── Get-VSTeamResourceArea.Tests.ps1 │ │ ├── Get-VSTeamSecurityNamespace.Tests.ps1 │ │ ├── Get-VSTeamServiceEndpointType.Tests.ps1 │ │ ├── Get-VSTeamTaskGroup.Tests.ps1 │ │ ├── Get-VSTeamTfvcBranch.Tests.ps1 │ │ ├── Get-VSTeamTfvcRootBranch.Tests.ps1 │ │ ├── Get-VSTeamUser.Tests.ps1 │ │ ├── Get-VSTeamUserEntitlement.Tests.ps1 │ │ ├── Get-VSTeamUserProfile.Tests.ps1 │ │ ├── Get-VSTeamVariableGroup.Tests.ps1 │ │ ├── Get-VSTeamWiki.Tests.ps1 │ │ ├── Get-VSTeamWiql.Tests.ps1 │ │ ├── Get-VSTeamWorkItem.Tests.ps1 │ │ ├── Get-VSTeamWorkItemTag.Tests.ps1 │ │ ├── Get-VSTeamWorkItemType.Tests.ps1 │ │ ├── Invoke-VSTeamRequest.Tests.ps1 │ │ ├── Remove-VSTeam.Tests.ps1 │ │ ├── Remove-VSTeamAccessControlEntry.Tests.ps1 │ │ ├── Remove-VSTeamAccount.Tests.ps1 │ │ ├── Remove-VSTeamAgent.Tests.ps1 │ │ ├── Remove-VSTeamArea.Tests.ps1 │ │ ├── Remove-VSTeamBanner.Tests.ps1 │ │ ├── Remove-VSTeamBuild.Tests.ps1 │ │ ├── Remove-VSTeamBuildDefinition.Tests.ps1 │ │ ├── Remove-VSTeamBuildTag.Tests.ps1 │ │ ├── Remove-VSTeamClassificationNode.Tests.ps1 │ │ ├── Remove-VSTeamDirectAssignment.Tests.ps1 │ │ ├── Remove-VSTeamExtension.Tests.ps1 │ │ ├── Remove-VSTeamFeed.Tests.ps1 │ │ ├── Remove-VSTeamGitRepository.Tests.ps1 │ │ ├── Remove-VSTeamIteration.Tests.ps1 │ │ ├── Remove-VSTeamMembership.Tests.ps1 │ │ ├── Remove-VSTeamPolicy.Tests.ps1 │ │ ├── Remove-VSTeamPool.Tests.ps1 │ │ ├── Remove-VSTeamProfile.Tests.ps1 │ │ ├── Remove-VSTeamProject.Tests.ps1 │ │ ├── Remove-VSTeamRelease.Tests.ps1 │ │ ├── Remove-VSTeamReleaseDefinition.Tests.ps1 │ │ ├── Remove-VSTeamTaskGroup.Tests.ps1 │ │ ├── Remove-VSTeamUserEntitlement.Tests.ps1 │ │ ├── Remove-VSTeamVariableGroup.Tests.ps1 │ │ ├── Remove-VSTeamWiki.Tests.ps1 │ │ ├── Remove-VSTeamWorkItem.Tests.ps1 │ │ ├── Remove-VSTeamWorkItemTag.Tests.ps1 │ │ ├── Set-VSTeamAPIVersion.Tests.ps1 │ │ ├── Set-VSTeamAccount.Tests.ps1 │ │ ├── Set-VSTeamAgentPoolMaintenance.Tests.ps1 │ │ ├── Set-VSTeamAlias.Tests.ps1 │ │ ├── Set-VSTeamApproval.Tests.ps1 │ │ ├── Set-VSTeamDefaultAPITimeout.Tests.ps1 │ │ ├── Set-VSTeamDefaultProject.Tests.ps1 │ │ ├── Set-VSTeamDefaultProjectCount.Tests.ps1 │ │ ├── Set-VSTeamEnvironmentStatus.Tests.ps1 │ │ ├── Set-VSTeamPermissionInheritance.Tests.ps1 │ │ ├── Set-VSTeamPipelineAuthorization.Tests.ps1 │ │ ├── Set-VSTeamPipelineBilling.Tests.ps1 │ │ ├── Set-VSTeamReleaseStatus.Tests.ps1 │ │ ├── Set-VSTeamVariableGroupVariable.Tests.ps1 │ │ ├── Show-VSTeam.Tests.ps1 │ │ ├── Show-VSTeamApproval.Tests.ps1 │ │ ├── Show-VSTeamBuild.Tests.ps1 │ │ ├── Show-VSTeamBuildDefinition.Tests.ps1 │ │ ├── Show-VSTeamFeed.Tests.ps1 │ │ ├── Show-VSTeamGitRepository.Tests.ps1 │ │ ├── Show-VSTeamPackage.Tests.ps1 │ │ ├── Show-VSTeamProject.Tests.ps1 │ │ ├── Show-VSTeamPullRequest.Tests.ps1 │ │ ├── Show-VSTeamRelease.Tests.ps1 │ │ ├── Show-VSTeamReleaseDefinition.Tests.ps1 │ │ ├── Show-VSTeamWorkItem.Tests.ps1 │ │ ├── Stop-VSTeamBuild.Tests.ps1 │ │ ├── Test-VSTeamMembership.Tests.ps1 │ │ ├── Test-VSTeamYamlPipeline.Tests.ps1 │ │ ├── Update-VSTeam.Tests.ps1 │ │ ├── Update-VSTeamAgent.Tests.ps1 │ │ ├── Update-VSTeamArea.Tests.ps1 │ │ ├── Update-VSTeamBanner.Tests.ps1 │ │ ├── Update-VSTeamBuild.Tests.ps1 │ │ ├── Update-VSTeamBuildDefinition.Tests.ps1 │ │ ├── Update-VSTeamClassificationNode.Tests.ps1 │ │ ├── Update-VSTeamExtension.Tests.ps1 │ │ ├── Update-VSTeamGitRepositoryDefaultBranch.Tests.ps1 │ │ ├── Update-VSTeamIteration.Tests.ps1 │ │ ├── Update-VSTeamNuGetPackageVersion.Tests.ps1 │ │ ├── Update-VSTeamPolicy.Tests.ps1 │ │ ├── Update-VSTeamPool.Tests.ps1 │ │ ├── Update-VSTeamProfile.Tests.ps1 │ │ ├── Update-VSTeamProject.Tests.ps1 │ │ ├── Update-VSTeamPullRequest.Tests.ps1 │ │ ├── Update-VSTeamRelease.Tests.ps1 │ │ ├── Update-VSTeamReleaseDefinition.Tests.ps1 │ │ ├── Update-VSTeamServiceEndpoint.Tests.ps1 │ │ ├── Update-VSTeamTaskGroup.Tests.ps1 │ │ ├── Update-VSTeamUserEntitlement.Tests.ps1 │ │ ├── Update-VSTeamVariableGroup.Tests.ps1 │ │ ├── Update-VSTeamWorkItem.Tests.ps1 │ │ ├── Update-VSTeamWorkItemTag.Tests.ps1 │ │ ├── _testInitialize.ps1 │ │ ├── common.Tests.ps1 │ │ └── readme.md ├── integration │ ├── README.md │ └── tests │ │ ├── 000_team.Tests.ps1 │ │ ├── 010_projects.Tests.ps1 │ │ ├── 020_.psDrive.Tests.ps1 │ │ ├── 040_Format.Tests.ps1 │ │ ├── 999_VSTeam-RemoveProject.Tests.ps1 │ │ └── _testInitialize.ps1 └── library │ ├── Attribute │ ├── ProcessTemplateValidateAttributeTests.cs │ ├── ProjectValidateAttributeTests.cs │ ├── QueryTransformToIDAttributeTests.cs │ ├── TimeZoneValidateAttributeTests.cs │ └── WorkItemTypeValidateAttributeTests.cs │ ├── BaseTests.cs │ ├── Cache │ ├── ProcessTemplateCacheTests.cs │ ├── ProjectCacheTests.cs │ ├── QueryCacheTests.cs │ └── WorkItemTypeCacheTests.cs │ ├── CommonTests.cs │ ├── Completer │ ├── BuildCompleterTests.cs │ ├── BuildDefinitionCompleterTests.cs │ ├── InvokeCompleterTests.cs │ ├── ProcessTemplateCompleterTests.cs │ ├── ProjectCompleterTests.cs │ ├── QueryCompleterTests.cs │ ├── QueueCompleterTests.cs │ ├── ReleaseDefinitionCompleterTests.cs │ ├── TimeZoneCompleterTests.cs │ └── WorkItemTypeCompleterTests.cs │ ├── Provider │ ├── AccessControlEntryTests.cs │ ├── AccessControlListTests.cs │ ├── AccountTests.cs │ ├── AgentPoolTests.cs │ ├── AgentTests.cs │ ├── AttemptTests.cs │ ├── BuildDefinitionProcessPhaseTests.cs │ ├── BuildDefinitionTests.cs │ ├── BuildTests.cs │ ├── ClassificationNodeTests.cs │ ├── DescriptorTests.cs │ ├── DirectoryTest.cs │ ├── EnvironmentTests.cs │ ├── ExtensionTests.cs │ ├── FeedTests.cs │ ├── GitCommitRefTests.cs │ ├── GitRefTests.cs │ ├── GitRepositoryTests.cs │ ├── GroupTests.cs │ ├── JobRequestTests.cs │ ├── LinkTests.cs │ ├── PSObjectExtensionMethodsTests.cs │ ├── PackageTests.cs │ ├── PackageVersionTests.cs │ ├── PermissionsTests.cs │ ├── ProcessTests.cs │ ├── ProjectTests.cs │ ├── QueueTests.cs │ ├── ReleaseDefinitionTests.cs │ ├── ReleaseTests.cs │ ├── ReleasesTests.cs │ ├── SecurityNamespaceTests.cs │ ├── TeamTests.cs │ ├── UserEntitlementTests.cs │ └── UserTests.cs │ ├── VersionsTests.cs │ └── vsteam-lib.Test.csproj ├── config.json ├── nuget.config ├── packages ├── README.md └── ships │ ├── CodeOwls.PowerShell.Paths.dll │ ├── CodeOwls.PowerShell.Provider.dll │ └── Microsoft.PowerShell.SHiPS.dll ├── tools ├── docker │ ├── Run-ContainerTests.ps1 │ ├── RunTestsLocally.md │ ├── linux │ │ └── Dockerfile │ └── wcore1903 │ │ └── Dockerfile └── scripts │ ├── Get-VersionNumber.ps1 │ ├── Install-ModuleDependencies.ps1 │ ├── Invoke-PublishModule.ps1 │ ├── Test-HelpFileDocumentation.ps1 │ ├── Test-InstallFromLocalFeed.ps1 │ └── Update-Help.ps1 ├── unit.runsettings └── vsteam-lib.sln /.docs/Add-VSTeamGitRepository.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | # Add-VSTeamGitRepository 4 | 5 | ## SYNOPSIS 6 | 7 | 8 | 9 | ## SYNTAX 10 | 11 | ## DESCRIPTION 12 | 13 | Add-VSTeamGitRepository adds a Git repository to your Azure DevOps or Team Foundation Server account. 14 | 15 | ## EXAMPLES 16 | 17 | ### Example 1 18 | 19 | ```powershell 20 | Add-VSTeamGitRepository -ProjectName Demo -Name Temp 21 | ``` 22 | 23 | This command adds a new repository named Temp to the Demo project. 24 | 25 | ## PARAMETERS 26 | 27 | ### Name 28 | 29 | Specifies the name of the repository. 30 | 31 | ```yaml 32 | Type: System.String 33 | Aliases: RepositoryID 34 | Accept pipeline input: true (ByPropertyName) 35 | ``` 36 | 37 | 38 | 39 | ## INPUTS 40 | 41 | ## OUTPUTS 42 | 43 | ## NOTES 44 | 45 | 46 | 47 | ## RELATED LINKS 48 | -------------------------------------------------------------------------------- /.docs/Clear-VSTeamDefaultAPITimeout.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | # Clear-VSTeamDefaultAPITimeout 4 | 5 | ## SYNOPSIS 6 | 7 | 8 | 9 | ## SYNTAX 10 | 11 | ## DESCRIPTION 12 | 13 | Clears the value stored in the default timeout parameter value. 14 | 15 | ## EXAMPLES 16 | 17 | ### Example 1 18 | 19 | ```powershell 20 | Clear-VSTeamDefaultAPITimeout 21 | ``` 22 | 23 | This will clear the default timeout parameter value. 24 | 25 | ## PARAMETERS 26 | 27 | ### Level 28 | 29 | On Windows allows you to clear your default timeout at the Process, User or Machine levels. 30 | 31 | ```yaml 32 | Type: String 33 | ``` 34 | 35 | ## INPUTS 36 | 37 | ## OUTPUTS 38 | 39 | ## NOTES 40 | 41 | 42 | 43 | ## RELATED LINKS 44 | -------------------------------------------------------------------------------- /.docs/Clear-VSTeamDefaultProject.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | # Clear-VSTeamDefaultProject 4 | 5 | ## SYNOPSIS 6 | 7 | 8 | 9 | ## SYNTAX 10 | 11 | ## DESCRIPTION 12 | 13 | Clears the value stored in the default project parameter value. 14 | 15 | ## EXAMPLES 16 | 17 | ### Example 1 18 | 19 | ```powershell 20 | Clear-VSTeamDefaultProject 21 | ``` 22 | 23 | This will clear the default project parameter value. You will now have to provide a project for any functions that require a project. 24 | 25 | ## PARAMETERS 26 | 27 | ### Level 28 | 29 | On Windows allows you to clear your default project at the Process, User or Machine levels. 30 | 31 | ```yaml 32 | Type: String 33 | ``` 34 | 35 | ## INPUTS 36 | 37 | ## OUTPUTS 38 | 39 | ## NOTES 40 | 41 | 42 | 43 | ## RELATED LINKS 44 | -------------------------------------------------------------------------------- /.docs/Clear-VSTeamDefaultProjectCount.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | # Clear-VSTeamDefaultProjectCount 4 | 5 | ## SYNOPSIS 6 | 7 | 8 | 9 | ## SYNTAX 10 | 11 | ## DESCRIPTION 12 | 13 | 14 | 15 | Clearing this value will only return the top 100 projects. This could have a negative effect on project name tab completion and validation if you have more than 100 projects. 16 | 17 | ## EXAMPLES 18 | 19 | ### Example 1 20 | 21 | ```powershell 22 | Clear-VSTeamDefaultProjectCount 23 | ``` 24 | 25 | This will clear the default project count parameter value. You will now only get the top 100 projects back. 26 | 27 | ## PARAMETERS 28 | 29 | ### Level 30 | 31 | On Windows allows you to clear your default project at the Process, User or Machine levels. 32 | 33 | ```yaml 34 | Type: String 35 | ``` 36 | 37 | ## INPUTS 38 | 39 | ## OUTPUTS 40 | 41 | ## NOTES 42 | 43 | 44 | 45 | ## RELATED LINKS 46 | -------------------------------------------------------------------------------- /.docs/Get-VSTeamAgentPoolMaintenance.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | # Get-VSTeamAgentPoolMaintenance 4 | 5 | ## SYNOPSIS 6 | 7 | Gets the agent pool maintenance job 8 | 9 | ## SYNTAX 10 | 11 | ## DESCRIPTION 12 | 13 | Gets the agent pool maintenance job 14 | 15 | ## EXAMPLES 16 | 17 | ### Example 1 18 | ```powershell 19 | PS C:\> Get-VSTeamAgentPoolMaintenance -Id 1 20 | ``` 21 | 22 | Gets the agent pool maintenance job with id 1 23 | 24 | ## PARAMETERS 25 | 26 | ### Id 27 | Id of the pool to maintain 28 | 29 | ```yaml 30 | Type: Int32 31 | Parameter Sets: (All) 32 | Aliases: PoolID 33 | Required: True 34 | ``` 35 | 36 | 37 | 38 | ## INPUTS 39 | 40 | ## OUTPUTS 41 | 42 | ### System.Object 43 | 44 | ## NOTES 45 | 46 | 47 | 48 | ## RELATED LINKS -------------------------------------------------------------------------------- /.docs/Get-VSTeamBanner.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | # Get-VSTeamBanner 4 | 5 | ## SYNOPSIS 6 | 7 | 8 | 9 | ## SYNTAX 10 | 11 | ## DESCRIPTION 12 | 13 | 14 | 15 | ## EXAMPLES 16 | 17 | ### Example 1 18 | ```powershell 19 | Get-VSTeamBanner -Id '12345' 20 | ``` 21 | Returns the banner with the specified ID. 22 | 23 | ## PARAMETERS 24 | 25 | ### Id 26 | 27 | The ID of the banner. 28 | 29 | ```yaml 30 | Type: String 31 | Required: True 32 | ``` 33 | 34 | ## INPUTS 35 | 36 | ## OUTPUTS 37 | 38 | ### PSCustomObject 39 | 40 | ## NOTES 41 | 42 | 43 | 44 | ## RELATED LINKS -------------------------------------------------------------------------------- /.docs/Get-VSTeamCloudSubscription.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | # Get-VSTeamCloudSubscription 4 | 5 | ## SYNOPSIS 6 | 7 | 8 | 9 | ## SYNTAX 10 | 11 | ## DESCRIPTION 12 | 13 | The Get-VSTeamCloudSubscription function gets the Azure subscriptions associated with the Team Services account. 14 | 15 | ## EXAMPLES 16 | 17 | ### Example 1 18 | 19 | ```powershell 20 | Get-VSTeamCloudSubscription 21 | ``` 22 | 23 | This command gets a list of all Azure subscriptions associated with the Team Services account. 24 | 25 | ## PARAMETERS 26 | 27 | ## INPUTS 28 | 29 | ### None 30 | 31 | ## OUTPUTS 32 | 33 | ### vsteam_lib.AzureSubscription 34 | 35 | ## NOTES 36 | 37 | This function currently is not supported in TFS. 38 | 39 | 40 | 41 | ## RELATED LINKS 42 | -------------------------------------------------------------------------------- /.docs/Get-VSTeamFeed.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | # Get-VSTeamFeed 4 | 5 | ## SYNOPSIS 6 | 7 | 8 | 9 | ## SYNTAX 10 | 11 | ## DESCRIPTION 12 | 13 | Get-VSTeamFeed gets all the feeds for the account 14 | 15 | ## EXAMPLES 16 | 17 | ### Example 1 18 | 19 | ```powershell 20 | Get-VSTeamFeed 21 | ``` 22 | 23 | This command returns all the package feeds for the account. 24 | 25 | ### Example 2 26 | 27 | ```powershell 28 | Get-VSTeamFeed -ProjectName 'MyProject' 29 | ``` 30 | 31 | This command returns all the package feeds for the project. 32 | 33 | ## PARAMETERS 34 | 35 | ### Id 36 | 37 | Specifies the ID of the feed. 38 | 39 | ```yaml 40 | Type: Guid 41 | Aliases: FeedId 42 | Accept pipeline input: true (ByPropertyName) 43 | ``` 44 | 45 | 46 | 47 | ## INPUTS 48 | 49 | ## OUTPUTS 50 | 51 | ## NOTES 52 | 53 | 54 | 55 | ## RELATED LINKS 56 | -------------------------------------------------------------------------------- /.docs/Get-VSTeamInfo.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | # Get-VSTeamInfo 4 | 5 | ## SYNOPSIS 6 | 7 | 8 | 9 | ## SYNTAX 10 | 11 | ## DESCRIPTION 12 | 13 | 14 | 15 | ## EXAMPLES 16 | 17 | ### Example 1 18 | 19 | ```powershell 20 | Get-VSTeamInfo 21 | ``` 22 | 23 | This will display your current account and default project 24 | 25 | ## PARAMETERS 26 | 27 | ## INPUTS 28 | 29 | ## OUTPUTS 30 | 31 | ## NOTES 32 | 33 | 34 | 35 | ## RELATED LINKS 36 | -------------------------------------------------------------------------------- /.docs/Get-VSTeamProfile.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | # Get-VSTeamProfile 4 | 5 | ## SYNOPSIS 6 | 7 | 8 | 9 | ## SYNTAX 10 | 11 | ## DESCRIPTION 12 | 13 | 14 | 15 | ## EXAMPLES 16 | 17 | ### Example 1 18 | 19 | ```powershell 20 | Get-VSTeamProfile 21 | ``` 22 | 23 | Return the list of saved profiles 24 | 25 | ### Example 2 26 | 27 | ```powershell 28 | Get-VSTeamProfile -Name mydemos 29 | ``` 30 | 31 | Will return details of the profile provided 32 | 33 | ## PARAMETERS 34 | 35 | ### Name 36 | 37 | Optional name for the profile. 38 | 39 | ```yaml 40 | Type: String 41 | Parameter Sets: All 42 | Required: True 43 | ``` 44 | 45 | ## INPUTS 46 | 47 | ## OUTPUTS 48 | 49 | ## NOTES 50 | 51 | 52 | 53 | ## RELATED LINKS 54 | 55 | 56 | 57 | [Add-VSTeamProfile](Add-VSTeamProfile.md) 58 | -------------------------------------------------------------------------------- /.docs/Get-VSTeamResourceArea.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | # Get-VSTeamResourceArea 4 | 5 | ## SYNOPSIS 6 | 7 | 8 | 9 | ## SYNTAX 10 | 11 | ## DESCRIPTION 12 | 13 | 14 | 15 | ## EXAMPLES 16 | 17 | ### Example 1 18 | 19 | ```powershell 20 | Get-VSTeamResourceArea 21 | ``` 22 | 23 | This will display all the areas of supported APIs for your account. 24 | 25 | ## PARAMETERS 26 | 27 | ## INPUTS 28 | 29 | ## OUTPUTS 30 | 31 | ## NOTES 32 | 33 | 34 | 35 | ## RELATED LINKS 36 | -------------------------------------------------------------------------------- /.docs/Remove-VSTeamBanner.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | # Remove-VSTeamBanner 5 | 6 | ## SYNOPSIS 7 | 8 | 9 | 10 | ## SYNTAX 11 | 12 | ## DESCRIPTION 13 | 14 | 15 | 16 | ## EXAMPLES 17 | 18 | ### Example 1 19 | 20 | ```powershell 21 | Remove-VSTeamBanner -Id '9547ed55-66e1-403d-95aa-9e628726861c' 22 | ``` 23 | 24 | ## PARAMETERS 25 | 26 | ### Id 27 | 28 | The unique identifier for the banner. 29 | 30 | ```yaml 31 | Type: String 32 | Required: True 33 | ``` 34 | 35 | ## INPUTS 36 | 37 | ## OUTPUTS 38 | 39 | ### System.Object 40 | 41 | ## NOTES 42 | 43 | 44 | 45 | ## RELATED LINKS 46 | 47 | [Add-VSTeamBanner](Add-VSTeamBanner.md) 48 | [Update-VSTeamBanner](Update-VSTeamBanner.md) -------------------------------------------------------------------------------- /.docs/Remove-VSTeamBuild.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | # Remove-VSTeamBuild 4 | 5 | ## SYNOPSIS 6 | 7 | 8 | 9 | ## SYNTAX 10 | 11 | ## DESCRIPTION 12 | 13 | 14 | 15 | ## EXAMPLES 16 | 17 | ### Example 1 18 | 19 | ```powershell 20 | Get-VSTeamBuild | Remove-VSTeamBuild -Force 21 | ``` 22 | 23 | This command will delete all builds that are not marked retain indefinitely. 24 | 25 | ## PARAMETERS 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | ## INPUTS 34 | 35 | ## OUTPUTS 36 | 37 | ### System.Object 38 | 39 | ## NOTES 40 | 41 | 42 | 43 | ## RELATED LINKS 44 | -------------------------------------------------------------------------------- /.docs/Set-VSTeamAlias.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | # Set-VSTeamAlias 4 | 5 | ## SYNOPSIS 6 | 7 | 8 | 9 | ## SYNTAX 10 | 11 | ## DESCRIPTION 12 | 13 | 14 | 15 | ## EXAMPLES 16 | 17 | ### Example 1 18 | ```powershell 19 | Set-VSTeamAlias -Force 20 | ``` 21 | 22 | Activates the alias names and forces the update without any confirmation prompts. 23 | 24 | ## PARAMETERS 25 | 26 | 27 | 28 | ## INPUTS 29 | 30 | ### System.String 31 | 32 | ## OUTPUTS 33 | 34 | ### System.Object 35 | 36 | ## NOTES 37 | 38 | 39 | 40 | ## RELATED LINKS 41 | -------------------------------------------------------------------------------- /.docs/Show-VSTeam.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | # Show-VSTeam 4 | 5 | ## SYNOPSIS 6 | 7 | 8 | 9 | ## SYNTAX 10 | 11 | ## DESCRIPTION 12 | 13 | 14 | 15 | ## EXAMPLES 16 | 17 | ### Example 1 18 | 19 | ```powershell 20 | Show-VSTeam 21 | ``` 22 | 23 | This will open a browser to the TFS or AzD site 24 | 25 | ## PARAMETERS 26 | 27 | ## INPUTS 28 | 29 | ## OUTPUTS 30 | 31 | ## NOTES 32 | 33 | 34 | 35 | ## RELATED LINKS 36 | -------------------------------------------------------------------------------- /.docs/Show-VSTeamFeed.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | # Show-VSTeamFeed 4 | 5 | ## SYNOPSIS 6 | 7 | 8 | 9 | ## SYNTAX 10 | 11 | ## DESCRIPTION 12 | 13 | 14 | 15 | ## EXAMPLES 16 | 17 | ### Example 1 18 | 19 | ```powershell 20 | Show-VSTeamFeed -Name Demo 21 | ``` 22 | 23 | This command will open a web browser with this feed showing. 24 | 25 | ## PARAMETERS 26 | 27 | ### Name 28 | 29 | Specifies feed by ID or Name. 30 | 31 | ```yaml 32 | Type: Int32 33 | Parameter Sets: 34 | Aliases: Id 35 | Required: True 36 | Accept pipeline input: true (ByPropertyName) 37 | ``` 38 | 39 | ## INPUTS 40 | 41 | ## OUTPUTS 42 | 43 | ### vsteam_lib.Feed 44 | 45 | ## NOTES 46 | 47 | 48 | 49 | ## RELATED LINKS 50 | 51 | 52 | 53 | [Add-VSTeamFeed](Add-VSTeamFeed.md) 54 | -------------------------------------------------------------------------------- /.docs/Show-VSTeamGitRepository.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | # Show-VSTeamGitRepository 4 | 5 | ## SYNOPSIS 6 | 7 | 8 | 9 | ## SYNTAX 10 | 11 | ## DESCRIPTION 12 | 13 | 14 | 15 | ## EXAMPLES 16 | 17 | ### Example 1 18 | 19 | ```powershell 20 | Show-VSTeamGitRepository -ProjectName Demo 21 | ``` 22 | 23 | This command opens the Git repository in a browser. 24 | 25 | ## PARAMETERS 26 | 27 | ### RemoteUrl 28 | 29 | The RemoteUrl of the Git repository to open. 30 | 31 | ```yaml 32 | Type: String 33 | Required: True 34 | Accept pipeline input: true (ByPropertyName) 35 | ``` 36 | 37 | 38 | 39 | ## INPUTS 40 | 41 | ## OUTPUTS 42 | 43 | ## NOTES 44 | 45 | 46 | 47 | ## RELATED LINKS 48 | -------------------------------------------------------------------------------- /.docs/common/description.txt: -------------------------------------------------------------------------------- 1 | Welcome to VSTeam. VSTeam is a [PowerShell module](https://www.powershellgallery.com/packages/VSTeam/) that wraps the [REST API provided by Team Foundation Server and Azure DevOps](https://cda.ms/ys). This allows you to access the power of TFS and AzD from [PowerShell on Windows, MacOS and Linux](https://github.com/PowerShell/PowerShell). -------------------------------------------------------------------------------- /.docs/common/header.md: -------------------------------------------------------------------------------- 1 | --- 2 | external help file: VSTeam-Help.xml 3 | Module Name: VSTeam 4 | online version: 5 | schema: 2.0.0 6 | --- -------------------------------------------------------------------------------- /.docs/common/prerequisites.md: -------------------------------------------------------------------------------- 1 | Prerequisites: 2 | 3 | Set the account and version that all calls will use with Set-VSTeamAccount. 4 | Default version sets to API version 3.0 (TFS2017) if not manually set. 5 | 6 | tips: 7 | 8 | * check called version of the API with Get-VSTeamAPIVersion or Get-VSTeamInfo 9 | * use Set-VSTeamDefaultProject to set default project for every call 10 | * use Set-VSTeamDefaultAPITimeout to change the default timeout of 60 seconds for all calls. 11 | * use Profiles to load an account and the correct version 12 | -------------------------------------------------------------------------------- /.docs/common/related.md: -------------------------------------------------------------------------------- 1 | [Set-VSTeamAccount](Set-VSTeamAccount.md) 2 | 3 | [Set-VSTeamAPIVersion](Set-VSTeamAPIVersion.md) 4 | 5 | [Set-VSTeamDefaultProject](Set-VSTeamDefaultProject.md) 6 | 7 | [Set-VSTeamDefaultAPITimeout](Set-VSTeamDefaultAPITimeout.md) 8 | 9 | [about_vsteam](about_vsteam) 10 | 11 | [about_vsteam_profiles](about_vsteam_profiles) 12 | 13 | [about_vsteam_provider](about_vsteam_provider) -------------------------------------------------------------------------------- /.docs/params/account.md: -------------------------------------------------------------------------------- 1 | ### Account 2 | 3 | The Azure DevOps (AzD) account name to use. 4 | DO NOT enter the entire URL. 5 | 6 | Just the portion after dev.azure.com. For example in the 7 | following url mydemos is the account name. 8 | [https://dev.azure.com/mydemos](https://dev.azure.com/mydemos) 9 | or 10 | The full Team Foundation Server (TFS) url including the collection. 11 | [http://localhost:8080/tfs/DefaultCollection](http://localhost:8080/tfs/DefaultCollection) 12 | 13 | ```yaml 14 | Type: String 15 | Parameter Sets: Secure, Plain, Windows 16 | Required: True 17 | Position: 1 18 | ``` 19 | -------------------------------------------------------------------------------- /.docs/params/buildId.md: -------------------------------------------------------------------------------- 1 | ### Id 2 | 3 | The id of the build. 4 | 5 | ```yaml 6 | Type: Int32 7 | Aliases: BuildID 8 | Required: True 9 | Accept pipeline input: true (ByPropertyName, ByValue) 10 | ``` 11 | -------------------------------------------------------------------------------- /.docs/params/buildIds.md: -------------------------------------------------------------------------------- 1 | ### Id 2 | 3 | Specifies one or more builds by ID. 4 | 5 | To specify multiple IDs, use commas to separate the IDs. 6 | 7 | To find the ID of a build, type Get-VSTeamBuild. 8 | 9 | ```yaml 10 | Type: Int32[] 11 | Aliases: BuildID 12 | Accept pipeline input: true (ByPropertyName, ByValue) 13 | ``` 14 | -------------------------------------------------------------------------------- /.docs/params/buildTags.md: -------------------------------------------------------------------------------- 1 | ### Tags 2 | 3 | One or more tags. To specify multiple, use commas to separate. 4 | 5 | ```yaml 6 | Type: String[] 7 | Required: True 8 | Position: 1 9 | Accept pipeline input: true (ByPropertyName, ByValue) 10 | ``` 11 | -------------------------------------------------------------------------------- /.docs/params/confirm.md: -------------------------------------------------------------------------------- 1 | ### Confirm 2 | 3 | Prompts you for confirmation before running the function. 4 | 5 | ```yaml 6 | Type: SwitchParameter 7 | Required: false 8 | Position: Named 9 | Accept pipeline input: false 10 | Parameter Sets: (All) 11 | Aliases: cf 12 | ``` -------------------------------------------------------------------------------- /.docs/params/containerDescriptor.md: -------------------------------------------------------------------------------- 1 | ### ContainerDescriptor 2 | 3 | A container descriptor retrieved by Get-VsTeamGroup. 4 | 5 | ```yaml 6 | Type: String 7 | Required: True 8 | Position: 1 9 | ``` 10 | -------------------------------------------------------------------------------- /.docs/params/force.md: -------------------------------------------------------------------------------- 1 | ### Force 2 | 3 | Forces the function without confirmation. 4 | 5 | ```yaml 6 | Type: SwitchParameter 7 | Required: false 8 | Position: Named 9 | Accept pipeline input: false 10 | Parameter Sets: (All) 11 | ``` 12 | -------------------------------------------------------------------------------- /.docs/params/forcegroup.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /.docs/params/memberDescriptor.md: -------------------------------------------------------------------------------- 1 | ### MemberDescriptor 2 | 3 | A member descriptor retrieved by Get-VsTeamUser. 4 | 5 | ```yaml 6 | Type: String 7 | Required: True 8 | Position: 0 9 | ``` 10 | -------------------------------------------------------------------------------- /.docs/params/processName.md: -------------------------------------------------------------------------------- 1 | ### Name 2 | 3 | Specifies the process template name for which this function operates. 4 | 5 | You can tab complete from a list of available process templates. 6 | 7 | ```yaml 8 | Type: String 9 | Required: true 10 | Position: 0 11 | Accept pipeline input: true (ByPropertyName) 12 | ``` -------------------------------------------------------------------------------- /.docs/params/projectName.md: -------------------------------------------------------------------------------- 1 | ### ProjectName 2 | 3 | Specifies the team project for which this function operates. 4 | 5 | You can tab complete from a list of available projects. 6 | 7 | You can use Set-VSTeamDefaultProject to set a default project so 8 | you do not have to pass the ProjectName with each call. 9 | 10 | ```yaml 11 | Type: String 12 | Position: Named 13 | Required: True 14 | Accept pipeline input: true (ByPropertyName) 15 | ``` 16 | -------------------------------------------------------------------------------- /.docs/params/useProjectId.md: -------------------------------------------------------------------------------- 1 | ### UseProjectId 2 | 3 | Converts the project name to project id before building the URI for the REST API call. 4 | 5 | ```yaml 6 | Type: SwitchParameter 7 | Required: false 8 | Position: Named 9 | Accept pipeline input: false 10 | Parameter Sets: (All) 11 | ``` -------------------------------------------------------------------------------- /.docs/params/version.md: -------------------------------------------------------------------------------- 1 | ### Version 2 | 3 | Specifies the version to use. The acceptable values for this parameter are: 4 | 5 | - TFS2017 6 | - TFS2017U1 7 | - TFS2017U2 8 | - TFS2017U3 9 | - TFS2018 10 | - TFS2018U1 11 | - TFS2018U2 12 | - TFS2018U3 13 | - AzD2019 14 | - AzD2019U1 15 | - VSTS 16 | - AzD 17 | 18 | If you are on AzD it will default to AzD otherwise it will default to TFS2017. 19 | 20 | ```yaml 21 | Type: String 22 | Parameter Sets: Secure, Plain, Windows 23 | Required: True 24 | Position: 3 25 | Default value: TFS2017 for TFS and AzD for AzD 26 | ``` 27 | -------------------------------------------------------------------------------- /.docs/params/whatIf.md: -------------------------------------------------------------------------------- 1 | ### WhatIf 2 | 3 | Shows what would happen if the function runs. 4 | The function is not run. 5 | 6 | ```yaml 7 | Type: SwitchParameter 8 | Required: false 9 | Position: Named 10 | Accept pipeline input: false 11 | Parameter Sets: (All) 12 | Aliases: wi 13 | ``` -------------------------------------------------------------------------------- /.docs/synopsis/Add-VSTeam.md: -------------------------------------------------------------------------------- 1 | Adds a team to a team project. -------------------------------------------------------------------------------- /.docs/synopsis/Add-VSTeamAccessControlEntry.md: -------------------------------------------------------------------------------- 1 | Add or update ACEs in the ACL for the provided token. The request contains the target token, a list of ACEs and a optional merge parameter. In the case of a collision (by identity descriptor) with an existing ACE in the ACL, the "merge" parameter determines the behavior. If set, the existing ACE has its allow and deny merged with the incoming ACE's allow and deny. If unset, the existing ACE is displaced. 2 | 3 | Note: This is a low-level function. You should really use a high level function (Add-VSTeam*Permission / Set-VSTeam*Permission / Get-VSTeam*Permission) unless you know what you are doing. 4 | -------------------------------------------------------------------------------- /.docs/synopsis/Add-VSTeamArea.md: -------------------------------------------------------------------------------- 1 | Adds a new area to the project -------------------------------------------------------------------------------- /.docs/synopsis/Add-VSTeamAzureRMServiceEndpoint.md: -------------------------------------------------------------------------------- 1 | Adds a new Azure Resource Manager service endpoint. -------------------------------------------------------------------------------- /.docs/synopsis/Add-VSTeamBanner.md: -------------------------------------------------------------------------------- 1 | Adds a new banner message to an Azure DevOps organization. -------------------------------------------------------------------------------- /.docs/synopsis/Add-VSTeamBuild.md: -------------------------------------------------------------------------------- 1 | Queues a new build. -------------------------------------------------------------------------------- /.docs/synopsis/Add-VSTeamBuildDefinition.md: -------------------------------------------------------------------------------- 1 | Creates a new build definition from a JSON file. -------------------------------------------------------------------------------- /.docs/synopsis/Add-VSTeamBuildPermission.md: -------------------------------------------------------------------------------- 1 | Add Permissions to builds and multi staging pipelines -------------------------------------------------------------------------------- /.docs/synopsis/Add-VSTeamBuildTag.md: -------------------------------------------------------------------------------- 1 | Adds a tag to a build. -------------------------------------------------------------------------------- /.docs/synopsis/Add-VSTeamClassificationNode.md: -------------------------------------------------------------------------------- 1 | Adds either a new iteration or area to the project -------------------------------------------------------------------------------- /.docs/synopsis/Add-VSTeamExtension.md: -------------------------------------------------------------------------------- 1 | Install the specified extension into the account / project collection. -------------------------------------------------------------------------------- /.docs/synopsis/Add-VSTeamFeed.md: -------------------------------------------------------------------------------- 1 | Adds a new feed to package management. -------------------------------------------------------------------------------- /.docs/synopsis/Add-VSTeamGitRepository.md: -------------------------------------------------------------------------------- 1 | Adds a Git repository to your Azure DevOps or Team Foundation Server account. -------------------------------------------------------------------------------- /.docs/synopsis/Add-VSTeamGitRepositoryPermission.md: -------------------------------------------------------------------------------- 1 | Add permissions to a git repository, all repositories in a project, or a specific branch -------------------------------------------------------------------------------- /.docs/synopsis/Add-VSTeamIteration.md: -------------------------------------------------------------------------------- 1 | Adds a new iteration to the project -------------------------------------------------------------------------------- /.docs/synopsis/Add-VSTeamKubernetesEndpoint.md: -------------------------------------------------------------------------------- 1 | Adds connections to Kubernetes clusters -------------------------------------------------------------------------------- /.docs/synopsis/Add-VSTeamMembership.md: -------------------------------------------------------------------------------- 1 | Adds a membership to a container. -------------------------------------------------------------------------------- /.docs/synopsis/Add-VSTeamNuGetEndpoint.md: -------------------------------------------------------------------------------- 1 | Adds a new NuGet service endpoint. -------------------------------------------------------------------------------- /.docs/synopsis/Add-VSTeamPolicy.md: -------------------------------------------------------------------------------- 1 | Adds a new policy to the specified project. -------------------------------------------------------------------------------- /.docs/synopsis/Add-VSTeamPool.md: -------------------------------------------------------------------------------- 1 | Adds a new agent pool. -------------------------------------------------------------------------------- /.docs/synopsis/Add-VSTeamProfile.md: -------------------------------------------------------------------------------- 1 | Stores your account name and personal access token as a profile for use with 2 | the Add-TeamAccount function in this module. -------------------------------------------------------------------------------- /.docs/synopsis/Add-VSTeamProject.md: -------------------------------------------------------------------------------- 1 | Adds a Team Project to your account. -------------------------------------------------------------------------------- /.docs/synopsis/Add-VSTeamProjectPermission.md: -------------------------------------------------------------------------------- 1 | Add Permissions on Project Level -------------------------------------------------------------------------------- /.docs/synopsis/Add-VSTeamPullRequest.md: -------------------------------------------------------------------------------- 1 | Creates a new Pull Request. -------------------------------------------------------------------------------- /.docs/synopsis/Add-VSTeamRelease.md: -------------------------------------------------------------------------------- 1 | Queues a new release. -------------------------------------------------------------------------------- /.docs/synopsis/Add-VSTeamReleaseDefinition.md: -------------------------------------------------------------------------------- 1 | Creates a new release definition from a JSON file. -------------------------------------------------------------------------------- /.docs/synopsis/Add-VSTeamServiceEndpoint.md: -------------------------------------------------------------------------------- 1 | Adds a generic service connection -------------------------------------------------------------------------------- /.docs/synopsis/Add-VSTeamServiceFabricEndpoint.md: -------------------------------------------------------------------------------- 1 | Adds a new Service Fabric service endpoint. -------------------------------------------------------------------------------- /.docs/synopsis/Add-VSTeamSonarQubeEndpoint.md: -------------------------------------------------------------------------------- 1 | Adds a new SonarQube service endpoint. -------------------------------------------------------------------------------- /.docs/synopsis/Add-VSTeamTaskGroup.md: -------------------------------------------------------------------------------- 1 | Adds a task group. -------------------------------------------------------------------------------- /.docs/synopsis/Add-VSTeamUser.md: -------------------------------------------------------------------------------- 1 | Adds a user to the account. -------------------------------------------------------------------------------- /.docs/synopsis/Add-VSTeamUserEntitlement.md: -------------------------------------------------------------------------------- 1 | Add a user, assign license and extensions and make them a member of a project group in an account. -------------------------------------------------------------------------------- /.docs/synopsis/Add-VSTeamVariableGroup.md: -------------------------------------------------------------------------------- 1 | Adds a variable group. -------------------------------------------------------------------------------- /.docs/synopsis/Add-VSTeamWiki.md: -------------------------------------------------------------------------------- 1 | Publish a project or code wiki in the project provided -------------------------------------------------------------------------------- /.docs/synopsis/Add-VSTeamWorkItem.md: -------------------------------------------------------------------------------- 1 | Adds a work item to your project. -------------------------------------------------------------------------------- /.docs/synopsis/Add-VSTeamWorkItemAreaPermission.md: -------------------------------------------------------------------------------- 1 | Add Permissions to a Work Item Area -------------------------------------------------------------------------------- /.docs/synopsis/Add-VSTeamWorkItemIterationPermission.md: -------------------------------------------------------------------------------- 1 | Add Permissions to an Iteration -------------------------------------------------------------------------------- /.docs/synopsis/Clear-VSTeamDefaultAPITimeout.md: -------------------------------------------------------------------------------- 1 | Clears the value stored in the default timeout parameter value. -------------------------------------------------------------------------------- /.docs/synopsis/Clear-VSTeamDefaultProject.md: -------------------------------------------------------------------------------- 1 | Clears the value stored in the default project parameter value. -------------------------------------------------------------------------------- /.docs/synopsis/Clear-VSTeamDefaultProjectCount.md: -------------------------------------------------------------------------------- 1 | Clears the value stored in the default project count parameter value. -------------------------------------------------------------------------------- /.docs/synopsis/Disable-VSTeamAgent.md: -------------------------------------------------------------------------------- 1 | Disables an agent in a pool. -------------------------------------------------------------------------------- /.docs/synopsis/Enable-VSTeamAgent.md: -------------------------------------------------------------------------------- 1 | Enables an agent in a pool. -------------------------------------------------------------------------------- /.docs/synopsis/Get-VSTeam.md: -------------------------------------------------------------------------------- 1 | Returns a team. -------------------------------------------------------------------------------- /.docs/synopsis/Get-VSTeamAPIVersion.md: -------------------------------------------------------------------------------- 1 | Returns the versions of APIs used. -------------------------------------------------------------------------------- /.docs/synopsis/Get-VSTeamAccessControlList.md: -------------------------------------------------------------------------------- 1 | Return a list of access control lists for the specified security namespace and token. All ACLs in the security namespace will be retrieved if no optional parameters are provided. -------------------------------------------------------------------------------- /.docs/synopsis/Get-VSTeamAccountBilling.md: -------------------------------------------------------------------------------- 1 | Gets the current account billing setup. -------------------------------------------------------------------------------- /.docs/synopsis/Get-VSTeamAccounts.md: -------------------------------------------------------------------------------- 1 | Gets the organizations where the user has access. Where the given user is either a member or an owner. 2 | -------------------------------------------------------------------------------- /.docs/synopsis/Get-VSTeamAgent.md: -------------------------------------------------------------------------------- 1 | Returns the agents in a pool. -------------------------------------------------------------------------------- /.docs/synopsis/Get-VSTeamApproval.md: -------------------------------------------------------------------------------- 1 | Gets a list of approvals for all releases for a team project. -------------------------------------------------------------------------------- /.docs/synopsis/Get-VSTeamArea.md: -------------------------------------------------------------------------------- 1 | Gets the area node for a given area path. -------------------------------------------------------------------------------- /.docs/synopsis/Get-VSTeamBanner.md: -------------------------------------------------------------------------------- 1 | Retrieves a banner from Azure DevOps based on its ID. -------------------------------------------------------------------------------- /.docs/synopsis/Get-VSTeamBuild.md: -------------------------------------------------------------------------------- 1 | Gets the builds for a team project. -------------------------------------------------------------------------------- /.docs/synopsis/Get-VSTeamBuildArtifact.md: -------------------------------------------------------------------------------- 1 | Returns the artifacts of a build. -------------------------------------------------------------------------------- /.docs/synopsis/Get-VSTeamBuildDefinition.md: -------------------------------------------------------------------------------- 1 | Gets the build definitions for a team project. -------------------------------------------------------------------------------- /.docs/synopsis/Get-VSTeamBuildLog.md: -------------------------------------------------------------------------------- 1 | Displays the logs for the build. -------------------------------------------------------------------------------- /.docs/synopsis/Get-VSTeamBuildTag.md: -------------------------------------------------------------------------------- 1 | Returns all the tags of a build. -------------------------------------------------------------------------------- /.docs/synopsis/Get-VSTeamBuildTimeline.md: -------------------------------------------------------------------------------- 1 | Get the timelines for builds -------------------------------------------------------------------------------- /.docs/synopsis/Get-VSTeamClassificationNode.md: -------------------------------------------------------------------------------- 1 | Gets the classification node for a given node path. -------------------------------------------------------------------------------- /.docs/synopsis/Get-VSTeamCloudSubscription.md: -------------------------------------------------------------------------------- 1 | Gets the Azure subscriptions associated with the Team Services account. -------------------------------------------------------------------------------- /.docs/synopsis/Get-VSTeamDescriptor.md: -------------------------------------------------------------------------------- 1 | Resolve a storage key to a descriptor. -------------------------------------------------------------------------------- /.docs/synopsis/Get-VSTeamExtension.md: -------------------------------------------------------------------------------- 1 | Get the installed extensions in the specified Azure DevOps or Team Foundation Server project. -------------------------------------------------------------------------------- /.docs/synopsis/Get-VSTeamFeed.md: -------------------------------------------------------------------------------- 1 | Returns a list of package feeds for the account. -------------------------------------------------------------------------------- /.docs/synopsis/Get-VSTeamGitCommit.md: -------------------------------------------------------------------------------- 1 | Retrieve git commits for a project -------------------------------------------------------------------------------- /.docs/synopsis/Get-VSTeamGitRef.md: -------------------------------------------------------------------------------- 1 | Queries the provided repository for its refs and returns them. -------------------------------------------------------------------------------- /.docs/synopsis/Get-VSTeamGitRepository.md: -------------------------------------------------------------------------------- 1 | Get all the repositories in your Azure DevOps or Team Foundation Server account, or a specific project. -------------------------------------------------------------------------------- /.docs/synopsis/Get-VSTeamGitStat.md: -------------------------------------------------------------------------------- 1 | Retrieves statistics about branches within a repository. -------------------------------------------------------------------------------- /.docs/synopsis/Get-VSTeamGroup.md: -------------------------------------------------------------------------------- 1 | Returns a Group or List of Groups. -------------------------------------------------------------------------------- /.docs/synopsis/Get-VSTeamInfo.md: -------------------------------------------------------------------------------- 1 | Displays your current account and default project. -------------------------------------------------------------------------------- /.docs/synopsis/Get-VSTeamIteration.md: -------------------------------------------------------------------------------- 1 | Gets the iteration node for a given iteration path. -------------------------------------------------------------------------------- /.docs/synopsis/Get-VSTeamJobRequest.md: -------------------------------------------------------------------------------- 1 | Returns all the job requests of an agent. -------------------------------------------------------------------------------- /.docs/synopsis/Get-VSTeamMember.md: -------------------------------------------------------------------------------- 1 | Returns a team member. -------------------------------------------------------------------------------- /.docs/synopsis/Get-VSTeamMembership.md: -------------------------------------------------------------------------------- 1 | Gets a memberships for a container or member. -------------------------------------------------------------------------------- /.docs/synopsis/Get-VSTeamOption.md: -------------------------------------------------------------------------------- 1 | Returns all the versions of supported APIs of your TFS or AzD. -------------------------------------------------------------------------------- /.docs/synopsis/Get-VSTeamPackage.md: -------------------------------------------------------------------------------- 1 | Returns a list of packages for a feed. -------------------------------------------------------------------------------- /.docs/synopsis/Get-VSTeamPackageVersion.md: -------------------------------------------------------------------------------- 1 | Returns a list of versions for a package. -------------------------------------------------------------------------------- /.docs/synopsis/Get-VSTeamPermissionInheritance.md: -------------------------------------------------------------------------------- 1 | **Undocumented API** 2 | 3 | Returns true or false. -------------------------------------------------------------------------------- /.docs/synopsis/Get-VSTeamPolicy.md: -------------------------------------------------------------------------------- 1 | Get the code policies in the specified Azure DevOps or Team Foundation Server project. -------------------------------------------------------------------------------- /.docs/synopsis/Get-VSTeamPolicyType.md: -------------------------------------------------------------------------------- 1 | Get the policy types in the specified Azure DevOps or Team Foundation Server project. -------------------------------------------------------------------------------- /.docs/synopsis/Get-VSTeamPool.md: -------------------------------------------------------------------------------- 1 | Returns the agent pools. -------------------------------------------------------------------------------- /.docs/synopsis/Get-VSTeamProcess.md: -------------------------------------------------------------------------------- 1 | Returns a list of process templates in the Team Services or Team Foundation Server account. -------------------------------------------------------------------------------- /.docs/synopsis/Get-VSTeamProfile.md: -------------------------------------------------------------------------------- 1 | Returns the saved profiles. -------------------------------------------------------------------------------- /.docs/synopsis/Get-VSTeamProject.md: -------------------------------------------------------------------------------- 1 | Returns a list of projects in the Team Services or Team Foundation Server account. -------------------------------------------------------------------------------- /.docs/synopsis/Get-VSTeamPullRequest.md: -------------------------------------------------------------------------------- 1 | Returns one or more open pull requests from your team, project, or Id. -------------------------------------------------------------------------------- /.docs/synopsis/Get-VSTeamQuery.md: -------------------------------------------------------------------------------- 1 | Gets the root queries and their children. -------------------------------------------------------------------------------- /.docs/synopsis/Get-VSTeamQueue.md: -------------------------------------------------------------------------------- 1 | Gets a agent queue. -------------------------------------------------------------------------------- /.docs/synopsis/Get-VSTeamRelease.md: -------------------------------------------------------------------------------- 1 | Gets the releases for a team project. -------------------------------------------------------------------------------- /.docs/synopsis/Get-VSTeamReleaseDefinition.md: -------------------------------------------------------------------------------- 1 | Gets the release definitions for a team project. -------------------------------------------------------------------------------- /.docs/synopsis/Get-VSTeamResourceArea.md: -------------------------------------------------------------------------------- 1 | List all the areas supported by this instance of TFS/VSTS. -------------------------------------------------------------------------------- /.docs/synopsis/Get-VSTeamSecurityNamespace.md: -------------------------------------------------------------------------------- 1 | List all security namespaces or just the specified namespace. -------------------------------------------------------------------------------- /.docs/synopsis/Get-VSTeamServiceEndpoint.md: -------------------------------------------------------------------------------- 1 | Gets a service endpoint. -------------------------------------------------------------------------------- /.docs/synopsis/Get-VSTeamServiceEndpointType.md: -------------------------------------------------------------------------------- 1 | Get service endpoint types. -------------------------------------------------------------------------------- /.docs/synopsis/Get-VSTeamTaskGroup.md: -------------------------------------------------------------------------------- 1 | Gets a task group -------------------------------------------------------------------------------- /.docs/synopsis/Get-VSTeamTfvcBranch.md: -------------------------------------------------------------------------------- 1 | Gets a branch for a given path from TFVC source control. -------------------------------------------------------------------------------- /.docs/synopsis/Get-VSTeamTfvcRootBranch.md: -------------------------------------------------------------------------------- 1 | Gets root branches for all projects with TFVC source control. -------------------------------------------------------------------------------- /.docs/synopsis/Get-VSTeamUser..md: -------------------------------------------------------------------------------- 1 | Returns a User or List of Users. -------------------------------------------------------------------------------- /.docs/synopsis/Get-VSTeamUser.md: -------------------------------------------------------------------------------- 1 | Returns a list of users for the account. -------------------------------------------------------------------------------- /.docs/synopsis/Get-VSTeamUserEntitlement.md: -------------------------------------------------------------------------------- 1 | Get User Entitlement for a user, or a paged list of users matching the specified filter -------------------------------------------------------------------------------- /.docs/synopsis/Get-VSTeamUserProfile.md: -------------------------------------------------------------------------------- 1 | Gets the user profile of an account. -------------------------------------------------------------------------------- /.docs/synopsis/Get-VSTeamVariableGroup.md: -------------------------------------------------------------------------------- 1 | Gets a variable group -------------------------------------------------------------------------------- /.docs/synopsis/Get-VSTeamWiki.md: -------------------------------------------------------------------------------- 1 | Returns a list of wikis for the selected project. -------------------------------------------------------------------------------- /.docs/synopsis/Get-VSTeamWiql.md: -------------------------------------------------------------------------------- 1 | Returns work items from the given WIQL query or a saved query by ID from your projects team. -------------------------------------------------------------------------------- /.docs/synopsis/Get-VSTeamWorkItem.md: -------------------------------------------------------------------------------- 1 | Returns one or more a work items from your project. -------------------------------------------------------------------------------- /.docs/synopsis/Get-VSTeamWorkItemTag.md: -------------------------------------------------------------------------------- 1 | Gets a work item tag -------------------------------------------------------------------------------- /.docs/synopsis/Get-VSTeamWorkItemType.md: -------------------------------------------------------------------------------- 1 | Gets a list of all Work Item Types or a single work item type. -------------------------------------------------------------------------------- /.docs/synopsis/Invoke-VSTeamRequest.md: -------------------------------------------------------------------------------- 1 | Allows you to call any TFS/AzD REST API. All the Auth and Route Structure is taken care of for you. Just provide the parts of the API call you need. If you need to send a non-standard URL use the -Url parameter. If the -Url is used the Url is not changed but the header and UserAgent are added for you. -------------------------------------------------------------------------------- /.docs/synopsis/Remove-VSTeam.md: -------------------------------------------------------------------------------- 1 | Removes a team from a project. -------------------------------------------------------------------------------- /.docs/synopsis/Remove-VSTeamAccessControlEntry.md: -------------------------------------------------------------------------------- 1 | Removes specified ACEs in the ACL for the provided token. The request URI contains the namespace ID, the target token, and a single or list of descriptors that should be removed. Only supports removing AzD based users/groups. -------------------------------------------------------------------------------- /.docs/synopsis/Remove-VSTeamAccessControlList.md: -------------------------------------------------------------------------------- 1 | Remove access control lists under the specified security namespace. -------------------------------------------------------------------------------- /.docs/synopsis/Remove-VSTeamAccount.md: -------------------------------------------------------------------------------- 1 | Clears your default project, account name and personal access token. -------------------------------------------------------------------------------- /.docs/synopsis/Remove-VSTeamAgent.md: -------------------------------------------------------------------------------- 1 | Removes an agent from a pool. -------------------------------------------------------------------------------- /.docs/synopsis/Remove-VSTeamArea.md: -------------------------------------------------------------------------------- 1 | Removes an existing area from the project 2 | -------------------------------------------------------------------------------- /.docs/synopsis/Remove-VSTeamBanner.md: -------------------------------------------------------------------------------- 1 | Removes a banner message from an Azure DevOps organization by its identifier. -------------------------------------------------------------------------------- /.docs/synopsis/Remove-VSTeamBuild.md: -------------------------------------------------------------------------------- 1 | Deletes the build. -------------------------------------------------------------------------------- /.docs/synopsis/Remove-VSTeamBuildDefinition.md: -------------------------------------------------------------------------------- 1 | Removes the build definitions for a team project. -------------------------------------------------------------------------------- /.docs/synopsis/Remove-VSTeamBuildTag.md: -------------------------------------------------------------------------------- 1 | Removes the tag from a build. -------------------------------------------------------------------------------- /.docs/synopsis/Remove-VSTeamClassificationNode.md: -------------------------------------------------------------------------------- 1 | 2 | Removes either an existing iteration or area from the project -------------------------------------------------------------------------------- /.docs/synopsis/Remove-VSTeamDirectAssignment.md: -------------------------------------------------------------------------------- 1 | Removes explicit assignments of users by their IDs. Operates in either preview mode or normal mode. In normal mode, it chunks user IDs into groups of 20 to avoid timeouts. -------------------------------------------------------------------------------- /.docs/synopsis/Remove-VSTeamExtension.md: -------------------------------------------------------------------------------- 1 | Uninstall the specified extension from the account / project collection. -------------------------------------------------------------------------------- /.docs/synopsis/Remove-VSTeamFeed.md: -------------------------------------------------------------------------------- 1 | Removes a package feed from the account. -------------------------------------------------------------------------------- /.docs/synopsis/Remove-VSTeamGitRepository.md: -------------------------------------------------------------------------------- 1 | Removes the Git repository from your Azure DevOps or Team Foundation Server account. -------------------------------------------------------------------------------- /.docs/synopsis/Remove-VSTeamIteration.md: -------------------------------------------------------------------------------- 1 | 2 | Removes an existing iteration from the project -------------------------------------------------------------------------------- /.docs/synopsis/Remove-VSTeamMembership.md: -------------------------------------------------------------------------------- 1 | Removes a membership to a container. -------------------------------------------------------------------------------- /.docs/synopsis/Remove-VSTeamPolicy.md: -------------------------------------------------------------------------------- 1 | Removes the specified policy from the specified project. -------------------------------------------------------------------------------- /.docs/synopsis/Remove-VSTeamPool.md: -------------------------------------------------------------------------------- 1 | Removes the agent pool. -------------------------------------------------------------------------------- /.docs/synopsis/Remove-VSTeamProfile.md: -------------------------------------------------------------------------------- 1 | Removes the profile. -------------------------------------------------------------------------------- /.docs/synopsis/Remove-VSTeamProject.md: -------------------------------------------------------------------------------- 1 | Deletes the Team Project from your Team Services account. -------------------------------------------------------------------------------- /.docs/synopsis/Remove-VSTeamRelease.md: -------------------------------------------------------------------------------- 1 | Removes the releases for a team project. -------------------------------------------------------------------------------- /.docs/synopsis/Remove-VSTeamReleaseDefinition.md: -------------------------------------------------------------------------------- 1 | Removes the release definitions for a team project. -------------------------------------------------------------------------------- /.docs/synopsis/Remove-VSTeamServiceEndpoint.md: -------------------------------------------------------------------------------- 1 | Removes a service endpoint. -------------------------------------------------------------------------------- /.docs/synopsis/Remove-VSTeamTaskGroup.md: -------------------------------------------------------------------------------- 1 | Removes a task group -------------------------------------------------------------------------------- /.docs/synopsis/Remove-VSTeamUser.md: -------------------------------------------------------------------------------- 1 | Removes a user from the account. -------------------------------------------------------------------------------- /.docs/synopsis/Remove-VSTeamUserEntitlement.md: -------------------------------------------------------------------------------- 1 | Delete a user from the account. 2 | 3 | The delete operation includes unassigning Extensions and Licenses and removing the user from all project memberships. The user would continue to have access to the account if she is member of an AAD group, that is added directly to the account. -------------------------------------------------------------------------------- /.docs/synopsis/Remove-VSTeamVariableGroup.md: -------------------------------------------------------------------------------- 1 | Removes a variable group -------------------------------------------------------------------------------- /.docs/synopsis/Remove-VSTeamWiki.md: -------------------------------------------------------------------------------- 1 | Unpublish a project or code wiki in the project provided -------------------------------------------------------------------------------- /.docs/synopsis/Remove-VSTeamWorkItem.md: -------------------------------------------------------------------------------- 1 | Deletes the specified work item and sends it to the Recycle Bin, so that it can be restored back, if required. Optionally, if the destroy parameter has been set to true, it destroys the work item permanently. WARNING: If the destroy parameter is set to true, work items deleted by this command will NOT go to recycle-bin and there is no way to restore/recover them after deletion. It is recommended NOT to use this parameter. If you do, please use this parameter with extreme caution. -------------------------------------------------------------------------------- /.docs/synopsis/Remove-VSTeamWorkItemTag.md: -------------------------------------------------------------------------------- 1 | Removes a work item tag -------------------------------------------------------------------------------- /.docs/synopsis/Set-VSTeamAPIVersion.md: -------------------------------------------------------------------------------- 1 | Sets the API versions to support either TFS2017, TFS2018, AzD2019 or AzD. -------------------------------------------------------------------------------- /.docs/synopsis/Set-VSTeamAccount.md: -------------------------------------------------------------------------------- 1 | Stores your account name and personal access token for use with the other 2 | functions in this module. -------------------------------------------------------------------------------- /.docs/synopsis/Set-VSTeamAlias.md: -------------------------------------------------------------------------------- 1 | In version 6.0 the default aliases were removed to prevent conflicts with other modules. If you want to use the original aliases you can run this function to restore them. -------------------------------------------------------------------------------- /.docs/synopsis/Set-VSTeamApproval.md: -------------------------------------------------------------------------------- 1 | Sets the status of approval to Approved, Rejected, Pending, or ReAssigned. -------------------------------------------------------------------------------- /.docs/synopsis/Set-VSTeamDefaultAPITimeout.md: -------------------------------------------------------------------------------- 1 | Sets the default timeout to be used with other calls in the module. -------------------------------------------------------------------------------- /.docs/synopsis/Set-VSTeamDefaultProject.md: -------------------------------------------------------------------------------- 1 | Sets the default project to be used with other calls in the module. -------------------------------------------------------------------------------- /.docs/synopsis/Set-VSTeamDefaultProjectCount.md: -------------------------------------------------------------------------------- 1 | Sets the default project count to be used with other calls in the module. This is important if you have more than 100 projects. -------------------------------------------------------------------------------- /.docs/synopsis/Set-VSTeamEnvironmentStatus.md: -------------------------------------------------------------------------------- 1 | Sets the status of a environment to canceled, inProgress, notStarted, partiallySucceeded, queued, rejected, scheduled, succeeded or undefined. -------------------------------------------------------------------------------- /.docs/synopsis/Set-VSTeamPermissionInheritance.md: -------------------------------------------------------------------------------- 1 | **Undocumented API** 2 | 3 | Sets the permission inheritance to true or false. -------------------------------------------------------------------------------- /.docs/synopsis/Set-VSTeamPipelineAuthorization.md: -------------------------------------------------------------------------------- 1 | Authorizes pipelines to use the given resources. -------------------------------------------------------------------------------- /.docs/synopsis/Set-VSTeamPipelineBilling.md: -------------------------------------------------------------------------------- 1 | Purchases private and Microsoft hosted concurrent jobs for pipelines. -------------------------------------------------------------------------------- /.docs/synopsis/Set-VSTeamReleaseStatus.md: -------------------------------------------------------------------------------- 1 | Sets the status of a release to Active or Abandoned. -------------------------------------------------------------------------------- /.docs/synopsis/Set-VSTeamVariableGroupVariable.md: -------------------------------------------------------------------------------- 1 | Adds a variable to an existing variable group, or changes its value if the variable is already present. -------------------------------------------------------------------------------- /.docs/synopsis/Show-VSTeam.md: -------------------------------------------------------------------------------- 1 | Opens TFS or AzD site in the default browser. -------------------------------------------------------------------------------- /.docs/synopsis/Show-VSTeamApproval.md: -------------------------------------------------------------------------------- 1 | Opens the release associated with the waiting approval in the default browser. -------------------------------------------------------------------------------- /.docs/synopsis/Show-VSTeamBuild.md: -------------------------------------------------------------------------------- 1 | Opens the build summary in the default browser. -------------------------------------------------------------------------------- /.docs/synopsis/Show-VSTeamBuildDefinition.md: -------------------------------------------------------------------------------- 1 | Opens the build definition in the default browser. -------------------------------------------------------------------------------- /.docs/synopsis/Show-VSTeamFeed.md: -------------------------------------------------------------------------------- 1 | Opens the feed in the default browser. -------------------------------------------------------------------------------- /.docs/synopsis/Show-VSTeamGitRepository.md: -------------------------------------------------------------------------------- 1 | Opens the Git repository in the default browser. -------------------------------------------------------------------------------- /.docs/synopsis/Show-VSTeamPackage.md: -------------------------------------------------------------------------------- 1 | Opens the package in the default browser. -------------------------------------------------------------------------------- /.docs/synopsis/Show-VSTeamProject.md: -------------------------------------------------------------------------------- 1 | Opens the project in the default browser. -------------------------------------------------------------------------------- /.docs/synopsis/Show-VSTeamPullRequest.md: -------------------------------------------------------------------------------- 1 | Opens the pull request in the default browser. -------------------------------------------------------------------------------- /.docs/synopsis/Show-VSTeamRelease.md: -------------------------------------------------------------------------------- 1 | Opens the release summary in the default browser. -------------------------------------------------------------------------------- /.docs/synopsis/Show-VSTeamReleaseDefinition.md: -------------------------------------------------------------------------------- 1 | Opens the release definitions for a team project in the default browser. -------------------------------------------------------------------------------- /.docs/synopsis/Show-VSTeamWorkItem.md: -------------------------------------------------------------------------------- 1 | Opens the work item in the default browser. -------------------------------------------------------------------------------- /.docs/synopsis/Stop-VSTeamBuild.md: -------------------------------------------------------------------------------- 1 | Allows you to cancel a running build. -------------------------------------------------------------------------------- /.docs/synopsis/Test-VSTeamMembership.md: -------------------------------------------------------------------------------- 1 | Tests the membership in a container. -------------------------------------------------------------------------------- /.docs/synopsis/Test-VSTeamYamlPipeline.md: -------------------------------------------------------------------------------- 1 | Validates the local YAML pipeline against Azure DevOps. -------------------------------------------------------------------------------- /.docs/synopsis/Update-VSTeam.md: -------------------------------------------------------------------------------- 1 | Updates the team name, description or both. -------------------------------------------------------------------------------- /.docs/synopsis/Update-VSTeamAgent.md: -------------------------------------------------------------------------------- 1 | Instructs the agent to download and install the lastest version of the agent on self-hosted agents. -------------------------------------------------------------------------------- /.docs/synopsis/Update-VSTeamArea.md: -------------------------------------------------------------------------------- 1 | Updates the area name in a project -------------------------------------------------------------------------------- /.docs/synopsis/Update-VSTeamBanner.md: -------------------------------------------------------------------------------- 1 | Updates an existing banner message in an Azure DevOps organization. -------------------------------------------------------------------------------- /.docs/synopsis/Update-VSTeamBuild.md: -------------------------------------------------------------------------------- 1 | Allows you to set the keep forever flag and build number. -------------------------------------------------------------------------------- /.docs/synopsis/Update-VSTeamBuildDefinition.md: -------------------------------------------------------------------------------- 1 | Updates a build definition for a team project. -------------------------------------------------------------------------------- /.docs/synopsis/Update-VSTeamClassificationNode.md: -------------------------------------------------------------------------------- 1 | Updates a pre-existing iteration or area in the project -------------------------------------------------------------------------------- /.docs/synopsis/Update-VSTeamExtension.md: -------------------------------------------------------------------------------- 1 | Update an installed extension. Typically this API is used to enable or disable an extension. -------------------------------------------------------------------------------- /.docs/synopsis/Update-VSTeamGitRepositoryDefaultBranch.md: -------------------------------------------------------------------------------- 1 | Update the default branch of an existing respository. -------------------------------------------------------------------------------- /.docs/synopsis/Update-VSTeamIteration.md: -------------------------------------------------------------------------------- 1 | Updates an iteration's properties in a project -------------------------------------------------------------------------------- /.docs/synopsis/Update-VSTeamNuGetPackageVersion.md: -------------------------------------------------------------------------------- 1 | Set mutable state on a package version. -------------------------------------------------------------------------------- /.docs/synopsis/Update-VSTeamPolicy.md: -------------------------------------------------------------------------------- 1 | Updates an existing policy in the specified project. -------------------------------------------------------------------------------- /.docs/synopsis/Update-VSTeamPool.md: -------------------------------------------------------------------------------- 1 | Updates an agent pool. -------------------------------------------------------------------------------- /.docs/synopsis/Update-VSTeamProfile.md: -------------------------------------------------------------------------------- 1 | Allows you to update the Personal Access Token for your profile. -------------------------------------------------------------------------------- /.docs/synopsis/Update-VSTeamProject.md: -------------------------------------------------------------------------------- 1 | Updates the project name, description or both. -------------------------------------------------------------------------------- /.docs/synopsis/Update-VSTeamPullRequest.md: -------------------------------------------------------------------------------- 1 | Update a pull request -------------------------------------------------------------------------------- /.docs/synopsis/Update-VSTeamRelease.md: -------------------------------------------------------------------------------- 1 | Allows you to update release variables for future stages to read. -------------------------------------------------------------------------------- /.docs/synopsis/Update-VSTeamReleaseDefinition.md: -------------------------------------------------------------------------------- 1 | Updates a build definition for a team project. -------------------------------------------------------------------------------- /.docs/synopsis/Update-VSTeamServiceEndpoint.md: -------------------------------------------------------------------------------- 1 | Updates an existing service connection -------------------------------------------------------------------------------- /.docs/synopsis/Update-VSTeamTaskGroup.md: -------------------------------------------------------------------------------- 1 | Updates an existing task group -------------------------------------------------------------------------------- /.docs/synopsis/Update-VSTeamUser.md: -------------------------------------------------------------------------------- 1 | Updates the users for the account. (Currently only supports updating the LicenseType) -------------------------------------------------------------------------------- /.docs/synopsis/Update-VSTeamUserEntitlement.md: -------------------------------------------------------------------------------- 1 | Edit the entitlements (License, Extensions, Projects, Teams etc) for a user. -------------------------------------------------------------------------------- /.docs/synopsis/Update-VSTeamVariableGroup.md: -------------------------------------------------------------------------------- 1 | Updates an existing variable group -------------------------------------------------------------------------------- /.docs/synopsis/Update-VSTeamWorkItem.md: -------------------------------------------------------------------------------- 1 | Update a work item in your project. -------------------------------------------------------------------------------- /.docs/synopsis/Update-VSTeamWorkItemTag.md: -------------------------------------------------------------------------------- 1 | Updates a work item tag -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/1_feature.yml: -------------------------------------------------------------------------------- 1 | name: Feature request 🚀 2 | description: Suggest an idea for this project 3 | labels: ["feature request","enhancement"] 4 | body: 5 | - type: textarea 6 | id: proposal 7 | attributes: 8 | label: Proposal 9 | description: "What would you like to have as a feature (cmdlet or improved cmdlet)?" 10 | placeholder: "A clear and concise description of what you want to happen." 11 | validations: 12 | required: true 13 | - type: textarea 14 | id: solved-problem 15 | attributes: 16 | label: Solved Problem 17 | description: "How would this help you with your automation?" 18 | placeholder: "Tell us more what you'd like to achieve." 19 | validations: 20 | required: false 21 | - type: textarea 22 | id: other 23 | attributes: 24 | label: Additional info / code snippets? 25 | description: "Anything that does not exactly fit like already suggested code snippets for the feature or your research that might help to get started." 26 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/config.yml: -------------------------------------------------------------------------------- 1 | blank_issues_enabled: false 2 | contact_links: 3 | - name: VSTeam docs 4 | url: https://methodsandpractices.github.io/vsteam-docs/docs/modules/vsteam 5 | about: RTFM 6 | - name: VSTeam Q&A 7 | url: https://github.com/MethodsAndPractices/vsteam/discussions 8 | about: This is for general questions / discussions without bugs or requests. 9 | -------------------------------------------------------------------------------- /.github/PULL_REQUEST_TEMPLATE.md: -------------------------------------------------------------------------------- 1 | # PR Summary 2 | 3 | 4 | 5 | ## PR Checklist 6 | 7 | - [ ] [Write Help](https://github.com/DarqueWarrior/vsteam/blob/master/.github/CONTRIBUTING.md#write-help) 8 | - [ ] [Write Unit Test](https://github.com/DarqueWarrior/vsteam/blob/master/.github/CONTRIBUTING.md#write-unit-test) 9 | -------------------------------------------------------------------------------- /.github/dependabot.yml: -------------------------------------------------------------------------------- 1 | # https://docs.github.com/github/administering-a-repository/configuration-options-for-dependency-updates 2 | 3 | version: 2 4 | updates: 5 | - package-ecosystem: nuget 6 | directory: "/Source/Classes" 7 | schedule: 8 | interval: daily 9 | -------------------------------------------------------------------------------- /.github/images/build.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MethodsAndPractices/vsteam/ea225893f45b59a7d974a661eebd50f4d2b84c23/.github/images/build.png -------------------------------------------------------------------------------- /.github/images/cli-example.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MethodsAndPractices/vsteam/ea225893f45b59a7d974a661eebd50f4d2b84c23/.github/images/cli-example.gif -------------------------------------------------------------------------------- /.github/images/contributing_postmanAuth.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MethodsAndPractices/vsteam/ea225893f45b59a7d974a661eebd50f4d2b84c23/.github/images/contributing_postmanAuth.png -------------------------------------------------------------------------------- /.github/images/contributing_postmanGet.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MethodsAndPractices/vsteam/ea225893f45b59a7d974a661eebd50f4d2b84c23/.github/images/contributing_postmanGet.png -------------------------------------------------------------------------------- /.github/images/contributing_postmanResponse.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MethodsAndPractices/vsteam/ea225893f45b59a7d974a661eebd50f4d2b84c23/.github/images/contributing_postmanResponse.png -------------------------------------------------------------------------------- /.github/images/unittests.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MethodsAndPractices/vsteam/ea225893f45b59a7d974a661eebd50f4d2b84c23/.github/images/unittests.png -------------------------------------------------------------------------------- /.github/moduleMessages.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "msg": "Module Version 8.0.0 will stop supporting all TFS (2017,2018) versions. In the future it will also only keep the newest server versions in the support.", 4 | "toDate": "31/12/2099 23:59:59", 5 | "displayFromVersion": "7.4.0", 6 | "displayToVersion": "8.0.0", 7 | "type": "warning" 8 | } 9 | ] -------------------------------------------------------------------------------- /.github/workflows/test-publish.yml: -------------------------------------------------------------------------------- 1 | name: 'test publish' 2 | 3 | on: 4 | workflow_dispatch: 5 | 6 | jobs: 7 | publish-stage: 8 | name: Publish Test 9 | runs-on: ubuntu-latest 10 | env: 11 | module_version: "10.0.0" 12 | permissions: 13 | repository-projects: write 14 | discussions: write 15 | packages: write 16 | steps: 17 | 18 | - uses: ncipollo/release-action@v1 19 | with: 20 | allowUpdates: true 21 | commit: trunk 22 | tag: "v${{ env.module_version }}" 23 | discussionCategory: "Announcements" 24 | generateReleaseNotes: true 25 | token: ${{ secrets.GITHUB_TOKEN }} 26 | -------------------------------------------------------------------------------- /.vscode/BeforeAllBlock.code-snippets: -------------------------------------------------------------------------------- 1 | { 2 | // Place your vsteam workspace snippets here. Each snippet is defined under a snippet name and has a scope, prefix, body and 3 | // description. Add comma separated ids of the languages where the snippet is applicable in the scope field. If scope 4 | // is left empty or omitted, the snippet gets applied to all languages. The prefix is what is 5 | // used to trigger the snippet and the body will be expanded and inserted. Possible variables are: 6 | // $1, $2 for tab stops, $0 for the final cursor position, and ${1:label}, ${2:another} for placeholders. 7 | // Placeholders with the same ids are connected. 8 | // Example: 9 | "Wrap with BeforeAll": { 10 | "scope": "powershell", 11 | "prefix": "ba", 12 | "body": [ 13 | "BeforeAll {", 14 | "${TM_SELECTED_TEXT}", 15 | "}" 16 | ], 17 | "description": "Wraps the selected text in a BeforeAll Block" 18 | } 19 | } -------------------------------------------------------------------------------- /Source/Classes/Attribute/BaseValidateArgumentsAttribute.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using System.Linq; 3 | using System.Management.Automation; 4 | 5 | namespace vsteam_lib 6 | { 7 | public abstract class BaseValidateArgumentsAttribute : ValidateArgumentsAttribute 8 | { 9 | internal abstract IEnumerable GetValues(); 10 | 11 | protected override void Validate(object arguments, EngineIntrinsics engineIntrinsics) 12 | { 13 | if (string.IsNullOrEmpty(arguments?.ToString())) 14 | { 15 | return; 16 | } 17 | 18 | var cache = this.GetValues(); 19 | 20 | if (cache.Count() > 0 && cache.All(s => string.Compare(arguments.ToString(), s, true) != 0)) 21 | { 22 | throw new ValidationMetadataException($"'{arguments}' is invalid"); 23 | } 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /Source/Classes/Attribute/ProcessTemplateValidateAttribute.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace vsteam_lib 4 | { 5 | public class ProcessTemplateValidateAttribute : BaseValidateArgumentsAttribute 6 | { 7 | internal override IEnumerable GetValues() => ProcessTemplateCache.GetCurrent(); 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /Source/Classes/Attribute/ProjectValidateAttribute.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace vsteam_lib 4 | { 5 | public class ProjectValidateAttribute : BaseValidateArgumentsAttribute 6 | { 7 | private readonly bool _forceUpdate; 8 | 9 | public ProjectValidateAttribute(bool forceUpdate) 10 | { 11 | this._forceUpdate = forceUpdate; 12 | } 13 | 14 | internal override IEnumerable GetValues() => ProjectCache.GetCurrent(_forceUpdate); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /Source/Classes/Attribute/QueryTransformToIDAttribute.cs: -------------------------------------------------------------------------------- 1 | using System.Management.Automation; 2 | using System.Text.RegularExpressions; 3 | 4 | namespace vsteam_lib 5 | { 6 | public sealed class QueryTransformToIDAttribute : ArgumentTransformationAttribute 7 | { 8 | public override object Transform(EngineIntrinsics engineIntrinsics, object inputData) 9 | { 10 | // If input data isn't empty and is not a GUID, and it is found as a name in the cache, 11 | // then replace it with the match ID from the cache 12 | var value = inputData?.ToString(); 13 | 14 | if (!string.IsNullOrEmpty(value) && !Regex.Match(value, "[0-9A-Fa-f]{8}-([0-9A-Fa-f]{4}-){3}[0-9A-Fa-f]{12}").Success) 15 | { 16 | value = QueryCache.GetId(value); 17 | } 18 | 19 | return value; 20 | } 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /Source/Classes/Attribute/TimeZonesValidateAttribute.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace vsteam_lib 4 | { 5 | public class TimeZoneValidateAttribute : BaseValidateArgumentsAttribute 6 | { 7 | internal override IEnumerable GetValues() => TimeZones.GetTimeZoneIds(); 8 | } 9 | 10 | } 11 | -------------------------------------------------------------------------------- /Source/Classes/Attribute/WorkItemTypeValidateAttribute.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace vsteam_lib 4 | { 5 | public class WorkItemTypeValidateAttribute : BaseValidateArgumentsAttribute 6 | { 7 | internal override IEnumerable GetValues() => WorkItemTypeCache.GetCurrent(); 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /Source/Classes/Cache/ProcessTemplateCache.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace vsteam_lib 4 | { 5 | /// 6 | /// Cache process template names to reduce the number of 7 | /// rest APIs calls needed for parameter completion / validation 8 | /// 9 | public static class ProcessTemplateCache 10 | { 11 | internal static InternalCache Cache { get; } = new InternalCache("Get-VSTeamProcess", "Name", false); 12 | 13 | internal static bool HasCacheExpired => Cache.HasCacheExpired; 14 | 15 | public static void Invalidate() => Cache.Invalidate(); 16 | 17 | public static void Update(IEnumerable list) => Cache.Update(list); 18 | 19 | public static IEnumerable GetCurrent() => Cache.GetCurrent(); 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /Source/Classes/Cache/WorkItemTypeCache.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace vsteam_lib 4 | { 5 | /// 6 | /// Cache process template names to reduce the number of 7 | /// rest APIs calls needed for parameter completion / validation 8 | /// 9 | public static class WorkItemTypeCache 10 | { 11 | /// 12 | /// This is where all the work is done. Every other call just delegates to this object. 13 | /// 14 | internal static InternalCache Cache { get; } = new InternalCache("Get-VSTeamWorkItemType", "Name", true); 15 | 16 | internal static bool HasCacheExpired => Cache.HasCacheExpired; 17 | 18 | public static void Invalidate() => Cache.Invalidate(); 19 | 20 | public static void Update(IEnumerable list) => Cache.Update(list); 21 | 22 | public static IEnumerable GetCurrent() => Cache.GetCurrent(); 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /Source/Classes/Completer/BuildCompleter.cs: -------------------------------------------------------------------------------- 1 | using System.Diagnostics.CodeAnalysis; 2 | using System.Management.Automation.Abstractions; 3 | 4 | namespace vsteam_lib 5 | { 6 | public class BuildCompleter : BaseProjectCompleter 7 | { 8 | /// 9 | /// This constructor is used when running in a PowerShell session. It cannot be 10 | /// loaded in a unit test. 11 | /// 12 | [ExcludeFromCodeCoverage] 13 | public BuildCompleter() : base("Get-VSTeamBuild", "BuildNumber", true) { } 14 | 15 | /// 16 | /// This constructor is used during unit testings 17 | /// 18 | /// fake instance of IPowerShell used for testing 19 | internal BuildCompleter(IPowerShell powerShell) : base("Get-VSTeamBuild", "BuildNumber", true, powerShell) { } 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /Source/Classes/Completer/BuildDefinitionCompleter.cs: -------------------------------------------------------------------------------- 1 | using System.Diagnostics.CodeAnalysis; 2 | using System.Management.Automation.Abstractions; 3 | 4 | namespace vsteam_lib 5 | { 6 | public class BuildDefinitionCompleter : BaseProjectCompleter 7 | { 8 | /// 9 | /// This constructor is used when running in a PowerShell session. It cannot be 10 | /// loaded in a unit test. 11 | /// 12 | [ExcludeFromCodeCoverage] 13 | public BuildDefinitionCompleter() : base("Get-VSTeamBuildDefinition", "Name", false) { } 14 | 15 | /// 16 | /// This constructor is used during unit testings 17 | /// 18 | /// fake instance of IPowerShell used for testing 19 | internal BuildDefinitionCompleter(IPowerShell powerShell) : base("Get-VSTeamBuildDefinition", "Name", false, powerShell) { } 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /Source/Classes/Completer/QueryCompleter.cs: -------------------------------------------------------------------------------- 1 | using System.Diagnostics.CodeAnalysis; 2 | using System.Management.Automation.Abstractions; 3 | 4 | namespace vsteam_lib 5 | { 6 | public class QueryCompleter : BaseProjectCompleter 7 | { 8 | /// 9 | /// This constructor is used when running in a PowerShell session. It cannot be 10 | /// loaded in a unit test. 11 | /// 12 | [ExcludeFromCodeCoverage] 13 | public QueryCompleter() : base("Get-VSTeamQuery", "Name", false) { } 14 | 15 | /// 16 | /// This constructor is used during unit testings 17 | /// 18 | /// fake instance of IPowerShell used for testing 19 | internal QueryCompleter(IPowerShell powerShell) : base("Get-VSTeamQuery", "Name", false, powerShell) { } 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /Source/Classes/Completer/QueueCompleter.cs: -------------------------------------------------------------------------------- 1 | using System.Diagnostics.CodeAnalysis; 2 | using System.Management.Automation.Abstractions; 3 | 4 | namespace vsteam_lib 5 | { 6 | public class QueueCompleter : BaseProjectCompleter 7 | { 8 | /// 9 | /// This constructor is used when running in a PowerShell session. It cannot be 10 | /// loaded in a unit test. 11 | /// 12 | [ExcludeFromCodeCoverage] 13 | public QueueCompleter() : base("Get-VSTeamQueue", "Name", false) { } 14 | 15 | /// 16 | /// This constructor is used during unit testings 17 | /// 18 | /// fake instance of IPowerShell used for testing 19 | internal QueueCompleter(IPowerShell powerShell) : base("Get-VSTeamQueue", "Name", false, powerShell) { } 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /Source/Classes/Completer/ReleaseDefinitionCompleter.cs: -------------------------------------------------------------------------------- 1 | using System.Diagnostics.CodeAnalysis; 2 | using System.Management.Automation.Abstractions; 3 | 4 | namespace vsteam_lib 5 | { 6 | public class ReleaseDefinitionCompleter : BaseProjectCompleter 7 | { 8 | /// 9 | /// This constructor is used when running in a PowerShell session. It cannot be 10 | /// loaded in a unit test. 11 | /// 12 | [ExcludeFromCodeCoverage] 13 | public ReleaseDefinitionCompleter() : base("Get-VSTeamReleaseDefinition", "Name", false) { } 14 | 15 | /// 16 | /// This constructor is used during unit testings 17 | /// 18 | /// fake instance of IPowerShell used for testing 19 | internal ReleaseDefinitionCompleter(IPowerShell powerShell) : base("Get-VSTeamReleaseDefinition", "Name", false, powerShell) { } 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /Source/Classes/Completer/WorkItemTypeCompleter.cs: -------------------------------------------------------------------------------- 1 | using System.Diagnostics.CodeAnalysis; 2 | using System.Management.Automation.Abstractions; 3 | 4 | namespace vsteam_lib 5 | { 6 | public class WorkItemTypeCompleter : BaseProjectCompleter 7 | { 8 | /// 9 | /// This constructor is used when running in a PowerShell session. It cannot be 10 | /// loaded in a unit test. 11 | /// 12 | [ExcludeFromCodeCoverage] 13 | public WorkItemTypeCompleter() : base("Get-VSTeamWorkItemType", "Name", false) { } 14 | 15 | /// 16 | /// This constructor is used during unit testings 17 | /// 18 | /// fake instance of IPowerShell used for testing 19 | internal WorkItemTypeCompleter(IPowerShell powerShell) : base("Get-VSTeamWorkItemType", "Name", false, powerShell) { } 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /Source/Classes/Properties/launchSettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "profiles": { 3 | "vsteam-lib": { 4 | "commandName": "Executable", 5 | "executablePath": "C:\\Program Files\\PowerShell\\7\\pwsh.exe", 6 | "commandLineArgs": "-NoExit -Command \"& { bu 5; .\\Build-Module.ps1 -skipLibBuild -ipmo; ata -profile blackshirt }\"" 7 | } 8 | } 9 | } -------------------------------------------------------------------------------- /Source/Classes/Provider/AccessControlEntry.cs: -------------------------------------------------------------------------------- 1 | using System.Management.Automation; 2 | using vsteam_lib.Provider; 3 | 4 | namespace vsteam_lib 5 | { 6 | public class AccessControlEntry : Leaf 7 | { 8 | public long Deny { get; set; } 9 | public long Allow { get; set; } 10 | public string Descriptor { get; set; } 11 | public PSObject ExtendedInfo { get; set; } 12 | 13 | public AccessControlEntry(PSObject obj) : 14 | base(obj, obj.GetValue("descriptor"), obj.GetValue("descriptor"), null) 15 | { 16 | } 17 | 18 | public override string ToString() => $"{this.Descriptor}: Allow={this.Allow}, Deny={this.Deny}"; 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /Source/Classes/Provider/AccessControlList.cs: -------------------------------------------------------------------------------- 1 | using System.Collections; 2 | using System.Management.Automation; 3 | using vsteam_lib.Provider; 4 | 5 | namespace vsteam_lib 6 | { 7 | public class AccessControlList : Leaf 8 | { 9 | public string Token { get; set; } 10 | public bool InheritPermissions { get; set; } 11 | public Hashtable Aces { get; } 12 | 13 | public AccessControlList(PSObject obj) : 14 | base(obj, obj.GetValue("token"), obj.GetValue("token"), null) 15 | { 16 | this.Aces = new Hashtable(); 17 | 18 | var props = ((PSObject)obj.Members["acesDictionary"].Value).Properties; 19 | 20 | foreach (var prop in props) 21 | { 22 | var entry = new AccessControlEntry((PSObject)prop.Value); 23 | this.Aces.Add(entry.Descriptor, entry); 24 | } 25 | } 26 | 27 | public override string ToString() => this.Token; 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /Source/Classes/Provider/Action.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Management.Automation; 3 | using vsteam_lib.Provider; 4 | 5 | namespace vsteam_lib 6 | { 7 | public class Action : Leaf 8 | { 9 | public long Bit { get; set; } 10 | public Guid NamespaceId { get; set; } 11 | public string DisplayName { get; set; } 12 | 13 | public Action(PSObject obj) : 14 | base(obj, obj.GetValue("name"), obj.GetValue("bit").ToString(), null) 15 | { 16 | } 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /Source/Classes/Provider/AgentPoolMaintenanceDays.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace vsteam_lib 4 | { 5 | [Flags] 6 | public enum AgentPoolMaintenanceDays 7 | { 8 | Monday = 1, 9 | Tuesday = 2, 10 | Wednesday = 4, 11 | Thursday = 8, 12 | Friday = 16, 13 | Saturday = 32, 14 | Sunday = 64 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /Source/Classes/Provider/BuildDefinitionProcessPhaseStep.cs: -------------------------------------------------------------------------------- 1 | using System.Management.Automation; 2 | using vsteam_lib.Provider; 3 | 4 | namespace vsteam_lib 5 | { 6 | public class BuildDefinitionProcessPhaseStep : Leaf 7 | { 8 | public bool Enabled { get; set; } 9 | public bool ContinueOnError { get; set; } 10 | public bool AlwaysRun { get; set; } 11 | public long TimeoutInMinutes { get; set; } 12 | public object Inputs { get; set; } 13 | public object Task { get; set; } 14 | public string Condition { get; set; } 15 | 16 | public BuildDefinitionProcessPhaseStep(PSObject obj, int stepNumber, string projectName) : 17 | base(obj, obj.GetValue("displayName"), stepNumber.ToString(), projectName) 18 | { 19 | } 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /Source/Classes/Provider/BuildPermissions.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace vsteam_lib 4 | { 5 | [Flags] 6 | public enum BuildPermissions 7 | { 8 | ViewBuilds = 1, 9 | EditBuildQuality = 2, 10 | RetainIndefinitely = 4, 11 | DeleteBuilds = 8, 12 | ManageBuildQualities = 16, 13 | DestroyBuilds = 32, 14 | UpdateBuildInformation = 64, 15 | QueueBuilds = 128, 16 | ManageBuildQueue = 256, 17 | StopBuilds = 512, 18 | ViewBuildDefinition = 1024, 19 | EditBuildDefinition = 2048, 20 | DeleteBuildDefinition = 4096, 21 | OverrideBuildCheckInValidation = 8192, 22 | AdministerBuildPermissions = 16384 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /Source/Classes/Provider/ClassificationNodeAttributes.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Management.Automation; 4 | using System.Xml.Serialization; 5 | using vsteam_lib.Provider; 6 | 7 | namespace vsteam_lib 8 | { 9 | public class ClassificationNodeAttributes: IInternalObject 10 | { 11 | [XmlAttribute("attributes.startDate")] 12 | public Nullable StartDate { get; set; } 13 | 14 | [XmlAttribute("attributes.finishDate")] 15 | public Nullable FinishDate { get; set; } 16 | 17 | public PSObject InternalObject { get; set; } 18 | 19 | public ClassificationNodeAttributes(PSObject obj) 20 | { 21 | this.InternalObject = obj; 22 | 23 | Common.MoveProperties(this, obj); 24 | } 25 | 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /Source/Classes/Provider/Descriptor.cs: -------------------------------------------------------------------------------- 1 | using System.Management.Automation; 2 | using vsteam_lib.Provider; 3 | 4 | namespace vsteam_lib 5 | { 6 | public class Descriptor : Leaf 7 | { 8 | public Link Links { get; } 9 | 10 | public Descriptor(PSObject obj) : 11 | base(obj, obj.GetValue("value"), obj.GetValue("value"), null) 12 | { 13 | if (obj.HasValue("_links")) 14 | { 15 | this.Links = new Link(obj); 16 | } 17 | } 18 | 19 | public override string ToString() => base.Name; 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /Source/Classes/Provider/Extension.cs: -------------------------------------------------------------------------------- 1 | using System.Management.Automation; 2 | using vsteam_lib.Provider; 3 | 4 | namespace vsteam_lib 5 | { 6 | public class Extension : Leaf 7 | { 8 | public string Version { get; set; } 9 | public string ExtensionId { get; set; } 10 | public string PublisherId { get; set; } 11 | public string PublisherName { get; set; } 12 | public InstallState InstallState { get; } 13 | 14 | public Extension(PSObject obj) : 15 | base(obj, obj.GetValue("extensionName"), obj.GetValue("extensionId"), null) 16 | { 17 | this.InstallState = new InstallState(obj.GetValue("installState")); 18 | } 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /Source/Classes/Provider/Feed.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using System.Management.Automation; 3 | using vsteam_lib.Provider; 4 | 5 | namespace vsteam_lib 6 | { 7 | public class Feed : Leaf 8 | { 9 | public string Url { get; set; } 10 | public string FeedId => this.Id; 11 | public string Description { get; set; } 12 | public bool? UpstreamEnabled { get; set; } 13 | public IList UpstreamSources { get; } 14 | 15 | public Feed(PSObject obj) : 16 | base(obj, obj.GetValue("name"), obj.GetValue("id"), null) 17 | { 18 | var sources = new List(); 19 | foreach (PSObject item in ((object[])obj.Properties["upstreamSources"].Value)) 20 | { 21 | sources.Add(new UpstreamSource(item)); 22 | } 23 | 24 | this.UpstreamSources = sources; 25 | } 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /Source/Classes/Provider/GitRef.cs: -------------------------------------------------------------------------------- 1 | using System.Management.Automation; 2 | using System.Xml.Serialization; 3 | using vsteam_lib.Provider; 4 | 5 | namespace vsteam_lib 6 | { 7 | public class GitRef : Leaf 8 | { 9 | /// The name passed to the base class is changed. For example if you pass 10 | /// refs/heads/appcenter as the name it is converted into refs-heads-appcenter. 11 | /// So I store it twice so I have the original value as well. 12 | [XmlAttribute("name")] 13 | public string RefName { get; set; } 14 | public User Creator { get; } 15 | 16 | public GitRef(PSObject obj, string projectName) : 17 | base(obj, obj.GetValue("name"), obj.GetValue("objectId"), projectName) 18 | { 19 | this.Creator = new User(obj.GetValue("creator")); 20 | } 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /Source/Classes/Provider/GitRepositoryPermissions.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace vsteam_lib 4 | { 5 | [Flags] 6 | public enum GitRepositoryPermissions 7 | { 8 | Administer = 1, 9 | GenericRead = 2, 10 | GenericContribute = 4, 11 | ForcePush = 8, 12 | CreateBranch = 16, 13 | CreateTag = 32, 14 | ManageNote = 64, 15 | PolicyExempt = 128, 16 | CreateRepository = 256, 17 | DeleteRepository = 512, 18 | RenameRepository = 1024, 19 | EditPolicies = 2048, 20 | RemoveOthersLocks = 4096, 21 | ManagePermissions = 8192, 22 | PullRequestContribute = 16384, 23 | PullRequestBypassPolicy = 32768 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /Source/Classes/Provider/GitUserDate.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Management.Automation; 3 | using vsteam_lib.Provider; 4 | 5 | namespace vsteam_lib 6 | { 7 | public class GitUserDate : Leaf 8 | { 9 | public string Email { get; set; } 10 | public DateTime Date { get; set; } 11 | 12 | public GitUserDate(PSObject obj, string projectname) : 13 | base(obj, obj.GetValue("email"), obj.GetValue("email"), projectname) 14 | { 15 | } 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /Source/Classes/Provider/Group.cs: -------------------------------------------------------------------------------- 1 | using System.Management.Automation; 2 | 3 | namespace vsteam_lib 4 | { 5 | public class Group : SecurityLeaf 6 | { 7 | public string Description { get; set; } 8 | 9 | /// 10 | /// Used to pass down pipelines 11 | /// 12 | public string ContainerDescriptor => this.Descriptor; 13 | 14 | public Group(PSObject obj) : 15 | base(obj) 16 | { 17 | this.ProjectName = this.PrincipalName.Split('\\')[0].Replace("[", string.Empty).Replace("]", string.Empty); 18 | } 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /Source/Classes/Provider/IInternalObject.cs: -------------------------------------------------------------------------------- 1 | using System.Management.Automation; 2 | 3 | namespace vsteam_lib.Provider 4 | { 5 | public interface IInternalObject 6 | { 7 | PSObject InternalObject { get; } 8 | } 9 | } -------------------------------------------------------------------------------- /Source/Classes/Provider/IdentityPermissions.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace vsteam_lib 4 | { 5 | [Flags] 6 | public enum IdentityPermissions 7 | { 8 | Read = 1, 9 | Write = 2, 10 | Delete = 4, 11 | ManageMembership = 8, 12 | CreateScope = 16, 13 | RestoreScope = 32 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /Source/Classes/Provider/InstallState.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Management.Automation; 3 | using vsteam_lib.Provider; 4 | 5 | namespace vsteam_lib 6 | { 7 | public class InstallState : IInternalObject 8 | { 9 | public string Flags { get; set; } 10 | public DateTime LastUpdated { get; set; } 11 | public PSObject InternalObject { get; } 12 | 13 | public InstallState(PSObject obj) 14 | { 15 | this.InternalObject = obj; 16 | 17 | Common.MoveProperties(this, obj); 18 | } 19 | 20 | public override string ToString() => $"Flags: {this.Flags}, Last Updated: {this.LastUpdated}"; 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /Source/Classes/Provider/Leaf.cs: -------------------------------------------------------------------------------- 1 | using Microsoft.PowerShell.SHiPS; 2 | using System.Management.Automation; 3 | 4 | namespace vsteam_lib.Provider 5 | { 6 | public class Leaf : SHiPSLeaf, IInternalObject 7 | { 8 | public string Id { get; protected set; } 9 | public string ProjectName { get; protected set; } 10 | public PSObject InternalObject { get; } 11 | 12 | /// 13 | /// I want the mode to resemble that of 14 | /// a normal file system. 15 | /// d - Directory 16 | /// a - Archive 17 | /// r - Read-only 18 | /// h - Hidden 19 | /// s - System 20 | /// l - Reparse point, symlink, etc. 21 | /// 22 | public string DisplayMode { get; } = "------"; 23 | 24 | public Leaf(PSObject obj, string name, string id, string projectName) : base(name) 25 | { 26 | Common.MoveProperties(this, obj); 27 | 28 | this.Id = id; 29 | this.InternalObject = obj; 30 | this.ProjectName = projectName; 31 | } 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /Source/Classes/Provider/PackageVersion.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Management.Automation; 3 | using vsteam_lib.Provider; 4 | 5 | namespace vsteam_lib 6 | { 7 | public class PackageVersion : Leaf 8 | { 9 | public string Url { get; set; } 10 | public bool IsLatest { get; set; } 11 | public bool IsListed { get; set; } 12 | public string Version { get; set; } 13 | public string Author { get; set; } 14 | public string Description { get; set; } 15 | public DateTime PublishDate { get; set; } 16 | 17 | public PackageVersion(PSObject obj) : 18 | base(obj, obj.GetValue("version"), obj.GetValue("id"), null) 19 | { 20 | } 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /Source/Classes/Provider/Permissions.cs: -------------------------------------------------------------------------------- 1 | using System.Management.Automation.Abstractions; 2 | 3 | namespace vsteam_lib.Provider 4 | { 5 | internal class Permissions : Directory 6 | { 7 | public Permissions(string name, IPowerShell powerShell) : 8 | base(name, null, powerShell) 9 | { 10 | } 11 | 12 | protected override object[] GetChildren() 13 | { 14 | return new object[] 15 | { 16 | new Directory("Groups", "Group", this.PowerShell), 17 | new Directory("Users", "User", this.PowerShell), 18 | }; 19 | } 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /Source/Classes/Provider/ProjectPermissions.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace vsteam_lib 4 | { 5 | [Flags] 6 | public enum ProjectPermissions 7 | { 8 | GENERIC_READ = 1, 9 | GENERIC_WRITE = 2, 10 | DELETE = 4, 11 | PUBLISH_TEST_RESULTS = 8, 12 | ADMINISTER_BUILD = 16, 13 | START_BUILD = 32, 14 | EDIT_BUILD_STATUS = 64, 15 | UPDATE_BUILD = 128, 16 | DELETE_TEST_RESULTS = 256, 17 | VIEW_TEST_RESULTS = 512, 18 | MANAGE_TEST_ENVIRONMENTS = 2048, 19 | MANAGE_TEST_CONFIGURATIONS = 4096, 20 | WORK_ITEM_DELETE = 8192, 21 | WORK_ITEM_MOVE = 16384, 22 | WORK_ITEM_PERMANENTLY_DELETE = 32768, 23 | RENAME = 65536, 24 | MANAGE_PROPERTIES = 131072, 25 | MANAGE_SYSTEM_PROPERTIES = 262144, 26 | BYPASS_PROPERTY_CACHE = 524288, 27 | BYPASS_RULES = 1048576, 28 | SUPPRESS_NOTIFICATIONS = 2097152, 29 | UPDATE_VISIBILITY = 4194304, 30 | CHANGE_PROCESS = 8388608, 31 | AGILETOOLS_BACKLOG = 16777216 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /Source/Classes/Provider/Queue.cs: -------------------------------------------------------------------------------- 1 | using System.Diagnostics.CodeAnalysis; 2 | using System.Management.Automation; 3 | using System.Management.Automation.Abstractions; 4 | using System.Xml.Serialization; 5 | using vsteam_lib.Provider; 6 | 7 | namespace vsteam_lib 8 | { 9 | public class Queue : Leaf 10 | { 11 | public AgentPool Pool { get; } 12 | 13 | [XmlAttribute("pool.name")] 14 | public string PoolName { get; set; } 15 | 16 | public Queue(PSObject obj, string projectName, IPowerShell powerShell) : 17 | base(obj, obj.GetValue("name"), obj.GetValue("id"), projectName) 18 | { 19 | this.Pool = new AgentPool(obj.GetValue("pool"), powerShell); 20 | } 21 | 22 | [ExcludeFromCodeCoverage] 23 | public Queue(PSObject obj, string projectName) : 24 | this(obj, projectName, new PowerShellWrapper(RunspaceMode.CurrentRunspace)) 25 | { 26 | } 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /Source/Classes/Provider/SecurityLeaf.cs: -------------------------------------------------------------------------------- 1 | using System.Management.Automation; 2 | using vsteam_lib.Provider; 3 | 4 | namespace vsteam_lib 5 | { 6 | public abstract class SecurityLeaf : Leaf 7 | { 8 | public Link Links { get; } 9 | public string Url { get; set; } 10 | public string Domain { get; set; } 11 | public string Origin { get; set; } 12 | public string OriginId { get; set; } 13 | public string Descriptor { get; set; } 14 | public string SubjectKind { get; set; } 15 | public string DisplayName { get; set; } 16 | public string MailAddress { get; set; } 17 | public string PrincipalName { get; set; } 18 | 19 | protected SecurityLeaf(PSObject obj) : base(obj, obj.GetValue("displayName"), obj.GetValue("descriptor"), null) 20 | { 21 | if (obj.HasValue("_links")) 22 | { 23 | this.Links = new Link(obj); 24 | } 25 | } 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /Source/Classes/Provider/Task.cs: -------------------------------------------------------------------------------- 1 | using System.Management.Automation; 2 | using vsteam_lib.Provider; 3 | 4 | namespace vsteam_lib 5 | { 6 | public class Task : Leaf 7 | { 8 | public string LogUrl { get; set; } 9 | public string Status { get; set; } 10 | public string AgentName { get; set; } 11 | 12 | public Task(PSObject obj, string projectName) : 13 | base(obj, obj.GetValue("name"), obj.GetValue("id"), projectName) 14 | { 15 | } 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /Source/Classes/Provider/Team.cs: -------------------------------------------------------------------------------- 1 | using System.Management.Automation; 2 | using vsteam_lib.Provider; 3 | 4 | namespace vsteam_lib 5 | { 6 | public class Team : Leaf 7 | { 8 | public string Description { get; set; } 9 | 10 | public Team(PSObject obj, string projectName) : 11 | base(obj, obj.GetValue("name"), obj.GetValue("id"), projectName) 12 | { 13 | } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /Source/Classes/Provider/UpstreamSource.cs: -------------------------------------------------------------------------------- 1 | using System.Management.Automation; 2 | using vsteam_lib.Provider; 3 | 4 | namespace vsteam_lib 5 | { 6 | public class UpstreamSource : IInternalObject 7 | { 8 | public string ID { get; set; } 9 | public string Name { get; set; } 10 | public string Status { get; set; } 11 | public string Protocol { get; set; } 12 | public string Location { get; set; } 13 | public string DisplayLocation { get; set; } 14 | public string UpstreamSourceType { get; set; } 15 | public PSObject InternalObject { get; } 16 | 17 | public UpstreamSource(PSObject obj) 18 | { 19 | this.InternalObject = obj; 20 | 21 | Common.MoveProperties(this, obj); 22 | } 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /Source/Classes/Provider/WorkItemAreaPermissions.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace vsteam_lib 4 | { 5 | [Flags] 6 | public enum WorkItemAreaPermissions 7 | { 8 | GENERIC_READ = 1, 9 | GENERIC_WRITE = 2, 10 | CREATE_CHILDREN = 4, 11 | DELETE = 8, 12 | WORK_ITEM_READ = 16, 13 | WORK_ITEM_WRITE = 32, 14 | MANAGE_TEST_PLANS = 64, 15 | MANAGE_TEST_SUITES = 128 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /Source/Classes/Provider/WorkItemIterationPermissions.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace vsteam_lib 4 | { 5 | [Flags] 6 | public enum WorkItemIterationPermissions 7 | { 8 | GENERIC_READ = 1, 9 | GENERIC_WRITE = 2, 10 | CREATE_CHILDREN = 4, 11 | DELETE = 8 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /Source/Private/callMembershipAPI.ps1: -------------------------------------------------------------------------------- 1 | 2 | function _callMembershipAPI { 3 | [CmdletBinding()] 4 | param( 5 | [Parameter(Mandatory = $true)] 6 | [string] $Id, 7 | 8 | [ValidateSet('GET', 'POST', 'PATCH', 'DELETE', 'OPTIONS', 'PUT', 'DEFAULT', 'HEAD', 'MERGE', 'TRACE')] 9 | [string] $Method = 'GET', 10 | 11 | [ValidateSet('', 'Up', 'Down')] 12 | [string] $Direction 13 | ) 14 | # This will throw if this account does not support the graph API 15 | _supportsGraph 16 | 17 | Write-Verbose "Getting members for $Id" 18 | 19 | $query = @{} 20 | 21 | if ($Direction) { 22 | $query['direction'] = $Direction 23 | } 24 | 25 | # Call the REST API 26 | $resp = _callAPI -Method $Method -SubDomain vssps ` 27 | -Area 'graph' ` 28 | -Resource 'memberships' ` 29 | -Id $Id ` 30 | -QueryString $query ` 31 | -Version $(_getApiVersion Graph) 32 | 33 | return $resp.value 34 | } -------------------------------------------------------------------------------- /Source/Public/Add-VSTeamBanner.ps1: -------------------------------------------------------------------------------- 1 | function Add-VSTeamBanner { 2 | [CmdletBinding()] 3 | param( 4 | [Parameter(Mandatory = $true)] 5 | [string]$Message, 6 | 7 | [Parameter(Mandatory = $true)] 8 | [ValidateSet('info', 'warning', 'error')] 9 | [string]$Level, 10 | 11 | [Parameter(Mandatory = $true)] 12 | [DateTime]$ExpirationDate, 13 | 14 | [string]$Id = (New-Guid).ToString() 15 | ) 16 | process { 17 | $bannerBody = @{ 18 | "GlobalMessageBanners/$Id" = @{ 19 | 'level' = $Level 20 | 'message' = $Message 21 | 'expirationDate' = $ExpirationDate.ToString("yyyy-MM-ddTHH:mm:ss") 22 | } 23 | } | ConvertTo-Json -Depth 3 24 | 25 | Invoke-VSTeamRequest -method PATCH -area 'settings' -resource 'entries/host' -version '3.2-preview' -body $bannerBody 26 | } 27 | } -------------------------------------------------------------------------------- /Source/Public/Add-VSTeamMembership.ps1: -------------------------------------------------------------------------------- 1 | # Adds a membership to a container. 2 | # 3 | # Get-VSTeamOption 'graph' 'memberships' -subDomain 'vssps' 4 | # id : 3fd2e6ca-fb30-443a-b579-95b19ed0934c 5 | # area : Graph 6 | # resourceName : Memberships 7 | # routeTemplate : _apis/{area}/{resource}/{subjectDescriptor}/{containerDescriptor} 8 | # http://bit.ly/Add-VSTeamMembership 9 | 10 | function Add-VSTeamMembership { 11 | [CmdletBinding(HelpUri='https://methodsandpractices.github.io/vsteam-docs/docs/modules/vsteam/commands/Add-VSTeamMembership')] 12 | param( 13 | [Parameter(Mandatory = $true)] 14 | [string] $MemberDescriptor, 15 | 16 | [Parameter(Mandatory = $true)] 17 | [string] $ContainerDescriptor 18 | ) 19 | 20 | process { 21 | return _callMembershipAPI -Method PUT ` 22 | -Id "$MemberDescriptor/$ContainerDescriptor" 23 | } 24 | } -------------------------------------------------------------------------------- /Source/Public/Clear-VSTeamDefaultProjectCount.ps1: -------------------------------------------------------------------------------- 1 | function Clear-VSTeamDefaultProjectCount { 2 | [Diagnostics.CodeAnalysis.SuppressMessageAttribute("PSUseDeclaredVarsMoreThanAssignments", "")] 3 | [CmdletBinding()] 4 | param() 5 | 6 | DynamicParam { 7 | _buildLevelDynamicParam 8 | } 9 | 10 | begin { 11 | if (_isOnWindows) { 12 | # Bind the parameter to a friendly variable 13 | $Level = $PSBoundParameters['Level'] 14 | } 15 | } 16 | 17 | process { 18 | if (_isOnWindows) { 19 | if (-not $Level) { 20 | $Level = "Process" 21 | } 22 | } 23 | else { 24 | $Level = "Process" 25 | } 26 | 27 | # You always have to set at the process level or they will Not 28 | # be seen in your current session. 29 | $env:TEAM_PROJECTCOUNT = $null 30 | 31 | if (_isOnWindows) { 32 | [System.Environment]::SetEnvironmentVariable("TEAM_PROJECTCOUNT", $null, $Level) 33 | } 34 | 35 | Write-Output "Default project count cleared" 36 | } 37 | } -------------------------------------------------------------------------------- /Source/Public/Enable-VSTeamAgent.ps1: -------------------------------------------------------------------------------- 1 | function Enable-VSTeamAgent { 2 | [CmdletBinding(HelpUri='https://methodsandpractices.github.io/vsteam-docs/docs/modules/vsteam/commands/Enable-VSTeamAgent')] 3 | param( 4 | [Parameter(Mandatory = $true, ValueFromPipeline = $true, Position = 0)] 5 | [int] $PoolId, 6 | 7 | [parameter(Mandatory = $true, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Position = 1)] 8 | [Alias('AgentID')] 9 | [int[]] $Id 10 | ) 11 | 12 | process { 13 | foreach ($item in $Id) { 14 | try { 15 | _callAPI -Method PATCH -NoProject ` 16 | -Area "distributedtask/pools/$PoolId" ` 17 | -Resource agents ` 18 | -Id $item ` 19 | -Body "{'enabled':true,'id':$item,'maxParallelism':1}" ` 20 | -Version $(_getApiVersion DistributedTask) | Out-Null 21 | 22 | Write-Output "Enabled agent $item" 23 | } 24 | catch { 25 | _handleException $_ 26 | } 27 | } 28 | } 29 | } -------------------------------------------------------------------------------- /Source/Public/Get-VSTeamAccountBilling.ps1: -------------------------------------------------------------------------------- 1 | function Get-VSTeamAccountBilling { 2 | [CmdletBinding( 3 | HelpUri = 'https://methodsandpractices.github.io/vsteam-docs/docs/modules/vsteam/commands/Get-VSTeamAccountBilling')] 4 | param() 5 | 6 | process { 7 | # This will throw if this account does not support the Billing API 8 | _supportsBilling 9 | 10 | $userProfileId = (Get-VSTeamUserProfile -MyProfile).id 11 | $currentAccount = (Get-VSTeamAccounts -MemberId $userProfileId) | Where-Object { (_getInstance).EndsWith($_.accountName) } 12 | 13 | try { 14 | # need to use the url, since this specific api needs to have 15 | # the account GUID instead of the clear name in the url 16 | # _callAPI does not support this, hence full URL is used 17 | _callAPI ` 18 | -Url "https://azdevopscommerce.dev.azure.com/$($currentAccount.accountId)/_apis/AzComm/BillingSetup?api-version=$(_getApiVersion Billing)" 19 | } 20 | catch { 21 | _handleException $_ 22 | } 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /Source/Public/Get-VSTeamAgentPoolMaintenance.ps1: -------------------------------------------------------------------------------- 1 | function Get-VSTeamAgentPoolMaintenance { 2 | [CmdletBinding( 3 | HelpUri = 'https://methodsandpractices.github.io/vsteam-docs/docs/modules/vsteam/commands/Get-VSTeamAgentPoolMaintenance')] 4 | param( 5 | [Parameter(Mandatory = $true, ValueFromPipelineByPropertyName = $true, Position = 1)] 6 | [Alias('PoolID')] 7 | [int] $Id 8 | ) 9 | 10 | process { 11 | 12 | $resp = _callAPI -Method Get -NoProject -Area distributedtask -Resource pools -Id "$Id/maintenancedefinitions" -Version $(_getApiVersion DistributedTask) 13 | 14 | if ($resp -and $resp.count -gt 0) { 15 | foreach ($schedule in $resp.value) { 16 | _applyTypesToAgentPoolMaintenance -item $schedule 17 | } 18 | } 19 | 20 | Write-Output $resp.value 21 | } 22 | } -------------------------------------------------------------------------------- /Source/Public/Get-VSTeamBanner.ps1: -------------------------------------------------------------------------------- 1 | function Get-VSTeamBanner { 2 | [CmdletBinding()] 3 | param( 4 | [Parameter(Mandatory = $false)] 5 | [string]$Id 6 | ) 7 | process { 8 | $allBanners = (Invoke-VSTeamRequest -method GET -area 'settings' -resource 'entries/host/GlobalMessageBanners' -version '3.2-preview').value 9 | 10 | if (-not [string]::IsNullOrEmpty($Id)) { 11 | $filteredBanner = $allBanners."$Id" 12 | 13 | if ($null -eq $filteredBanner) { 14 | throw "No banner found with ID $Id" 15 | } 16 | 17 | return $filteredBanner 18 | } 19 | 20 | return $allBanners 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /Source/Public/Get-VSTeamBuildArtifact.ps1: -------------------------------------------------------------------------------- 1 | function Get-VSTeamBuildArtifact { 2 | [CmdletBinding(HelpUri='https://methodsandpractices.github.io/vsteam-docs/docs/modules/vsteam/commands/Get-VSTeamBuildArtifact')] 3 | param( 4 | [parameter(Mandatory = $true, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true)] 5 | [Alias('BuildID')] 6 | [int] $Id, 7 | 8 | [Parameter(Mandatory = $true, ValueFromPipelineByPropertyName = $true)] 9 | [vsteam_lib.ProjectValidateAttribute($false)] 10 | [ArgumentCompleter([vsteam_lib.ProjectCompleter])] 11 | [string] $ProjectName 12 | ) 13 | process { 14 | $resp = _callAPI -ProjectName $projectName ` 15 | -Area build ` 16 | -Resource builds ` 17 | -Id "$Id/artifacts" ` 18 | -Version $(_getApiVersion Build) 19 | 20 | foreach ($item in $resp.value) { 21 | _applyArtifactTypes -item $item 22 | } 23 | 24 | Write-Output $resp.value 25 | } 26 | } -------------------------------------------------------------------------------- /Source/Public/Get-VSTeamBuildTag.ps1: -------------------------------------------------------------------------------- 1 | function Get-VSTeamBuildTag { 2 | [CmdletBinding(HelpUri='https://methodsandpractices.github.io/vsteam-docs/docs/modules/vsteam/commands/Get-VSTeamBuildTag')] 3 | param( 4 | [parameter(Mandatory = $true, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true)] 5 | [Alias('BuildID')] 6 | [int] $Id, 7 | 8 | [Parameter(Mandatory = $true, ValueFromPipelineByPropertyName = $true)] 9 | [vsteam_lib.ProjectValidateAttribute($false)] 10 | [ArgumentCompleter([vsteam_lib.ProjectCompleter])] 11 | [string] $ProjectName 12 | ) 13 | process { 14 | # Call the REST API 15 | $resp = _callAPI -ProjectName $projectName ` 16 | -Area build ` 17 | -Resource builds ` 18 | -ID "$Id/tags" ` 19 | -Version $(_getApiVersion Build) 20 | 21 | return $resp.value 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /Source/Public/Get-VSTeamCloudSubscription.ps1: -------------------------------------------------------------------------------- 1 | function Get-VSTeamCloudSubscription { 2 | [CmdletBinding(HelpUri='https://methodsandpractices.github.io/vsteam-docs/docs/modules/vsteam/commands/Get-VSTeamCloudSubscription')] 3 | param() 4 | 5 | # Call the REST API 6 | $resp = _callAPI -NoProject ` 7 | -Area distributedtask ` 8 | -Resource 'serviceendpointproxy/azurermsubscriptions' ` 9 | -Version $(_getApiVersion DistributedTask) 10 | 11 | # Apply a Type Name so we can use custom format view and custom type extensions 12 | foreach ($item in $resp.value) { 13 | _applyTypesToAzureSubscription -item $item 14 | } 15 | 16 | Write-Output $resp.value 17 | } 18 | -------------------------------------------------------------------------------- /Source/Public/Get-VSTeamDescriptor.ps1: -------------------------------------------------------------------------------- 1 | function Get-VSTeamDescriptor { 2 | [CmdletBinding(DefaultParameterSetName = 'ByStorageKey', 3 | HelpUri='https://methodsandpractices.github.io/vsteam-docs/docs/modules/vsteam/commands/Get-VSTeamDescriptor')] 4 | param( 5 | [Parameter(ParameterSetName = 'ByStorageKey', Mandatory = $true, Position = 0)] 6 | [string] $StorageKey 7 | ) 8 | 9 | process { 10 | # This will throw if this account does not support the graph API 11 | _supportsGraph 12 | 13 | # Call the REST API 14 | $resp = _callAPI -SubDomain vssps -NoProject ` 15 | -Area graph ` 16 | -Resource descriptors ` 17 | -id $StorageKey ` 18 | -Version $(_getApiVersion Graph) 19 | 20 | # Storing the object before you return it cleaned up the pipeline. 21 | # When I just write the object from the constructor each property 22 | # seemed to be written 23 | $descriptor = [vsteam_lib.Descriptor]::new($resp) 24 | 25 | Write-Output $descriptor 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /Source/Public/Get-VSTeamInfo.ps1: -------------------------------------------------------------------------------- 1 | function Get-VSTeamInfo { 2 | [CmdletBinding(HelpUri='https://methodsandpractices.github.io/vsteam-docs/docs/modules/vsteam/commands/Get-VSTeamInfo')] 3 | param () 4 | return @{ 5 | Account = _getInstance 6 | Version = $(_getApiVersion -Target) 7 | ModuleVersion = [vsteam_lib.Versions]::ModuleVersion 8 | DefaultProject = $Global:PSDefaultParameterValues['*-vsteam*:projectName'] 9 | DefaultTimeout = $Global:PSDefaultParameterValues['*-vsteam*:vsteamApiTimeout'] 10 | DefaultProjectCount = $env:TEAM_PROJECTCOUNT 11 | } 12 | } -------------------------------------------------------------------------------- /Source/Public/Get-VSTeamMembership.ps1: -------------------------------------------------------------------------------- 1 | function Get-VSTeamMembership { 2 | [CmdletBinding(HelpUri='https://methodsandpractices.github.io/vsteam-docs/docs/modules/vsteam/commands/Get-VSTeamMembership')] 3 | param( 4 | [Parameter(Mandatory = $true, ValueFromPipeline, ValueFromPipelineByPropertyName, ParameterSetName = "ByContainerId")] 5 | [string] $ContainerDescriptor, 6 | 7 | [Parameter(Mandatory = $true, ValueFromPipeline, ValueFromPipelineByPropertyName, ParameterSetName = "ByMemberId")] 8 | [string] $MemberDescriptor 9 | ) 10 | 11 | process { 12 | if ($MemberDescriptor) { 13 | Write-Verbose 'Up with MemberDescriptor' 14 | 15 | Write-Output $(_callMembershipAPI -Id $MemberDescriptor -Direction Up) 16 | } 17 | else { 18 | Write-Verbose 'Down with ContainerDescriptor' 19 | 20 | Write-Output $(_callMembershipAPI -Id $ContainerDescriptor -Direction Down) 21 | } 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /Source/Public/Get-VSTeamResourceArea.ps1: -------------------------------------------------------------------------------- 1 | function Get-VSTeamResourceArea { 2 | [CmdletBinding(HelpUri='https://methodsandpractices.github.io/vsteam-docs/docs/modules/vsteam/commands/Get-VSTeamResourceArea')] 3 | param() 4 | 5 | # Call the REST API 6 | $resp = _callAPI -Resource 'resourceareas' 7 | 8 | # Apply a Type Name so we can use custom format view and custom type extensions 9 | foreach ($item in $resp.value) { 10 | _applyTypes -item $item -type 'vsteam_lib.ResourceArea' 11 | } 12 | 13 | Write-Output $resp.value 14 | } -------------------------------------------------------------------------------- /Source/Public/Get-VSTeamUserProfile.ps1: -------------------------------------------------------------------------------- 1 | function Get-VSTeamUserProfile { 2 | [CmdletBinding(HelpUri = 'https://methodsandpractices.github.io/vsteam-docs/docs/modules/vsteam/commands/Get-VSTeamUserProfile')] 3 | param( 4 | [Parameter(Mandatory = $true, ParameterSetName = "Id")] 5 | [string] $Id, 6 | 7 | [Parameter(Mandatory = $true, ParameterSetName = "Me")] 8 | [switch] $MyProfile 9 | ) 10 | 11 | process { 12 | try { 13 | if ($MyProfile) { 14 | $Id = 'me' 15 | } 16 | 17 | # Call the REST API 18 | $resp = _callAPI ` 19 | -NoProject ` 20 | -Method GET ` 21 | -subDomain 'vssps' ` 22 | -area 'profile' ` 23 | -resource 'profiles' ` 24 | -id $Id ` 25 | -version $(_getApiVersion Core) 26 | 27 | Write-Output $resp 28 | } 29 | catch { 30 | _handleException $_ 31 | } 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /Source/Public/Remove-VSTeamBanner.ps1: -------------------------------------------------------------------------------- 1 | function Remove-VSTeamBanner { 2 | [CmdletBinding(SupportsShouldProcess=$true)] 3 | param( 4 | [Parameter(Mandatory = $true)] 5 | [string]$Id 6 | ) 7 | process { 8 | if ($PSCmdlet.ShouldProcess("Removing banner with ID $Id")) { 9 | Invoke-VSTeamRequest -method DELETE -area 'settings' -resource "entries/host/GlobalMessageBanners/$Id" -version '3.2-preview' 10 | } 11 | } 12 | } -------------------------------------------------------------------------------- /Source/Public/Remove-VSTeamExtension.ps1: -------------------------------------------------------------------------------- 1 | function Remove-VSTeamExtension { 2 | [CmdletBinding(SupportsShouldProcess = $true, ConfirmImpact = "High", 3 | HelpUri='https://methodsandpractices.github.io/vsteam-docs/docs/modules/vsteam/commands/Remove-VSTeamExtension')] 4 | param ( 5 | [parameter(Mandatory = $true)] 6 | [string] $PublisherId, 7 | 8 | [parameter(Mandatory = $true)] 9 | [string] $ExtensionId, 10 | 11 | [switch] $Force 12 | ) 13 | 14 | if ($Force -or $pscmdlet.ShouldProcess($ExtensionId, "Remove extension")) { 15 | $id = "$PublisherId/$ExtensionId" 16 | 17 | $resp = _callAPI -Method DELETE -NoProject -SubDomain extmgmt ` 18 | -Area extensionmanagement ` 19 | -Resource installedextensionsbyname ` 20 | -Id $id ` 21 | -Version $(_getApiVersion ExtensionsManagement) 22 | 23 | Write-Output $resp 24 | } 25 | } -------------------------------------------------------------------------------- /Source/Public/Remove-VSTeamGitRepository.ps1: -------------------------------------------------------------------------------- 1 | function Remove-VSTeamGitRepository { 2 | [CmdletBinding(SupportsShouldProcess = $true, ConfirmImpact = "High", 3 | HelpUri='https://methodsandpractices.github.io/vsteam-docs/docs/modules/vsteam/commands/Remove-VSTeamGitRepository')] 4 | param( 5 | [parameter(Mandatory = $true, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true)] 6 | [guid[]] $Id, 7 | [switch] $Force 8 | ) 9 | 10 | Process { 11 | foreach ($item in $id) { 12 | if ($Force -or $pscmdlet.ShouldProcess($item, "Delete Repository")) { 13 | try { 14 | _callAPI -Method DELETE -Id $item -Area git -Resource repositories -Version $(_getApiVersion Git) | Out-Null 15 | 16 | Write-Output "Deleted repository $item" 17 | } 18 | catch { 19 | _handleException $_ 20 | } 21 | } 22 | } 23 | } 24 | } -------------------------------------------------------------------------------- /Source/Public/Remove-VSTeamIteration.ps1: -------------------------------------------------------------------------------- 1 | function Remove-VSTeamIteration { 2 | [CmdletBinding(SupportsShouldProcess = $true, ConfirmImpact = "High", 3 | HelpUri='https://methodsandpractices.github.io/vsteam-docs/docs/modules/vsteam/commands/Remove-VSTeamIteration')] 4 | param( 5 | [Parameter(Mandatory = $true)] 6 | [int] $ReClassifyId, 7 | 8 | [Parameter(Mandatory = $true)] 9 | [string] $Path, 10 | 11 | [Parameter(Mandatory = $true, ValueFromPipelineByPropertyName = $true)] 12 | [vsteam_lib.ProjectValidateAttribute($false)] 13 | [ArgumentCompleter([vsteam_lib.ProjectCompleter])] 14 | [string] $ProjectName, 15 | 16 | [switch] $Force 17 | ) 18 | 19 | process { 20 | if ($force -or $pscmdlet.ShouldProcess($Path, "Delete iteration")) { 21 | $null = Remove-VSTeamClassificationNode -ProjectName $ProjectName ` 22 | -StructureGroup 'iterations' ` 23 | -Path $Path ` 24 | -ReClassifyId $ReClassifyId ` 25 | -Force 26 | } 27 | } 28 | } -------------------------------------------------------------------------------- /Source/Public/Remove-VSTeamMembership.ps1: -------------------------------------------------------------------------------- 1 | function Remove-VSTeamMembership { 2 | [CmdletBinding(SupportsShouldProcess = $true, ConfirmImpact = "High", 3 | HelpUri='https://methodsandpractices.github.io/vsteam-docs/docs/modules/vsteam/commands/Remove-VSTeamMembership')] 4 | param( 5 | [Parameter(Mandatory = $true)] 6 | [string] $MemberDescriptor, 7 | [Parameter(Mandatory = $true)] 8 | [string] $ContainerDescriptor, 9 | [switch] $Force 10 | ) 11 | 12 | process { 13 | if ($Force -or $PSCmdlet.ShouldProcess("$MemberDescriptor/$ContainerDescriptor", "Delete Membership")) { 14 | return _callMembershipAPI -Id "$MemberDescriptor/$ContainerDescriptor" -Method DELETE 15 | } 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /Source/Public/Remove-VSTeamPool.ps1: -------------------------------------------------------------------------------- 1 | function Remove-VSTeamPool { 2 | [CmdletBinding(SupportsShouldProcess = $true, ConfirmImpact = "Medium", 3 | HelpUri = 'https://methodsandpractices.github.io/vsteam-docs/docs/modules/vsteam/commands/Remove-VSTeamPool')] 4 | [CmdletBinding()] 5 | param( 6 | [Parameter(Mandatory = $true, ValueFromPipelineByPropertyName = $true, Position = 1)] 7 | [Alias('PoolID')] 8 | [int] $Id 9 | ) 10 | 11 | process { 12 | if ($force -or $pscmdlet.ShouldProcess($Id, "Remove Pool")) { 13 | $null = _callAPI -Method Delete -NoProject -Area distributedtask -Resource pools -Id $id -Version $(_getApiVersion DistributedTask) 14 | } 15 | } 16 | } -------------------------------------------------------------------------------- /Source/Public/Show-VSTeam.ps1: -------------------------------------------------------------------------------- 1 | function Show-VSTeam { 2 | [CmdletBinding(HelpUri='https://methodsandpractices.github.io/vsteam-docs/docs/modules/vsteam/commands/Show-VSTeam')] 3 | param () 4 | 5 | process { 6 | _hasAccount 7 | 8 | Show-Browser "$(_getInstance)" 9 | } 10 | } -------------------------------------------------------------------------------- /Source/Public/Show-VSTeamApproval.ps1: -------------------------------------------------------------------------------- 1 | function Show-VSTeamApproval { 2 | [CmdletBinding(HelpUri='https://methodsandpractices.github.io/vsteam-docs/docs/modules/vsteam/commands/Show-VSTeamApproval')] 3 | param( 4 | [Parameter(Mandatory = $true, ValueFromPipelineByPropertyName = $true)] 5 | [Alias('Id')] 6 | [int] $ReleaseDefinitionId, 7 | 8 | [Parameter(Mandatory = $true, ValueFromPipelineByPropertyName = $true)] 9 | [vsteam_lib.ProjectValidateAttribute($false)] 10 | [ArgumentCompleter([vsteam_lib.ProjectCompleter])] 11 | [string] $ProjectName 12 | ) 13 | 14 | process { 15 | Show-Browser "$(_getInstance)/$ProjectName/_release?releaseId=$ReleaseDefinitionId" 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /Source/Public/Show-VSTeamBuild.ps1: -------------------------------------------------------------------------------- 1 | function Show-VSTeamBuild { 2 | [CmdletBinding(HelpUri='https://methodsandpractices.github.io/vsteam-docs/docs/modules/vsteam/commands/Show-VSTeamBuild')] 3 | param ( 4 | [Parameter(Position = 0, ValueFromPipelineByPropertyName = $true)] 5 | [Alias('BuildID')] 6 | [int[]] $Id, 7 | 8 | [Parameter(Mandatory = $true, Position = 1, ValueFromPipelineByPropertyName = $true)] 9 | [vsteam_lib.ProjectValidateAttribute($false)] 10 | [ArgumentCompleter([vsteam_lib.ProjectCompleter])] 11 | [string] $ProjectName 12 | ) 13 | 14 | process { 15 | Show-Browser "$(_getInstance)/$ProjectName/_build/index?buildId=$Id" 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /Source/Public/Show-VSTeamFeed.ps1: -------------------------------------------------------------------------------- 1 | function Show-VSTeamFeed { 2 | [CmdletBinding(HelpUri='https://methodsandpractices.github.io/vsteam-docs/docs/modules/vsteam/commands/Show-VSTeamFeed')] 3 | param( 4 | [Parameter(ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Position = 0)] 5 | [Alias('ID')] 6 | [string] $Name 7 | ) 8 | 9 | process { 10 | _hasAccount 11 | 12 | Show-Browser "$(_getInstance)/_packaging?feed=$Name&_a=feed" 13 | } 14 | } -------------------------------------------------------------------------------- /Source/Public/Show-VSTeamGitRepository.ps1: -------------------------------------------------------------------------------- 1 | function Show-VSTeamGitRepository { 2 | [CmdletBinding(HelpUri='https://methodsandpractices.github.io/vsteam-docs/docs/modules/vsteam/commands/Show-VSTeamGitRepository')] 3 | param ( 4 | [Parameter(ValueFromPipelineByPropertyName = $true)] 5 | [string] $RemoteUrl, 6 | 7 | [Parameter(ValueFromPipelineByPropertyName = $true)] 8 | [vsteam_lib.ProjectValidateAttribute($false)] 9 | [ArgumentCompleter([vsteam_lib.ProjectCompleter])] 10 | [string] $ProjectName 11 | ) 12 | 13 | process { 14 | if ($RemoteUrl) { 15 | Show-Browser $RemoteUrl 16 | } 17 | else { 18 | Show-Browser "$(_getInstance)/_git/$ProjectName" 19 | } 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /Source/Public/Show-VSTeamPackage.ps1: -------------------------------------------------------------------------------- 1 | function Show-VSTeamPackage { 2 | [CmdletBinding(HelpUri='https://methodsandpractices.github.io/vsteam-docs/docs/modules/vsteam/commands/Show-VSTeamPackage')] 3 | param( 4 | [Parameter(Position = 0, Mandatory, ValueFromPipeline)] 5 | [vsteam_lib.Package] $package 6 | ) 7 | 8 | process { 9 | _hasAccount 10 | 11 | Show-Browser "$(_getInstance)/_packaging?_a=package&feedName=$($package.FeedId)&package=$($package.Name)&protocolType=$($package.ProtocolType)&version=$($p.Versions[0].version)" 12 | } 13 | } -------------------------------------------------------------------------------- /Source/Public/Show-VSTeamProject.ps1: -------------------------------------------------------------------------------- 1 | function Show-VSTeamProject { 2 | [CmdletBinding(DefaultParameterSetName = 'ByName', 3 | HelpUri='https://methodsandpractices.github.io/vsteam-docs/docs/modules/vsteam/commands/Show-VSTeamProject')] 4 | param( 5 | [Parameter(ParameterSetName = 'ByID')] 6 | [Alias('ProjectID')] 7 | [string] $Id, 8 | 9 | [Parameter(ParameterSetName = 'ByName', Position = 0, ValueFromPipelineByPropertyName = $true)] 10 | [vsteam_lib.ProjectValidateAttribute($false)] 11 | [ArgumentCompleter([vsteam_lib.ProjectCompleter]) ] 12 | [Alias('ProjectName')] 13 | [string] $Name 14 | ) 15 | 16 | process { 17 | _hasAccount 18 | 19 | # Bind the parameter to a friendly variable 20 | $ProjectName = $PSBoundParameters["Name"] 21 | 22 | if ($id) { 23 | $ProjectName = $id 24 | } 25 | 26 | Show-Browser "$(_getInstance)/$ProjectName" 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /Source/Public/Show-VSTeamPullRequest.ps1: -------------------------------------------------------------------------------- 1 | function Show-VSTeamPullRequest { 2 | [CmdletBinding(HelpUri='https://methodsandpractices.github.io/vsteam-docs/docs/modules/vsteam/commands/Show-VSTeamPullRequest')] 3 | param( 4 | [Parameter(Mandatory = $true, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Position = 0)] 5 | [Alias('PullRequestId')] 6 | [int] $Id 7 | ) 8 | 9 | process { 10 | try { 11 | $pullRequest = Get-VSTeamPullRequest -PullRequestId $Id 12 | 13 | $projectName = [uri]::EscapeDataString($pullRequest.repository.project.name) 14 | $repositoryId = $pullRequest.repositoryName 15 | 16 | Show-Browser "$(_getInstance)/$projectName/_git/$repositoryId/pullrequest/$Id" 17 | } 18 | catch { 19 | _handleException $_ 20 | } 21 | } 22 | } -------------------------------------------------------------------------------- /Source/Public/Show-VSTeamRelease.ps1: -------------------------------------------------------------------------------- 1 | function Show-VSTeamRelease { 2 | [CmdletBinding(DefaultParameterSetName = 'ById', 3 | HelpUri='https://methodsandpractices.github.io/vsteam-docs/docs/modules/vsteam/commands/Show-VSTeamRelease')] 4 | param( 5 | [Parameter(ParameterSetName = 'ByID', ValueFromPipelineByPropertyName = $true, Mandatory = $true, Position = 1)] 6 | [Alias('ReleaseID')] 7 | [int] $id, 8 | 9 | [Parameter(Mandatory = $true, ValueFromPipelineByPropertyName = $true)] 10 | [vsteam_lib.ProjectValidateAttribute($false)] 11 | [ArgumentCompleter([vsteam_lib.ProjectCompleter])] 12 | [string] $ProjectName 13 | ) 14 | 15 | process { 16 | if ($id -lt 1) { 17 | Throw "$id is not a valid id. Value must be greater than 0." 18 | } 19 | 20 | # Build the url 21 | Show-Browser "$(_getInstance)/$ProjectName/_release?releaseId=$id" 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /Source/Public/Show-VSTeamReleaseDefinition.ps1: -------------------------------------------------------------------------------- 1 | function Show-VSTeamReleaseDefinition { 2 | [CmdletBinding(HelpUri='https://methodsandpractices.github.io/vsteam-docs/docs/modules/vsteam/commands/Show-VSTeamReleaseDefinition')] 3 | param( 4 | [Parameter(ParameterSetName = 'ByID', ValueFromPipelineByPropertyName = $true)] 5 | [Alias('ReleaseDefinitionID')] 6 | [int] $Id, 7 | 8 | [Parameter(Mandatory = $true, ValueFromPipelineByPropertyName = $true)] 9 | [vsteam_lib.ProjectValidateAttribute($false)] 10 | [ArgumentCompleter([vsteam_lib.ProjectCompleter])] 11 | [string] $ProjectName 12 | ) 13 | 14 | process { 15 | # Build the url 16 | $url = "$(_getInstance)/$ProjectName/_release" 17 | 18 | if ($id) { 19 | $url += "?definitionId=$id" 20 | } 21 | 22 | Show-Browser $url 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /Source/Public/Show-VSTeamWorkItem.ps1: -------------------------------------------------------------------------------- 1 | function Show-VSTeamWorkItem { 2 | [CmdletBinding(HelpUri='https://methodsandpractices.github.io/vsteam-docs/docs/modules/vsteam/commands/Show-VSTeamWorkItem')] 3 | param( 4 | [Parameter(Mandatory = $true, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Position = 0)] 5 | [Alias('WorkItemID')] 6 | [int] $Id, 7 | 8 | [Parameter(Mandatory = $true, ValueFromPipelineByPropertyName = $true)] 9 | [vsteam_lib.ProjectValidateAttribute($false)] 10 | [ArgumentCompleter([vsteam_lib.ProjectCompleter])] 11 | [string] $ProjectName 12 | ) 13 | 14 | process { 15 | Show-Browser "$(_getInstance)/$ProjectName/_workitems/edit/$Id" 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /Source/formats/readme.md: -------------------------------------------------------------------------------- 1 | # Format 2 | 3 | Make sure the table views are listed before the list views. If not when Get-ChildItem is called the list format will be used instead of the table. You can control the order the files are merged using the formats section of the config.json file in the root folder. 4 | 5 | There are also needs to be a different format for the types returned from the provider which are classes vs the types added to the objects returned by the other functions. 6 | -------------------------------------------------------------------------------- /Source/formats/vsteam_lib.AccessControlList.ListView.ps1xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | vsteam_lib.AccessControlList.ListView 6 | 7 | vsteam_lib.AccessControlList 8 | 9 | 10 | 11 | 12 | 13 | 14 | Token 15 | 16 | 17 | InheritPermissions 18 | 19 | 20 | Aces 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | -------------------------------------------------------------------------------- /Source/formats/vsteam_lib.Build.Artifact.Resource.WideView.ps1xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | vsteam_lib.Build.Artifact.Resource.WideView 6 | 7 | vsteam_lib.Build.Artifact.Resource 8 | 9 | 10 | 11 | 12 | 13 | properties 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /Source/formats/vsteam_lib.Build.Artifact.WideView.ps1xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | vsteam_lib.Build.Artifact.WideView 6 | 7 | vsteam_lib.Build.Artifact 8 | 9 | 10 | 11 | 12 | 13 | downloadUrl 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /Source/formats/vsteam_lib.Build.WideView.ps1xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | vsteam_lib.Build.WideView 6 | 7 | vsteam_lib.Build 8 | 9 | 10 | 11 | 12 | 13 | buildnumber 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /Source/formats/vsteam_lib.BuildDefinition.ListView.ps1xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | vsteam_lib.BuildDefinition.ListView 6 | 7 | vsteam_lib.BuildDefinition 8 | 9 | 10 | 11 | 12 | 13 | 14 | Name 15 | 16 | 17 | AuthoredBy 18 | 19 | 20 | Id 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | -------------------------------------------------------------------------------- /Source/formats/vsteam_lib.BuildDefinitionProcess.ListView.ps1xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | vsteam_lib.BuildDefinitionProcess.ListView 6 | 7 | vsteam_lib.BuildDefinitionProcess 8 | 9 | 10 | 11 | 12 | 13 | 14 | Name 15 | 16 | 17 | Phases 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | -------------------------------------------------------------------------------- /Source/formats/vsteam_lib.BuildDefinitionProcessPhase.ListView.ps1xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | vsteam_lib.BuildDefinitionProcessPhase.ListView 6 | 7 | vsteam_lib.BuildDefinitionProcessPhase 8 | 9 | 10 | 11 | 12 | 13 | 14 | Name 15 | 16 | 17 | Steps 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | -------------------------------------------------------------------------------- /Source/formats/vsteam_lib.Descriptor.ListView.ps1xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | vsteam_lib.Descriptor.ListView 6 | 7 | vsteam_lib.Descriptor 8 | 9 | 10 | 11 | 12 | 13 | 14 | Name 15 | 16 | 17 | Links 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | -------------------------------------------------------------------------------- /Source/formats/vsteam_lib.PSDrive.Default.ListView.ps1xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | vsteam_lib.PSDrive.Default.ListView 6 | 7 | vsteam_lib.AgentPool 8 | vsteam_lib.Queue 9 | vsteam_lib.Builds 10 | vsteam_lib.Releases 11 | vsteam_lib.Repositories 12 | vsteam_lib.Teams 13 | 14 | 15 | 16 | 17 | 18 | 19 | Name 20 | 21 | 22 | projectName 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | -------------------------------------------------------------------------------- /Source/formats/vsteam_lib.Project.ListView.ps1xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | vsteam_lib.Project.ListView 6 | 7 | vsteam_lib.Project 8 | 9 | 10 | 11 | 12 | 13 | 14 | Name 15 | 16 | 17 | Description 18 | 19 | 20 | Id 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | -------------------------------------------------------------------------------- /Source/formats/vsteam_lib.Query.TableView.ps1xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | vsteam_lib.Query.TableView 6 | 7 | vsteam_lib.Query 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | Name 23 | 24 | 25 | hasChildren 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | -------------------------------------------------------------------------------- /Source/formats/vsteam_lib.Queue.TableView.ps1xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | vsteam_lib.Queue.TableView 6 | 7 | vsteam_lib.Queue 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | Name 23 | 24 | 25 | PoolName 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | -------------------------------------------------------------------------------- /Source/formats/vsteam_lib.Repository.ListView.ps1xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | vsteam_lib.Repository.ListView 6 | 7 | vsteam_lib.Provider.GitRepository 8 | vsteam_lib.GitRepository 9 | 10 | 11 | 12 | 13 | 14 | 15 | Name 16 | 17 | 18 | remoteUrl 19 | 20 | 21 | defaultBranch 22 | 23 | 24 | projectName 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | -------------------------------------------------------------------------------- /Source/formats/vsteam_lib.UserEntitlement.WideView.ps1xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | vsteam_lib.UserEntitlement.WideView 6 | 7 | vsteam_lib.UserEntitlement 8 | 9 | 10 | 11 | 12 | 13 | userName 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /Source/formats/vsteam_lib.Wiql.ListView.ps1xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | vsteam_lib.Wiql.ListView 6 | 7 | vsteam_lib.Wiql 8 | 9 | 10 | 11 | 12 | 13 | 14 | queryType 15 | 16 | 17 | workItems 18 | 19 | 20 | WorkItemIDs 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | -------------------------------------------------------------------------------- /Source/formats/vsteam_lib.WorkItem.ListView.ps1xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | vsteam_lib.WorkItem.ListView 6 | 7 | vsteam_lib.WorkItem 8 | 9 | 10 | 11 | 12 | 13 | 14 | title 15 | 16 | 17 | state 18 | 19 | 20 | Id 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | -------------------------------------------------------------------------------- /Source/formats/vsteam_lib.WorkItemType.ListView.ps1xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | vsteam_lib.WorkItemType.ListView 6 | 7 | vsteam_lib.WorkItemType 8 | 9 | 10 | 11 | 12 | 13 | 14 | name 15 | 16 | 17 | description 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /Source/types/vsteam_lib.AccessLevel.ps1xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | vsteam_lib.AccessLevel 5 | 6 | 7 | PSStandardMembers 8 | 9 | 10 | DefaultDisplayPropertySet 11 | 12 | accountLicenseType 13 | assignmentSource 14 | licenseDisplayName 15 | licensingSource 16 | msdnLicenseType 17 | status 18 | statusMessage 19 | 20 | 21 | 22 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /Source/types/vsteam_lib.AzureSubscription.ps1xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | vsteam_lib.AzureSubscription 5 | 6 | 7 | PSStandardMembers 8 | 9 | 10 | DefaultDisplayPropertySet 11 | 12 | displayName 13 | subscriptionId 14 | subscriptionTenantId 15 | 16 | 17 | 18 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /Source/types/vsteam_lib.BuildTimeline.ps1xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | vsteam_lib.BuildTimeline 5 | 6 | 7 | id 8 | $this.id 9 | 10 | 11 | changeId 12 | $this.changeId 13 | 14 | 15 | lastChangedOn 16 | [datetime]::Parse($this.lastChangedOn) 17 | 18 | 19 | lastChangedBy 20 | $this.lastChangedBy 21 | 22 | 23 | numberOfRecords 24 | $this.records.Count 25 | 26 | 27 | 28 | -------------------------------------------------------------------------------- /Source/types/vsteam_lib.Environment.ps1xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | vsteam_lib.Environment 5 | 6 | 7 | PSStandardMembers 8 | 9 | 10 | DefaultDisplayPropertySet 11 | 12 | id 13 | name 14 | status 15 | 16 | 17 | 18 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /Source/types/vsteam_lib.Option.ps1xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | vsteam_lib.Option 5 | 6 | 7 | PSStandardMembers 8 | 9 | 10 | DefaultDisplayPropertySet 11 | 12 | resourceName 13 | minVersion 14 | maxVersion 15 | routeTemplate 16 | 17 | 18 | 19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /Source/types/vsteam_lib.ServiceEndpoint.ps1xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | vsteam_lib.ServiceEndpoint 5 | 6 | 7 | createdByUser 8 | $this.createdBy.displayName 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /Source/types/vsteam_lib.TfvcBranch.ps1xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | vsteam_lib.TfvcBranch 5 | 6 | 7 | PSStandardMembers 8 | 9 | 10 | DefaultDisplayPropertySet 11 | 12 | path 13 | description 14 | 15 | 16 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /Source/types/vsteam_lib.VariableGroup.ps1xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | vsteam_lib.VariableGroup 5 | 6 | 7 | createdByUser 8 | $this.createdBy.displayName 9 | 10 | 11 | modifiedByUser 12 | $this.modifiedBy.displayName 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /Tests/SampleFiles/Get-VSTeam.json: -------------------------------------------------------------------------------- 1 | { 2 | "value": [ 3 | { 4 | "id": "00000000-0000-0000-0000-000000000000", 5 | "name": "Test Team", 6 | "url": "https://dev.azure.com/Test/_apis/projects/00000000-0000-0000-0000-000000000000/teams/00000000-0000-0000-0000-000000000000", 7 | "description": "The default project team.", 8 | "identityUrl": "https://spsprodcus3.vssps.visualstudio.com/00000000-0000-0000-0000-000000000000/_apis/Identities/00000000-0000-0000-0000-000000000000", 9 | "projectName": "Test", 10 | "projectId": "00000000-0000-0000-0000-000000000000" 11 | } 12 | ], 13 | "count": 1 14 | } -------------------------------------------------------------------------------- /Tests/SampleFiles/Get-VSTeamAccountBillingWithSubscription.json: -------------------------------------------------------------------------------- 1 | { 2 | "subscriptionId": "2b53247c-fb65-469e-a711-46e0c29d15a1", 3 | "updatedDateTime": "\/Date(1566463888262)\/", 4 | "updatedBy": "00000047-0000-8888-8000-000000000000", 5 | "allowedBillingOperations": 7, 6 | "isEnterpriseBillingEnabled": false, 7 | "isAssignmentBillingEnabled": true 8 | } -------------------------------------------------------------------------------- /Tests/SampleFiles/Get-VSTeamAccounts.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "accountId": "81d6e09f-266a-4dd2-886c-b3d62341681e", 4 | "accountUri": "https://vssps.dev.azure.com:443/TestOrg01/", 5 | "accountName": "TestOrg01", 6 | "properties": {} 7 | }, 8 | { 9 | "accountId": "c6ab928c-0360-42d1-86b6-e4d7ad3eb3a2", 10 | "accountUri": "https://vssps.dev.azure.com:443/TestOrg02/", 11 | "accountName": "TestOrg02", 12 | "properties": {} 13 | }, 14 | { 15 | "accountId": "43454feb-867f-42b9-ae24-13f7ff638dde", 16 | "accountUri": "https://vssps.dev.azure.com:443/TestOrg03/", 17 | "accountName": "TestOrg03", 18 | "properties": {} 19 | } 20 | ] -------------------------------------------------------------------------------- /Tests/SampleFiles/Get-VSTeamBuildTag-Id568.json: -------------------------------------------------------------------------------- 1 | { 2 | "count": 3, 3 | "value": [ 4 | "Testing", 5 | "Test123", 6 | "Test245" 7 | ] 8 | } -------------------------------------------------------------------------------- /Tests/SampleFiles/Get-VSTeamClassificationNode-Depth0-Ids20.json: -------------------------------------------------------------------------------- 1 | { 2 | "count": 1, 3 | "value": [ 4 | { 5 | "id": 20, 6 | "identifier": "18e7998d-d0c5-4c01-b547-d7d4eb4c97c5", 7 | "name": "Sprint 3", 8 | "structureType": "iteration", 9 | "hasChildren": false, 10 | "path": "\\Demo Public\\Iteration\\Sprint 3", 11 | "_links": { 12 | "self": { 13 | "href": "https://dev.azure.com/vsteampsmoduletest/53e2997d-3723-4c1c-aa62-a0194cb65a29/_apis/wit/classificationNodes/Iterations/Sprint%203" 14 | }, 15 | "parent": { 16 | "href": "https://dev.azure.com/vsteampsmoduletest/53e2997d-3723-4c1c-aa62-a0194cb65a29/_apis/wit/classificationNodes/Iterations" 17 | } 18 | }, 19 | "url": "https://dev.azure.com/vsteampsmoduletest/53e2997d-3723-4c1c-aa62-a0194cb65a29/_apis/wit/classificationNodes/Iterations/Sprint%203" 20 | } 21 | ] 22 | } -------------------------------------------------------------------------------- /Tests/SampleFiles/Get-VSTeamClassificationNode-Depth0-Ids24.json: -------------------------------------------------------------------------------- 1 | { 2 | "count": 1, 3 | "value": [ 4 | { 5 | "id": 24, 6 | "identifier": "b33b12d7-6abb-4b7a-b9d6-2092d0933c99", 7 | "name": "Demo Public", 8 | "structureType": "area", 9 | "hasChildren": true, 10 | "path": "\\Demo Public\\Area", 11 | "_links": { 12 | "self": { 13 | "href": "https://dev.azure.com/vsteampsmoduletest/53e2997d-3723-4c1c-aa62-a0194cb65a29/_apis/wit/classificationNodes/Areas" 14 | } 15 | }, 16 | "url": "https://dev.azure.com/vsteampsmoduletest/53e2997d-3723-4c1c-aa62-a0194cb65a29/_apis/wit/classificationNodes/Areas" 17 | } 18 | ] 19 | } -------------------------------------------------------------------------------- /Tests/SampleFiles/Get-VSTeamClassificationNode-Depth0-Ids43.json: -------------------------------------------------------------------------------- 1 | { 2 | "count": 1, 3 | "value": [ 4 | { 5 | "id": 43, 6 | "identifier": "38de1ce0-0b1b-45f2-b4f9-f32e3a72b78b", 7 | "name": "Child 1 Level 1", 8 | "structureType": "area", 9 | "hasChildren": true, 10 | "path": "\\Demo Public\\Area\\Child 1 Level 1", 11 | "_links": { 12 | "self": { 13 | "href": "https://dev.azure.com/vsteampsmoduletest/53e2997d-3723-4c1c-aa62-a0194cb65a29/_apis/wit/classificationNodes/Areas/Child%201%20Level%201" 14 | }, 15 | "parent": { 16 | "href": "https://dev.azure.com/vsteampsmoduletest/53e2997d-3723-4c1c-aa62-a0194cb65a29/_apis/wit/classificationNodes/Areas" 17 | } 18 | }, 19 | "url": "https://dev.azure.com/vsteampsmoduletest/53e2997d-3723-4c1c-aa62-a0194cb65a29/_apis/wit/classificationNodes/Areas/Child%201%20Level%201" 20 | } 21 | ] 22 | } -------------------------------------------------------------------------------- /Tests/SampleFiles/Get-VSTeamClassificationNode-Depth0-Ids85.json: -------------------------------------------------------------------------------- 1 | { 2 | "count": 1, 3 | "value": [ 4 | { 5 | "id": 85, 6 | "identifier": "90aa2c42-de51-450a-bfb6-6e264e364d9a", 7 | "name": "Child 1 Level 2", 8 | "structureType": "area", 9 | "hasChildren": false, 10 | "path": "\\Demo Public\\Area\\Child 1 Level 1\\Child 1 Level 2", 11 | "_links": { 12 | "self": { 13 | "href": "https://dev.azure.com/vsteampsmoduletest/53e2997d-3723-4c1c-aa62-a0194cb65a29/_apis/wit/classificationNodes/Areas/Child%201%20Level%201/Child%201%20Level%202" 14 | }, 15 | "parent": { 16 | "href": "https://dev.azure.com/vsteampsmoduletest/53e2997d-3723-4c1c-aa62-a0194cb65a29/_apis/wit/classificationNodes/Areas/Child%201%20Level%201" 17 | } 18 | }, 19 | "url": "https://dev.azure.com/vsteampsmoduletest/53e2997d-3723-4c1c-aa62-a0194cb65a29/_apis/wit/classificationNodes/Areas/Child%201%20Level%201/Child%201%20Level%202" 20 | } 21 | ] 22 | } -------------------------------------------------------------------------------- /Tests/SampleFiles/Get-VSTeamClassificationNode-depth3-ids16.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": 16, 3 | "identifier": "dfa90792-403a-4119-a52b-bd142c08291b", 4 | "name": "Demo Public", 5 | "structureType": "iteration", 6 | "hasChildren": true, 7 | "path": "\\Demo Public\\Iteration", 8 | "_links": { 9 | "self": { 10 | "href": "https://dev.azure.com/vsteampsmoduletest/53e2997d-3723-4c1c-aa62-a0194cb65a29/_apis/wit/classificationNodes/Iterations" 11 | } 12 | }, 13 | "url": "https://dev.azure.com/vsteampsmoduletest/53e2997d-3723-4c1c-aa62-a0194cb65a29/_apis/wit/classificationNodes/Iterations" 14 | } -------------------------------------------------------------------------------- /Tests/SampleFiles/Get-VSTeamClassificationNode-depth4-ids84.json: -------------------------------------------------------------------------------- 1 | { 2 | "count": 1, 3 | "value": [ 4 | { 5 | "id": 84, 6 | "identifier": "00000000-0000-0000-0000-000000000000", 7 | "name": "Sprint 1", 8 | "structureType": "iteration", 9 | "hasChildren": false, 10 | "path": "\\PeopleTracker\\Iteration\\Sprint 1", 11 | "_links": { 12 | "self": { 13 | "href": "https://dev.azure.com/Test/00000000-0000-0000-0000-000000000000/_apis/wit/classificationNodes/Iterations/Sprint%201" 14 | }, 15 | "parent": { 16 | "href": "https://dev.azure.com/Test/00000000-0000-0000-0000-000000000000/_apis/wit/classificationNodes/Iterations" 17 | } 18 | }, 19 | "url": "https://dev.azure.com/Test/00000000-0000-0000-0000-000000000000/_apis/wit/classificationNodes/Iterations/Sprint%201" 20 | } 21 | ] 22 | } 23 | -------------------------------------------------------------------------------- /Tests/SampleFiles/Get-VSTeamGitCommit.json: -------------------------------------------------------------------------------- 1 | { 2 | "count": 1, 3 | "value": [ 4 | { 5 | "commitId": "6843b66ef58214061b996508ae37a8bbd67a12c2", 6 | "author": { 7 | "name": "Donovan Brown", 8 | "email": "Test@Test.com", 9 | "date": "2019-08-08T20:58:58Z" 10 | }, 11 | "committer": { 12 | "name": "Donovan Brown", 13 | "email": "Test@Test.com", 14 | "date": "2019-08-08T20:58:58Z" 15 | }, 16 | "comment": "Clean up.", 17 | "changeCounts": { 18 | "Add": 0, 19 | "Edit": 3, 20 | "Delete": 0 21 | }, 22 | "url": "https://dev.azure.com/Test/00000000-0000-0000-0000-000000000000/_apis/git/repositories/00000000-0000-0000-0000-000000000000/commits/6843b66ef58214061b996508ae37a8bbd67a12c2", 23 | "remoteUrl": "https://dev.azure.com/Test/PeopleTracker/_git/Bakeoff/commit/6843b66ef58214061b996508ae37a8bbd67a12c2" 24 | } 25 | ] 26 | } 27 | -------------------------------------------------------------------------------- /Tests/SampleFiles/Get-VSTeamOption-Area_git-Resource_annotatedTags.json: -------------------------------------------------------------------------------- 1 | { 2 | "value": [ 3 | { 4 | "id": "5e8a8081-3851-4626-b677-9891cc04102e", 5 | "area": "git", 6 | "resourceName": "annotatedTags", 7 | "routeTemplate": "{project}/_apis/{area}/repositories/{repositoryId}/{resource}/{objectId}", 8 | "resourceVersion": 1, 9 | "minVersion": "3.1", 10 | "maxVersion": "6.1", 11 | "releasedVersion": "0.0" 12 | } 13 | ], 14 | "count": 1 15 | } 16 | -------------------------------------------------------------------------------- /Tests/SampleFiles/Get-VSTeamProfile.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "Name": "http://localhost:8080/tfs/defaultcollection", 4 | "URL": "http://localhost:8080/tfs/defaultcollection", 5 | "Pat": "", 6 | "Type": "OnPremise", 7 | "Version": "TFS2017" 8 | }, 9 | { 10 | "Name": "http://192.168.1.3:8080/tfs/defaultcollection", 11 | "URL": "http://192.168.1.3:8080/tfs/defaultcollection", 12 | "Pat": "OnE2cXpseHk0YXp3dHpz", 13 | "Type": "Pat", 14 | "Version": "TFS2017" 15 | }, 16 | { 17 | "Name": "test", 18 | "URL": "https://dev.azure.com/test", 19 | "Pat": "OndrejR0ZHpwbDM3bXUycGt5c3hm", 20 | "Type": "Pat", 21 | "Version": "VSTS" 22 | } 23 | ] -------------------------------------------------------------------------------- /Tests/SampleFiles/Get-VSTeamProject-NamePeopleTracker.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": "00000000-0000-0000-0000-000000000000", 3 | "name": "PeopleTracker", 4 | "url": "https://dev.azure.com/Test/_apis/projects/00000000-0000-0000-0000-000000000000", 5 | "state": "wellFormed", 6 | "revision": 150, 7 | "_links": { 8 | "self": { 9 | "href": "https://dev.azure.com/Test/_apis/projects/00000000-0000-0000-0000-000000000000" 10 | }, 11 | "collection": { 12 | "href": "https://dev.azure.com/Test/_apis/projectCollections/00000000-0000-0000-0000-000000000000" 13 | }, 14 | "web": { 15 | "href": "https://dev.azure.com/Test/PeopleTracker" 16 | } 17 | }, 18 | "visibility": "private", 19 | "defaultTeam": { 20 | "id": "00000000-0000-0000-0000-000000000000", 21 | "name": "PeopleTracker Team", 22 | "url": "https://dev.azure.com/Test/_apis/projects/00000000-0000-0000-0000-000000000000/teams/00000000-0000-0000-0000-000000000000" 23 | }, 24 | "lastUpdateTime": "2019-09-25T20:47:14.247Z" 25 | } 26 | -------------------------------------------------------------------------------- /Tests/SampleFiles/Get-VSTeamProject.json: -------------------------------------------------------------------------------- 1 | { 2 | "count": 2, 3 | "value": [ 4 | { 5 | "id": "00000000-0000-0000-0000-000000000001", 6 | "name": "Voting-App", 7 | "description": "Vote App", 8 | "url": "https://dev.azure.com/Test/_apis/projects/00000000-0000-0000-0000-000000000001", 9 | "state": "wellFormed", 10 | "revision": 159, 11 | "visibility": "private", 12 | "lastUpdateTime": "2020-05-19T00:02:23.517Z" 13 | }, 14 | { 15 | "id": "00000000-0000-0000-0000-000000000002", 16 | "name": "PeopleTracker", 17 | "url": "https://dev.azure.com/Test/_apis/projects/00000000-0000-0000-0000-000000000002", 18 | "state": "wellFormed", 19 | "revision": 150, 20 | "visibility": "private", 21 | "lastUpdateTime": "2019-09-25T20:47:14.247Z" 22 | } 23 | ] 24 | } 25 | -------------------------------------------------------------------------------- /Tests/SampleFiles/Get-VSTeamResourceArea.json: -------------------------------------------------------------------------------- 1 | { 2 | "count": 2, 3 | "value": [ 4 | { 5 | "id": "fb13a388-40dd-4a04-b530-013a739c72ef", 6 | "name": "policy", 7 | "locationUrl": "https://dev.azure.com/Test/" 8 | }, 9 | { 10 | "id": "c73a23a1-59bb-458c-8ce3-02c83215e015", 11 | "name": "Licensing", 12 | "locationUrl": "https://vssps.dev.azure.com/Test/" 13 | } 14 | ] 15 | } 16 | -------------------------------------------------------------------------------- /Tests/SampleFiles/Get-VSTeamUserProfile.json: -------------------------------------------------------------------------------- 1 | { 2 | "displayName": "Thomas Tester", 3 | "publicAlias": "2328edeb-d77a-4534-820c-2fef1309d311", 4 | "emailAddress": "thomas.tester@vsteam.notexisting", 5 | "coreRevision": "343353021", 6 | "timeStamp": "18.11.2020 09:10:31", 7 | "id": "2328edeb-d77a-4534-820c-2fef1309d311", 8 | "revision": "333353031" 9 | } -------------------------------------------------------------------------------- /Tests/SampleFiles/Get-VSTeamWiql-OneWorkItem.json: -------------------------------------------------------------------------------- 1 | { 2 | "queryType": "flat", 3 | "queryResultType": "workItem", 4 | "asOf": "2020-09-09T17:41:59.82Z", 5 | "columns": [{ 6 | "referenceName": "System.Id", 7 | "name": "ID", 8 | "url": "https://dev.azure.com/toolTester/_apis/wit/fields/System.Id" 9 | }, 10 | { 11 | "referenceName": "System.Title", 12 | "name": "Title", 13 | "url": "https://dev.azure.com/toolTester/_apis/wit/fields/System.Title" 14 | }, 15 | { 16 | "referenceName": "System.State", 17 | "name": "State", 18 | "url": "https://dev.azure.com/toolTester/_apis/wit/fields/System.State" 19 | } 20 | ], 21 | "workItems": [{ 22 | "id": 179, 23 | "url": "https://dev.azure.com/toolTester/00000000-0000-0000-0000-000000000000/_apis/wit/workItems/179" 24 | } 25 | ] 26 | } -------------------------------------------------------------------------------- /Tests/SampleFiles/Get-VSTeamWiql.json: -------------------------------------------------------------------------------- 1 | { 2 | "queryType": "flat", 3 | "queryResultType": "workItem", 4 | "asOf": "2020-09-09T17:41:59.82Z", 5 | "columns": [ 6 | { 7 | "referenceName": "System.Id", 8 | "name": "ID", 9 | "url": "https://dev.azure.com/toolTester/_apis/wit/fields/System.Id" 10 | }, 11 | { 12 | "referenceName": "System.Title", 13 | "name": "Title", 14 | "url": "https://dev.azure.com/toolTester/_apis/wit/fields/System.Title" 15 | }, 16 | { 17 | "referenceName": "System.State", 18 | "name": "State", 19 | "url": "https://dev.azure.com/toolTester/_apis/wit/fields/System.State" 20 | } 21 | ], 22 | "workItems": [ 23 | { 24 | "id": 179, 25 | "url": "https://dev.azure.com/toolTester/00000000-0000-0000-0000-000000000000/_apis/wit/workItems/179" 26 | }, 27 | { 28 | "id": 180, 29 | "url": "https://dev.azure.com/toolTester/00000000-0000-0000-0000-000000000000/_apis/wit/workItems/180" 30 | } 31 | ] 32 | } 33 | -------------------------------------------------------------------------------- /Tests/SampleFiles/Get-VSTeamWorkItemTag.json: -------------------------------------------------------------------------------- 1 | { 2 | "count": 2, 3 | "value": [{ 4 | "id": "fd3e6a65-7c0e-4603-8fcd-b9ef83802be5", 5 | "name": "NewTagName", 6 | "url": "https://dev.azure.com/myOrg/60379aa7-e8ee-45c3-ab98-74824f2f6d22/_apis/wit/tags/fd3e6a65-7c0e-4603-8fcd-b9ef83802be5" 7 | }, { 8 | "id": "5090a9ee-a6fa-4b46-9348-3c9fc8e26ebf", 9 | "name": "tag2", 10 | "url": "https://dev.azure.com/myOrg/60379aa7-e8ee-45c3-ab98-74824f2f6d22/_apis/wit/tags/5090a9ee-a6fa-4b46-9348-3c9fc8e26ebf" 11 | }] 12 | } -------------------------------------------------------------------------------- /Tests/SampleFiles/accessControlEntryResult.json: -------------------------------------------------------------------------------- 1 | { 2 | "count": 1, 3 | "value": [ 4 | { 5 | "descriptor": "Microsoft.TeamFoundation.Identity;S-00000000-0000-0000-0000-000000000000-00000000-0000-0000-0000-000000000000-0-3", 6 | "allow": 8, 7 | "deny": 0, 8 | "extendedInfo": { 9 | "message": "Hello World" 10 | } 11 | } 12 | ] 13 | } -------------------------------------------------------------------------------- /Tests/SampleFiles/agentPoolMaintenanceMultipleResult.json: -------------------------------------------------------------------------------- 1 | { 2 | "count": 1, 3 | "value": [{ 4 | "options": { 5 | "workingDirectoryExpirationInDays": 30 6 | }, 7 | "retentionPolicy": { 8 | "numberOfHistoryRecordsToKeep": 10 9 | }, 10 | "scheduleSetting": { 11 | "scheduleJobId": "a69f552a-bc2f-4b85-af66-66f7e8657060", 12 | "timeZoneId": "UTC", 13 | "startHours": 1, 14 | "startMinutes": 0, 15 | "daysToBuild": 28 16 | }, 17 | "id": 4, 18 | "pool": { 19 | "id": 14, 20 | "isHosted": false, 21 | "poolType": 1, 22 | "size": 0, 23 | "isLegacy": null, 24 | "options": null 25 | }, 26 | "enabled": true, 27 | "jobTimeoutInMinutes": 60, 28 | "maxConcurrentAgentsPercentage": 26 29 | }] 30 | } -------------------------------------------------------------------------------- /Tests/SampleFiles/agentPoolMaintenanceSingleResult.json: -------------------------------------------------------------------------------- 1 | { 2 | "options": { 3 | "workingDirectoryExpirationInDays": 30 4 | }, 5 | "retentionPolicy": { 6 | "numberOfHistoryRecordsToKeep": 10 7 | }, 8 | "scheduleSetting": { 9 | "scheduleJobId": "a69f552a-bc2f-4b85-af66-66f7e8657060", 10 | "timeZoneId": "UTC", 11 | "startHours": 1, 12 | "startMinutes": 0, 13 | "daysToBuild": 28 14 | }, 15 | "id": 4, 16 | "pool": { 17 | "id": 14, 18 | "isHosted": false, 19 | "poolType": 1, 20 | "size": 0, 21 | "isLegacy": null, 22 | "options": null 23 | }, 24 | "enabled": true, 25 | "jobTimeoutInMinutes": 60, 26 | "maxConcurrentAgentsPercentage": 26 27 | } -------------------------------------------------------------------------------- /Tests/SampleFiles/azure-pipelines.test.yml: -------------------------------------------------------------------------------- 1 | name: Test-Yaml-Pipeline 2 | 3 | trigger: 4 | - master 5 | 6 | resources: 7 | - repo: self 8 | 9 | stages: 10 | - stage: Build 11 | displayName: Build Stage 12 | 13 | jobs: 14 | 15 | - job: Windows_Phase 16 | displayName: Build Windows 17 | pool: 18 | vmImage: 'windows-latest' 19 | 20 | steps: 21 | - task: CopyFiles@2 22 | displayName: 'Copy Module to Artifacts Folder' 23 | inputs: 24 | Contents: '**' 25 | TargetFolder: '$(build.artifactstagingdirectory)' 26 | flattenFolders: false 27 | 28 | - task: PublishPipelineArtifact@1 29 | displayName: 'Publish Module' 30 | inputs: 31 | targetPath: '$(Build.ArtifactStagingDirectory)' 32 | artifact: 'module' 33 | -------------------------------------------------------------------------------- /Tests/SampleFiles/buildDef.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MethodsAndPractices/vsteam/ea225893f45b59a7d974a661eebd50f4d2b84c23/Tests/SampleFiles/buildDef.json -------------------------------------------------------------------------------- /Tests/SampleFiles/buildDef2017.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MethodsAndPractices/vsteam/ea225893f45b59a7d974a661eebd50f4d2b84c23/Tests/SampleFiles/buildDef2017.json -------------------------------------------------------------------------------- /Tests/SampleFiles/buildDef2018.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MethodsAndPractices/vsteam/ea225893f45b59a7d974a661eebd50f4d2b84c23/Tests/SampleFiles/buildDef2018.json -------------------------------------------------------------------------------- /Tests/SampleFiles/buildDefAzD.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MethodsAndPractices/vsteam/ea225893f45b59a7d974a661eebd50f4d2b84c23/Tests/SampleFiles/buildDefAzD.json -------------------------------------------------------------------------------- /Tests/SampleFiles/buildDefHierarchyQuery_Update.json: -------------------------------------------------------------------------------- 1 | { 2 | "dataProviderSharedData": {}, 3 | "dataProviders": { 4 | "ms.vss-web.component-data": {}, 5 | "ms.vss-web.shared-data": null, 6 | "ms.vss-admin-web.security-view-update-data-provider": { 7 | "statusCode": 204, 8 | "statusDescription": null 9 | } 10 | } 11 | } -------------------------------------------------------------------------------- /Tests/SampleFiles/buildDefvsts.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MethodsAndPractices/vsteam/ea225893f45b59a7d974a661eebd50f4d2b84c23/Tests/SampleFiles/buildDefvsts.json -------------------------------------------------------------------------------- /Tests/SampleFiles/buildDefyaml.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MethodsAndPractices/vsteam/ea225893f45b59a7d974a661eebd50f4d2b84c23/Tests/SampleFiles/buildDefyaml.json -------------------------------------------------------------------------------- /Tests/SampleFiles/buildTimelineEmptyRecords.json: -------------------------------------------------------------------------------- 1 | { 2 | "records": null, 3 | "lastChangedBy": "00000002-0000-8888-8000-000000000000", 4 | "lastChangedOn": "2020-03-13T14:03:06.527Z", 5 | "id": "165b97c1-18f9-4ca1-a378-2a9859343d6d", 6 | "changeId": 27, 7 | "url": "https://dev.azure.com/test/3809133c-f9cd-4d0d-8e63-d1953bedc6cf/_apis/build/builds/822/Timeline/165b97c1-18f9-4ca1-a378-2a9859343d6d" 8 | } -------------------------------------------------------------------------------- /Tests/SampleFiles/descriptor.scope.TestProject.json: -------------------------------------------------------------------------------- 1 | { 2 | "value": "scp.ZGU5ODYwOWEtZjRiMC00YWEzLTgzOTEtODI4ZDU2MDI0MjU2", 3 | "_links": { 4 | "self": { 5 | "href": "https://vssps.dev.azure.com/test/_apis/Graph/Descriptors/010d06f0-00d5-472a-bb47-58947c230876" 6 | }, 7 | "storageKey": { 8 | "href": "https://vssps.dev.azure.com/test/_apis/Graph/StorageKeys/scp.ZGU5ODYwOWEtZjRiMC00YWEzLTgzOTEtODI4ZDU2MDI0MjU2" 9 | }, 10 | "subject": { 11 | "href": "https://vssps.dev.azure.com/test/_apis/Graph/Scopes/scp.ZGU5ODYwOWEtZjRiMC00YWEzLTgzOTEtODI4ZDU2MDI0MjU2" 12 | } 13 | } 14 | } -------------------------------------------------------------------------------- /Tests/SampleFiles/extensionResults.json: -------------------------------------------------------------------------------- 1 | { 2 | "count": 1, 3 | "value": { 4 | "extensionId": "test", 5 | "extensionName": "test", 6 | "publisherId": "test", 7 | "publisherName": "test", 8 | "version": "1.0.0", 9 | "registrationId": "12345678-9012-3456-7890-123456789012", 10 | "manifestVersion": 1, 11 | "baseUri": "", 12 | "fallbackBaseUri": "", 13 | "scopes": {}, 14 | "installState": { 15 | "flags": "none", 16 | "lastUpdated": "2018-10-09T11:26:47.187Z" 17 | } 18 | } 19 | } -------------------------------------------------------------------------------- /Tests/SampleFiles/getBillingToken.json: -------------------------------------------------------------------------------- 1 | { 2 | "appId": null, 3 | "token": "eyJ0eXAiOiJKV1QiLCIsIng1dCI6Im9PdmN6NU1fN3AtSGpJS2xGWHo5M3VfVjBab.QiOiIzYTQDcxNjAiLCJzY3AiOiJ2c28uY29tbWVyY2Uud3JpdGUiLCJhdWkiOiJhM2M3MmFjMi05ZDUzLTRiYTYtOTNjNy1iYmUxNDNmYTA1MTciLCJzaWQiOiJjNGI2Mjg4ZC00M2E1LTQyZDMtYjQ5MS1mMjViNjQ5NTBlYzMiLCJpc3MiOiJhcHAudnN0b2tlbi52aXN1YWxzdHVkaW8uY29tIiwiYXVkIjoiYXBwLnZzdG9rZW4udmlzdWFsc3R1ZGlvLmNvbSIsIm5iZiI6MTYwMjQ0NTExNiwiZXhwIjoxNjAyNDQ5MzE2fQ.t8TuoIGidlj0YGQZuQiAFqg7ZaEapuYnjjcC7dTX4fRRssZLasa4ifWzeRThTkehK-a2XYzE4CmgFO5ubwRodxcwRyk9_bzPMA13NO802s8A4225fn3GQorylFotK8Ld5XunumkvoVq4mDgTqRh6V5R4tgMST-BELuNiMllQgKQYZri1ZOlacgn9q1u0lXXOMys_hEC0BeWLx1wQoubHt59OZm10tiMRsVm655vqGObesQTDF9kAgAUiipMGWbFKeqKge8GnyPVCHQvjsL4Bx3aOQnxpubEuHzsbRQcisN5kNSOBrjt5VacdrJ7IyaSEzBxvjb9f4d5CTBY69XQX2A", 4 | "tokenType": "session", 5 | "validTo": "2020-10-11T20:48:36.1655761Z", 6 | "namedTokenId": "CommerceDeploymentProfile" 7 | } -------------------------------------------------------------------------------- /Tests/SampleFiles/gitReopHierarchyQuery_Update.json: -------------------------------------------------------------------------------- 1 | { 2 | "dataProviderSharedData": {}, 3 | "dataProviders": { 4 | "ms.vss-web.component-data": {}, 5 | "ms.vss-web.shared-data": null, 6 | "ms.vss-admin-web.security-view-update-data-provider": { 7 | "statusCode": 204, 8 | "statusDescription": null 9 | } 10 | } 11 | } -------------------------------------------------------------------------------- /Tests/SampleFiles/gitStatSingleResult.json: -------------------------------------------------------------------------------- 1 | { 2 | "commit": { 3 | "commitId": "67cae2b029dff7eb3dc062b49403aaedca5bad8d", 4 | "author": { 5 | "name": "\"Chuck Reinhart", 6 | "email": "fabrikamfiber3@hotmail.com", 7 | "date": "2014-01-29T23:52:56Z" 8 | }, 9 | "committer": { 10 | "name": "\"Chuck Reinhart", 11 | "email": "fabrikamfiber3@hotmail.com", 12 | "date": "2014-01-29T23:52:56Z" 13 | }, 14 | "comment": "home page", 15 | "url": "https://dev.azure.com/fabrikam/_apis/git/repositories/278d5cd2-584d-4b63-824a-2ba458937249/commits/67cae2b029dff7eb3dc062b49403aaedca5bad8d" 16 | }, 17 | "name": "develop", 18 | "aheadCount": 1, 19 | "behindCount": 17, 20 | "isBaseVersion": false 21 | } -------------------------------------------------------------------------------- /Tests/SampleFiles/moduleMessages.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "msg": "Message for minimum version 5.6.0", 4 | "toDate": "14/02/2099 13:36:17", 5 | "displayFromVersion": "5.6.0", 6 | "type": "info" 7 | }, 8 | { 9 | "msg": "Message for minimum version 7.0.0", 10 | "toDate": "13/02/2099 13:36:17", 11 | "displayFromVersion": "7.0.0", 12 | "type": "warning" 13 | }, 14 | { 15 | "msg": "Message for minimum version 6.9.0", 16 | "toDate": "31/12/2021 23:59:59", 17 | "displayFromVersion": "6.9.0", 18 | "type": "warning" 19 | }, 20 | { 21 | "msg": "Message for minimum version 7.8.0 to maximum version 8.0.0", 22 | "toDate": "31/12/2099 23:59:59", 23 | "displayFromVersion": "7.8.0", 24 | "displayToVersion": "8.0.0", 25 | "type": "warning" 26 | } 27 | ] -------------------------------------------------------------------------------- /Tests/SampleFiles/projectResult.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Test Project Public", 3 | "description": "", 4 | "url": "", 5 | "id": "010d06f0-00d5-472a-bb47-58947c230876", 6 | "state": "", 7 | "visibility": "", 8 | "revision": 0, 9 | "defaultTeam": {}, 10 | "_links": {} 11 | } -------------------------------------------------------------------------------- /Tests/SampleFiles/releaseDefHierarchyQuery_Update.json: -------------------------------------------------------------------------------- 1 | { 2 | "dataProviderSharedData": {}, 3 | "dataProviders": { 4 | "ms.vss-web.component-data": {}, 5 | "ms.vss-web.shared-data": null, 6 | "ms.vss-admin-web.security-view-update-data-provider": { 7 | "statusCode": 204, 8 | "statusDescription": null 9 | } 10 | } 11 | } -------------------------------------------------------------------------------- /Tests/SampleFiles/repoAccesscontrollists.json: -------------------------------------------------------------------------------- 1 | { 2 | "count": 1, 3 | "value": [ 4 | { 5 | "inheritPermissions": true, 6 | "token": "repoV2/00000000-0000-0000-0000-000000000000/00000000-0000-0000-0000-000000000000", 7 | "acesDictionary": { 8 | "Microsoft.IdentityModel.Claims.ClaimsIdentity;00000000-0000-0000-0000-000000000000\\unit@test.com": { 9 | "descriptor": "Microsoft.IdentityModel.Claims.ClaimsIdentity;00000000-0000-0000-0000-000000000000\\unit@test.com", 10 | "allow": 32382, 11 | "deny": 0 12 | } 13 | } 14 | } 15 | ] 16 | } -------------------------------------------------------------------------------- /Tests/SampleFiles/serviceEndpointTypeSample.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MethodsAndPractices/vsteam/ea225893f45b59a7d974a661eebd50f4d2b84c23/Tests/SampleFiles/serviceEndpointTypeSample.json -------------------------------------------------------------------------------- /Tests/SampleFiles/singleExtensionResult.json: -------------------------------------------------------------------------------- 1 | { 2 | "extensionId": "test", 3 | "extensionName": "test", 4 | "publisherId": "test", 5 | "publisherName": "test", 6 | "version": "1.0.0", 7 | "registrationId": "12345678-9012-3456-7890-123456789012", 8 | "manifestVersion": 1, 9 | "baseUri": "", 10 | "fallbackBaseUri": "", 11 | "scopes": {}, 12 | "installState": { 13 | "flags": "none", 14 | "lastUpdated": "2018-10-09T11:26:47.187Z" 15 | } 16 | } -------------------------------------------------------------------------------- /Tests/SampleFiles/variableGroupSamples2017.json: -------------------------------------------------------------------------------- 1 | { 2 | "count": 1, 3 | "value": [ 4 | { 5 | "variables": { 6 | "key1": { 7 | "value": "value1" 8 | }, 9 | "key2": { 10 | "value": null, 11 | "isSecret": true 12 | } 13 | }, 14 | "id": 101, 15 | "name": "TestVariableGroup1", 16 | "description": "A test variable group", 17 | "createdBy": { 18 | "id": "3965414d-7e1b-480b-a9fb-f9193b7a1b41", 19 | "displayName": "tuser", 20 | "uniqueName": "LOCAL\\tuser" 21 | }, 22 | "createdOn": "2019-06-25T13:49:52.3966667Z", 23 | "modifiedBy": { 24 | "id": "3965414d-7e1b-480b-a9fb-f9193b7a1b41", 25 | "displayName": "tuser", 26 | "uniqueName": "LOCAL\\tuser" 27 | }, 28 | "modifiedOn": "2019-06-25T13:49:52.3966667Z" 29 | } 30 | ] 31 | } -------------------------------------------------------------------------------- /Tests/function/tests/Add-VSTeamBanner.Tests.ps1: -------------------------------------------------------------------------------- 1 | Set-StrictMode -Version Latest 2 | 3 | Describe 'VSTeamBanner' { 4 | BeforeAll { 5 | . "$PSScriptRoot\_testInitialize.ps1" $PSCommandPath 6 | . "$baseFolder/Source/Public/Invoke-VSTeamRequest.ps1" 7 | } 8 | 9 | Context 'Add-VSTeamBanner' { 10 | BeforeAll { 11 | Mock Invoke-VSTeamRequest 12 | } 13 | 14 | It 'Should add a banner' { 15 | Add-VSTeamBanner -Id 'test-id' ` 16 | -Message 'Test Message' ` 17 | -ExpirationDate (Get-Date '2024-01-01T04:00:00') ` 18 | -Level 'info' 19 | 20 | Should -Invoke Invoke-VSTeamRequest -ParameterFilter { 21 | $Method -eq 'PATCH' -and 22 | $area -eq 'settings' -and 23 | $Body -like '*"expirationDate":*"2024-01-02T04:00:00"*' 24 | $resource -eq 'entries/host' -and 25 | $Body -like '*"GlobalMessageBanners/test-id"*' 26 | } 27 | } 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /Tests/function/tests/Add-VSTeamUserEntitlement.Tests.ps1: -------------------------------------------------------------------------------- 1 | Set-StrictMode -Version Latest 2 | 3 | Describe "VSTeamUserEntitlement" { 4 | BeforeAll { 5 | . "$PSScriptRoot\_testInitialize.ps1" $PSCommandPath 6 | } 7 | 8 | Context 'Add-VSTeamUserEntitlement' { 9 | BeforeAll { 10 | [vsteam_lib.Versions]::ModuleVersion = '0.0.0' 11 | 12 | Mock _callAPI 13 | Mock _getApiVersion { return 'VSTS' } 14 | Mock _getInstance { return 'https://dev.azure.com/test' } 15 | } 16 | 17 | It 'Should add a user' { 18 | Add-VSTeamUserEntitlement -License earlyAdopter ` 19 | -LicensingSource msdn ` 20 | -MSDNLicenseType enterprise ` 21 | -Email 'test@user.com' 22 | 23 | Should -Invoke _callAPI -ParameterFilter { 24 | $Method -eq 'Post' -and 25 | $SubDomain -eq 'vsaex' -and 26 | $Body -like '*"principalName":*"test@user.com"*' -and 27 | $Body -like '*"subjectKind":*"user"*' 28 | } 29 | } 30 | } 31 | } -------------------------------------------------------------------------------- /Tests/function/tests/Get-VSTeamInfo.Tests.ps1: -------------------------------------------------------------------------------- 1 | Set-StrictMode -Version Latest 2 | 3 | Describe 'VSTeamInfo' { 4 | BeforeAll { 5 | . "$PSScriptRoot\_testInitialize.ps1" $PSCommandPath 6 | } 7 | 8 | Context 'Get-VSTeamInfo' { 9 | AfterAll { 10 | $Global:PSDefaultParameterValues.Remove("*-vsteam*:projectName") 11 | } 12 | 13 | It 'should return account and default project' { 14 | [vsteam_lib.Versions]::Account = "mydemos" 15 | $Global:PSDefaultParameterValues['*-vsteam*:projectName'] = 'TestProject' 16 | 17 | ## Act 18 | $info = Get-VSTeamInfo 19 | 20 | ## Assert 21 | $info.Account | Should -Be "mydemos" 22 | $info.DefaultProject | Should -Be "TestProject" 23 | } 24 | } 25 | } -------------------------------------------------------------------------------- /Tests/function/tests/Get-VSTeamResourceArea.Tests.ps1: -------------------------------------------------------------------------------- 1 | Set-StrictMode -Version Latest 2 | 3 | Describe 'VSTeamResourceArea' { 4 | BeforeAll { 5 | . "$PSScriptRoot\_testInitialize.ps1" $PSCommandPath 6 | } 7 | 8 | Context 'Get-VSTeamResourceArea' { 9 | BeforeAll { 10 | ## Arrange 11 | Mock _callAPI { Open-SampleFile 'Get-VSTeamResourceArea.json' } 12 | } 13 | 14 | It 'Should return resources' { 15 | ## Act 16 | $actual = Get-VSTeamResourceArea 17 | 18 | ## Assert 19 | $actual.Count | Should -Be 2 20 | $actual[0].name | Should -Be 'policy' 21 | } 22 | } 23 | } -------------------------------------------------------------------------------- /Tests/function/tests/Remove-VSTeamBanner.Tests.ps1: -------------------------------------------------------------------------------- 1 | Set-StrictMode -Version Latest 2 | 3 | Describe 'VSTeamBanner' { 4 | BeforeAll { 5 | . "$PSScriptRoot\_testInitialize.ps1" $PSCommandPath 6 | . "$baseFolder/Source/Public/Invoke-VSTeamRequest.ps1" 7 | } 8 | 9 | Context 'Remove-VSTeamBanner' { 10 | BeforeAll { 11 | Mock Invoke-VSTeamRequest 12 | } 13 | 14 | It 'Should remove a banner' { 15 | Remove-VSTeamBanner -Id 'test-id' 16 | 17 | Should -Invoke Invoke-VSTeamRequest -ParameterFilter { 18 | $Method -eq 'DELETE' -and 19 | $area -eq 'settings' -and 20 | $resource -eq 'entries/host/GlobalMessageBanners/test-id' 21 | } 22 | } 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /Tests/function/tests/Remove-VSTeamPool.Tests.ps1: -------------------------------------------------------------------------------- 1 | Set-StrictMode -Version Latest 2 | 3 | Describe 'VSTeamPool' { 4 | BeforeAll { 5 | Import-Module SHiPS 6 | 7 | . "$PSScriptRoot\_testInitialize.ps1" $PSCommandPath 8 | 9 | ## Arrange 10 | Mock _getInstance { return 'https://dev.azure.com/test' } 11 | Mock _getApiVersion { return '1.0-unitTests' } -ParameterFilter { $Service -eq 'DistributedTask' } 12 | 13 | } 14 | 15 | Context 'Remove-VSTeamPool with parameters' { 16 | BeforeAll { 17 | Mock Invoke-RestMethod { return $null } 18 | } 19 | 20 | it 'with ID should be called' { 21 | ## Act 22 | Remove-VSTeamPool -Id 5 23 | 24 | ## Assert 25 | Should -Invoke Invoke-RestMethod -Exactly -Scope It -Times 1 -ParameterFilter { 26 | $Method -eq 'Delete' -and 27 | $Uri -eq "https://dev.azure.com/test/_apis/distributedtask/pools/5?api-version=$(_getApiVersion DistributedTask)" 28 | } 29 | } 30 | } 31 | } -------------------------------------------------------------------------------- /Tests/function/tests/Remove-VSTeamTaskGroup.Tests.ps1: -------------------------------------------------------------------------------- 1 | Set-StrictMode -Version Latest 2 | 3 | Describe 'VSTeamTaskGroup' { 4 | BeforeAll { 5 | . "$PSScriptRoot\_testInitialize.ps1" $PSCommandPath 6 | 7 | Mock Invoke-RestMethod 8 | Mock _getInstance { return 'https://dev.azure.com/test' } 9 | Mock _getApiVersion { return '1.0-unitTests' } -ParameterFilter { $Service -eq 'TaskGroups' } 10 | } 11 | 12 | Context 'Remove-VSTeamTaskGroup' { 13 | It 'should delete Task group' { 14 | $projectID = "d30f8b85-6b13-41a9-bb77-2e1a9c611def" 15 | 16 | Remove-VSTeamTaskGroup -projectName "project" -Id $projectID -Force 17 | 18 | Should -Invoke Invoke-RestMethod -Exactly -Scope It -Times 1 -ParameterFilter { 19 | $Uri -eq "https://dev.azure.com/test/project/_apis/distributedtask/taskgroups/$($projectID)?api-version=$(_getApiVersion TaskGroups)" -and 20 | $Method -eq 'Delete' 21 | } 22 | } 23 | } 24 | } -------------------------------------------------------------------------------- /Tests/function/tests/Show-VSTeam.Tests.ps1: -------------------------------------------------------------------------------- 1 | Set-StrictMode -Version Latest 2 | 3 | Describe 'VSTeam' { 4 | BeforeAll { 5 | . "$PSScriptRoot\_testInitialize.ps1" $PSCommandPath 6 | 7 | ## Arrange 8 | Mock Show-Browser -Verifiable 9 | Mock _getInstance { return 'https://dev.azure.com/test' } 10 | } 11 | 12 | Context 'Show-VSTeam' { 13 | It 'Should open browser' { 14 | ## Act 15 | Show-VSTeam 16 | 17 | ## Assert 18 | Should -InvokeVerifiable 19 | } 20 | } 21 | } -------------------------------------------------------------------------------- /Tests/function/tests/Show-VSTeamApproval.Tests.ps1: -------------------------------------------------------------------------------- 1 | Set-StrictMode -Version Latest 2 | 3 | Describe 'VSTeamApproval' -Tag 'unit', 'approvals' { 4 | BeforeAll { 5 | . "$PSScriptRoot\_testInitialize.ps1" $PSCommandPath 6 | 7 | ## Arrange 8 | Mock Show-Browser -Verifiable 9 | } 10 | 11 | Context 'Show-VSTeamApproval' { 12 | It 'should open in browser' { 13 | ## Act 14 | Show-VSTeamApproval -projectName project -ReleaseDefinitionId 1 15 | 16 | ## Assert 17 | Should -InvokeVerifiable 18 | } 19 | } 20 | } -------------------------------------------------------------------------------- /Tests/function/tests/Show-VSTeamBuild.Tests.ps1: -------------------------------------------------------------------------------- 1 | Set-StrictMode -Version Latest 2 | 3 | Describe 'VSTeamBuild' { 4 | BeforeAll { 5 | . "$PSScriptRoot\_testInitialize.ps1" $PSCommandPath 6 | 7 | ## Arrange 8 | Mock Show-Browser 9 | Mock _getInstance { return 'https://dev.azure.com/test' } 10 | } 11 | 12 | Context 'Show-VSTeamBuild' { 13 | it 'By ID should return url for mine' { 14 | ## Act 15 | Show-VSTeamBuild -projectName project -Id 15 16 | 17 | ## Assert 18 | Should -Invoke Show-Browser -Exactly -Scope It -Times 1 -ParameterFilter { 19 | $url -eq 'https://dev.azure.com/test/project/_build/index?buildId=15' 20 | } 21 | } 22 | } 23 | } -------------------------------------------------------------------------------- /Tests/function/tests/Show-VSTeamFeed.Tests.ps1: -------------------------------------------------------------------------------- 1 | Set-StrictMode -Version Latest 2 | 3 | Describe 'VSTeamFeed' { 4 | BeforeAll { 5 | . "$PSScriptRoot\_testInitialize.ps1" $PSCommandPath 6 | 7 | ## Arrange 8 | Mock Show-Browser 9 | Mock _getInstance { return 'https://dev.azure.com/test' } 10 | } 11 | 12 | Context 'Show-VSTeamFeed' { 13 | It 'by name should call show-browser' { 14 | ## Act 15 | Show-VSTeamFeed -Name module 16 | 17 | ## Assert 18 | Should -Invoke Show-Browser 19 | } 20 | 21 | It 'by id should call show-browser' { 22 | ## Act 23 | Show-VSTeamFeed -Id '00000000-0000-0000-0000-000000000000' 24 | 25 | ## Assert 26 | Should -Invoke Show-Browser 27 | } 28 | } 29 | } -------------------------------------------------------------------------------- /Tests/function/tests/Show-VSTeamGitRepository.Tests.ps1: -------------------------------------------------------------------------------- 1 | Set-StrictMode -Version Latest 2 | 3 | Describe "VSTeamGitRepository" { 4 | BeforeAll { 5 | . "$PSScriptRoot\_testInitialize.ps1" $PSCommandPath 6 | 7 | Mock Show-Browser 8 | Mock _getInstance { return 'https://dev.azure.com/test' } 9 | } 10 | 11 | Context 'Show-VSTeamGitRepository' { 12 | it 'by project should return url for mine' { 13 | Show-VSTeamGitRepository -projectName project 14 | 15 | Should -Invoke Show-Browser -Exactly -Times 1 -Scope It -ParameterFilter { 16 | $url -eq 'https://dev.azure.com/test/_git/project' 17 | } 18 | } 19 | 20 | it 'by remote url should return url for mine' { 21 | Show-VSTeamGitRepository -RemoteUrl 'https://dev.azure.com/test/_git/project' 22 | 23 | Should -Invoke Show-Browser -Exactly -Times 1 -Scope It -ParameterFilter { 24 | $url -eq 'https://dev.azure.com/test/_git/project' 25 | } 26 | } 27 | } 28 | } -------------------------------------------------------------------------------- /Tests/function/tests/Show-VSTeamPackage.Tests.ps1: -------------------------------------------------------------------------------- 1 | Set-StrictMode -Version Latest 2 | 3 | Describe 'VSTeamPackage' { 4 | BeforeAll { 5 | . "$PSScriptRoot\_testInitialize.ps1" $PSCommandPath 6 | 7 | ## Arrange 8 | Mock Show-Browser 9 | Mock _getInstance { return 'https://dev.azure.com/test' } 10 | } 11 | 12 | Context 'Show-VSTeamPackage' { 13 | It 'by name should call show-browser' { 14 | ## Arrange 15 | $p = [vsteam_lib.Package]::new($(Open-SampleFile 'Get-VSTeamPackage.json' -Index 0), 16 | '00000000-0000-0000-0000-000000000001') 17 | 18 | ## Act 19 | Show-VSTeamPackage $p 20 | 21 | ## Assert 22 | Should -Invoke Show-Browser 23 | } 24 | } 25 | } -------------------------------------------------------------------------------- /Tests/function/tests/Show-VSTeamRelease.Tests.ps1: -------------------------------------------------------------------------------- 1 | Set-StrictMode -Version Latest 2 | 3 | Describe 'VSTeamRelease' { 4 | BeforeAll { 5 | . "$PSScriptRoot\_testInitialize.ps1" $PSCommandPath 6 | 7 | ## Arrange 8 | Mock _getInstance { return 'https://dev.azure.com/test' } 9 | Mock _getApiVersion { return '1.0-unittest' } -ParameterFilter { $Service -eq 'Release' } 10 | 11 | Mock Show-Browser 12 | } 13 | 14 | Context 'Show-VSTeamRelease' { 15 | it 'by Id should show release' { 16 | ## Act 17 | Show-VSTeamRelease -projectName project -Id 15 18 | 19 | ## Assert 20 | Should -Invoke Show-Browser -Exactly -Scope It -Times 1 -ParameterFilter { 21 | $url -eq 'https://dev.azure.com/test/project/_release?releaseId=15' 22 | } 23 | } 24 | 25 | it 'with invalid Id should throw' { 26 | ## Act / Assert 27 | { Show-VSTeamRelease -projectName project -Id 0 } | Should -Throw 28 | } 29 | } 30 | } -------------------------------------------------------------------------------- /Tests/function/tests/Show-VSTeamReleaseDefinition.Tests.ps1: -------------------------------------------------------------------------------- 1 | Set-StrictMode -Version Latest 2 | 3 | Describe 'VSTeamReleaseDefinition' { 4 | BeforeAll { 5 | . "$PSScriptRoot\_testInitialize.ps1" $PSCommandPath 6 | 7 | ## Arrange 8 | Mock Show-Browser 9 | Mock _getInstance { return 'https://dev.azure.com/test' } 10 | Mock _getApiVersion { return '1.0-unittest' } -ParameterFilter { 11 | $Service -eq 'Release' 12 | } 13 | } 14 | 15 | Context 'Show-VSTeamReleaseDefinition' { 16 | it 'by Id should return release definitions' { 17 | ## Act 18 | Show-VSTeamReleaseDefinition -projectName project -Id 15 19 | 20 | ## Assert 21 | Should -Invoke Show-Browser -Exactly -Scope It -Times 1 -ParameterFilter { 22 | $url -eq 'https://dev.azure.com/test/project/_release?definitionId=15' 23 | } 24 | } 25 | } 26 | } -------------------------------------------------------------------------------- /Tests/function/tests/Show-VSTeamWorkItem.Tests.ps1: -------------------------------------------------------------------------------- 1 | Set-StrictMode -Version Latest 2 | 3 | Describe 'VSTeamWorkItem' { 4 | BeforeAll { 5 | . "$PSScriptRoot\_testInitialize.ps1" $PSCommandPath 6 | 7 | ## Arrange 8 | Mock Show-Browser 9 | Mock _getInstance { return 'https://dev.azure.com/test' } 10 | } 11 | 12 | Context 'Show-VSTeamWorkItem' { 13 | it 'should return url for mine' { 14 | ## Act 15 | Show-VSTeamWorkItem -projectName project -Id 15 16 | 17 | ## Assert 18 | Should -Invoke Show-Browser -Exactly -Scope It -Times 1 -ParameterFilter { 19 | $url -eq 'https://dev.azure.com/test/project/_workitems/edit/15' 20 | } 21 | } 22 | } 23 | } -------------------------------------------------------------------------------- /Tests/function/tests/Update-VSTeamExtension.Tests.ps1: -------------------------------------------------------------------------------- 1 | Set-StrictMode -Version Latest 2 | 3 | Describe 'VSTeamExtension' { 4 | BeforeAll { 5 | . "$PSScriptRoot\_testInitialize.ps1" $PSCommandPath 6 | } 7 | 8 | Context 'Update-VSTeamExtension' { 9 | BeforeAll { 10 | $env:Team_TOKEN = '1234' 11 | Mock _callAPI { Open-SampleFile 'Get-VSTeamExtension.json' -Index 0 } 12 | } 13 | 14 | AfterAll { 15 | $env:TEAM_TOKEN = $null 16 | } 17 | 18 | It 'Should update an extension' { 19 | Update-VSTeamExtension -PublisherId 'test' -ExtensionId 'test' -ExtensionState disabled -Force 20 | 21 | Should -Invoke _callAPI -Exactly 1 -Scope It -ParameterFilter { 22 | $Method -eq 'Patch' -and 23 | $subDomain -eq 'extmgmt' -and 24 | $version -eq [vsteam_lib.Versions]::ExtensionsManagement 25 | } 26 | } 27 | } 28 | } -------------------------------------------------------------------------------- /Tests/function/tests/readme.md: -------------------------------------------------------------------------------- 1 | # Helpful links 2 | 3 | ## Test Structure 4 | 5 | Describe "Noun" 6 | Context "Verb-Noun" 7 | Context "Services" 8 | Context "Server" 9 | 10 | ## Mocking 11 | 12 | ## Helpful Links 13 | 14 | [testing script modules with pester](https://blogs.technet.microsoft.com/heyscriptingguy/2015/12/17/testing-script-modules-with-pester/) 15 | -------------------------------------------------------------------------------- /Tests/integration/README.md: -------------------------------------------------------------------------------- 1 | # Running Integration tests 2 | 3 | Many of the tests require a project to run. The naming of the files is used to ensure the tests that create the project can be run before the others. Nevertheless, in the BeforeAll of each file you can search for an existing project with 'Project for VSTeam integration testing.' as the description. If you find it you can use that project. If you don't your tests should create it's own project with that description. 4 | 5 | - Install SonarQube extension 6 | - Set the following Environment variables. 7 | - `$env:ACCT = VSTS` Account Name or full TFS URL including collection 8 | - `$env:API_VERSION = TFS2017` or TFS2018 / AzD2019 for on-prem versions, or VSTS for the Service variant, depending on the value used for ACCT 9 | - `$env:EMAIL` = Email of user to remove and re-add to account 10 | - `$env:PAT` = Personal Access token of ACCT -------------------------------------------------------------------------------- /Tests/integration/tests/999_VSTeam-RemoveProject.Tests.ps1: -------------------------------------------------------------------------------- 1 | Describe "VSTeamProject" { 2 | BeforeAll { 3 | . "$PSScriptRoot/_testInitialize.ps1" 4 | 5 | Set-TestPrep 6 | 7 | $target = Set-Project 8 | } 9 | 10 | Context 'Remove-VSTeamProject' { 11 | It 'should remove Project' { 12 | # I have noticed that if the delete happens too soon you will get a 13 | # 400 response and told to try again later. So this test needs to be 14 | # retried. We need to wait a minute after the rename before we try 15 | # and delete 16 | Start-Sleep -Seconds 5 17 | 18 | Get-VSTeamProject -Name $target.Name | Remove-VSTeamProject -Force 19 | 20 | Start-Sleep -Seconds 5 21 | 22 | $(Get-VSTeamProject | Where-Object name -eq $target.Name) | Should -Be $null 23 | } 24 | } 25 | } -------------------------------------------------------------------------------- /Tests/library/Provider/AccessControlListTests.cs: -------------------------------------------------------------------------------- 1 | using Microsoft.VisualStudio.TestTools.UnitTesting; 2 | using System.Diagnostics.CodeAnalysis; 3 | 4 | namespace vsteam_lib.Test.Provider 5 | { 6 | [TestClass] 7 | [ExcludeFromCodeCoverage] 8 | public class AccessControlListTests 9 | { 10 | [TestMethod] 11 | public void AccessControlList_Constructor() 12 | { 13 | // Arrange 14 | var obj = BaseTests.LoadJson("Get-VSTeamAccessControlList.json"); 15 | 16 | // Act 17 | var target = new AccessControlList(obj[0]); 18 | 19 | // Assert 20 | Assert.AreEqual(1, target.Aces.Count, "Aces"); 21 | Assert.AreEqual(true, target.InheritPermissions, "InheritPermissions"); 22 | Assert.AreEqual("$/00000000-0000-0000-0000-000000000001", target.Token, "Token"); 23 | Assert.AreEqual("$/00000000-0000-0000-0000-000000000001", target.ToString(), "ToString()"); 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /Tests/library/Provider/BuildDefinitionProcessPhaseTests.cs: -------------------------------------------------------------------------------- 1 | using Microsoft.VisualStudio.TestTools.UnitTesting; 2 | using System.Diagnostics.CodeAnalysis; 3 | using System.Management.Automation; 4 | 5 | namespace vsteam_lib.Test.Provider 6 | { 7 | [TestClass] 8 | [ExcludeFromCodeCoverage] 9 | public class BuildDefinitionProcessPhaseTests 10 | { 11 | [TestMethod] 12 | public void BuildDefinitionProcessPhase_GetChildren() 13 | { 14 | // Arrange 15 | var ps = BaseTests.PrepPowerShell(); 16 | var obj = BaseTests.LoadJson("Get-BuildDefinition_AzD.json"); 17 | var buildDef = new BuildDefinition(obj[0], "Project Name", ps); 18 | var target = (PSObject)buildDef.GetChildItem()[0]; 19 | 20 | // Act 21 | var actual = ((BuildDefinitionProcessPhase)target.ImmediateBaseObject).GetChildItem(); 22 | 23 | // Assert 24 | Assert.AreEqual(4, actual.Length); 25 | } 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /Tests/library/Provider/GitRefTests.cs: -------------------------------------------------------------------------------- 1 | using Microsoft.VisualStudio.TestTools.UnitTesting; 2 | using System.Diagnostics.CodeAnalysis; 3 | 4 | namespace vsteam_lib.Test.Provider 5 | { 6 | [TestClass] 7 | [ExcludeFromCodeCoverage] 8 | public class GitRefTests 9 | { 10 | [TestMethod] 11 | public void GitRef_Constructor() 12 | { 13 | // Arrange 14 | var obj = BaseTests.LoadJson("Get-VSTeamGitRef.json"); 15 | 16 | // Act 17 | var actual = new GitRef(obj[0], "TestProject"); 18 | 19 | // Assert 20 | Assert.IsNotNull(actual.Creator, "Creator"); 21 | Assert.AreEqual("refs/heads/master", actual.RefName, "RefName"); 22 | } 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /Tests/library/Provider/LinkTests.cs: -------------------------------------------------------------------------------- 1 | using Microsoft.VisualStudio.TestTools.UnitTesting; 2 | using System.Diagnostics.CodeAnalysis; 3 | 4 | namespace vsteam_lib.Test.Provider 5 | { 6 | [TestClass] 7 | [ExcludeFromCodeCoverage] 8 | public class LinkTests 9 | { 10 | [TestMethod] 11 | public void Link_Constructor() 12 | { 13 | // Arrange 14 | 15 | // Act 16 | 17 | // Assert 18 | } 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /Tests/library/Provider/PermissionsTests.cs: -------------------------------------------------------------------------------- 1 | using Microsoft.VisualStudio.TestTools.UnitTesting; 2 | using System.Diagnostics.CodeAnalysis; 3 | using vsteam_lib.Provider; 4 | 5 | namespace vsteam_lib.Test.Provider 6 | { 7 | [TestClass] 8 | [ExcludeFromCodeCoverage] 9 | public class PermissionsTests 10 | { 11 | [TestMethod] 12 | public void Permissions_GetChildItem() 13 | { 14 | // Arrange 15 | var ps = BaseTests.PrepPowerShell(); 16 | var target = new Permissions("Permissions", ps); 17 | 18 | // Act 19 | var actual = target.GetChildItem(); 20 | 21 | // Assert 22 | Assert.AreEqual(2, actual.Length); 23 | Assert.AreEqual("Groups", ((Directory)actual[0]).Name); 24 | Assert.AreEqual("Users", ((Directory)actual[1]).Name); 25 | } 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /Tests/library/Provider/QueueTests.cs: -------------------------------------------------------------------------------- 1 | using Microsoft.VisualStudio.TestTools.UnitTesting; 2 | using System.Diagnostics.CodeAnalysis; 3 | 4 | namespace vsteam_lib.Test.Provider 5 | { 6 | [TestClass] 7 | [ExcludeFromCodeCoverage] 8 | public class QueueTests 9 | { 10 | [TestMethod] 11 | public void Queue_Constructor() 12 | { 13 | // Arrange 14 | var ps = BaseTests.PrepPowerShell(); 15 | var obj = BaseTests.LoadJson("Get-VSTeamQueue.json"); 16 | 17 | // Act 18 | var target = new Queue(obj[0], "Project Name", ps); 19 | 20 | // Assert 21 | Assert.IsNotNull(target.Pool, "Pool"); 22 | Assert.AreEqual("81", target.Id, "ID"); 23 | Assert.AreEqual("DefaultPool", target.PoolName, "PoolName"); 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /Tests/library/Provider/TeamTests.cs: -------------------------------------------------------------------------------- 1 | using Microsoft.VisualStudio.TestTools.UnitTesting; 2 | using System.Diagnostics.CodeAnalysis; 3 | 4 | namespace vsteam_lib.Test.Provider 5 | { 6 | [TestClass] 7 | [ExcludeFromCodeCoverage] 8 | public class TeamTests 9 | { 10 | [TestMethod] 11 | public void Team_Constructor() 12 | { 13 | // Arrange 14 | var obj = BaseTests.LoadJson("Get-VSTeam.json"); 15 | 16 | // Act 17 | var actual = new Team(obj[0], "ProjectName"); 18 | 19 | // Assert 20 | Assert.AreEqual("The default project team.", actual.Description, "Description"); 21 | } 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /nuget.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /packages/README.md: -------------------------------------------------------------------------------- 1 | # Packages 2 | 3 | This folders holds packages that are required for building but are not available from a NuGet feed. 4 | -------------------------------------------------------------------------------- /packages/ships/CodeOwls.PowerShell.Paths.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MethodsAndPractices/vsteam/ea225893f45b59a7d974a661eebd50f4d2b84c23/packages/ships/CodeOwls.PowerShell.Paths.dll -------------------------------------------------------------------------------- /packages/ships/CodeOwls.PowerShell.Provider.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MethodsAndPractices/vsteam/ea225893f45b59a7d974a661eebd50f4d2b84c23/packages/ships/CodeOwls.PowerShell.Provider.dll -------------------------------------------------------------------------------- /packages/ships/Microsoft.PowerShell.SHiPS.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MethodsAndPractices/vsteam/ea225893f45b59a7d974a661eebd50f4d2b84c23/packages/ships/Microsoft.PowerShell.SHiPS.dll -------------------------------------------------------------------------------- /tools/scripts/Install-ModuleDependencies.ps1: -------------------------------------------------------------------------------- 1 | [CmdletBinding()] 2 | param ( 3 | # path to the module wihtout the name e.g. "C:\path\without\name" and not "C:\path\without\name\VSTeam" 4 | [Parameter(Mandatory = $true)] 5 | [string] 6 | $ModulePath 7 | ) 8 | 9 | # Load the psd1 file so you can read the required modules and install them 10 | $manifest = Import-PowerShellDataFile $ModulePath/VSTeam.psd1 11 | 12 | # Install each module 13 | $manifest.RequiredModules | ForEach-Object { Install-Module -Name $_ -Repository PSGallery -Force -Scope CurrentUser -Verbose } -------------------------------------------------------------------------------- /unit.runsettings: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | .\Tests\TestResults 6 | 7 | 8 | --------------------------------------------------------------------------------