PoshBot.AzDos.psm1
function AddVSTeam { [PoshBot.BotCommand(Aliases = ('AddTeam'), Permissions = 'ManageTeam')] [CmdletBinding()] param( [PoshBot.FromConfig('VSTeamProfile')] [parameter(Mandatory)] [string]$VSTeamProfile, [Alias('Project')] [string] ${ProjectName}, [Parameter(Mandatory=$true, Position=1)] [Alias('TeamName')] [string] ${Name}, [string] ${Description}) process { Set-VSTeamAccount -Profile $VSTeamProfile $PSBoundParameters.Remove('VSTeamProfile') $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand('Add-VSTeam', [System.Management.Automation.CommandTypes]::Function) $output = & $wrappedCmd @PSBoundParameters | Select-Object -Property Name,Description,ProjectName New-PoshBotCardResponse -Type Normal -Title 'Teams' -Text ($output | Format-List * | Out-String) } <# .ForwardHelpTargetName Add-VSTeam .ForwardHelpCategory Function #> } function AddVSTeamAccessControlEntry { [PoshBot.BotCommand(Aliases = ('AddTeamAccessControlEntry'), Permissions = 'ManageTeam')] [CmdletBinding(DefaultParameterSetName='ByNamespace')] param( [PoshBot.FromConfig('VSTeamProfile')] [parameter(Mandatory)] [string]$VSTeamProfile, [Parameter(ParameterSetName='ByNamespace', Mandatory=$true, ValueFromPipeline=$true)] [string] ${SecurityNamespace}, [Parameter(ParameterSetName='ByNamespaceId', Mandatory=$true)] [ValidateScript({ try { [System.Guid]::Parse($_) | Out-Null $true } catch { $false } })] [string] ${SecurityNamespaceId}, [Parameter(ParameterSetName='ByNamespaceId', Mandatory=$true)] [Parameter(ParameterSetName='ByNamespace', Mandatory=$true)] [string] ${Token}, [Parameter(ParameterSetName='ByNamespaceId', Mandatory=$true)] [Parameter(ParameterSetName='ByNamespace', Mandatory=$true)] [string] ${Descriptor}, [Parameter(ParameterSetName='ByNamespaceId', Mandatory=$true)] [Parameter(ParameterSetName='ByNamespace', Mandatory=$true)] [ValidateRange(0, 2147483647)] [int] ${AllowMask}, [Parameter(ParameterSetName='ByNamespaceId', Mandatory=$true)] [Parameter(ParameterSetName='ByNamespace', Mandatory=$true)] [ValidateRange(0, 2147483647)] [int] ${DenyMask}) process { Set-VSTeamAccount -Profile $VSTeamProfile $PSBoundParameters.Remove('VSTeamProfile') $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand('Add-VSTeamAccessControlEntry', [System.Management.Automation.CommandTypes]::Function) $output = & $wrappedCmd @PSBoundParameters New-PoshBotCardResponse -Type Normal -Title 'Team Access Control Entries' -Text ($output | Format-List * | Out-String) } <# .ForwardHelpTargetName Add-VSTeamAccessControlEntry .ForwardHelpCategory Function #> } function AddVSTeamAzureRMServiceEndpoint { [PoshBot.BotCommand(Aliases = ('AddTeamAzureRMServiceEndpoint'), Permissions = 'ManageEndpoint')] [CmdletBinding(DefaultParameterSetName='Automatic')] param( [PoshBot.FromConfig('VSTeamProfile')] [parameter(Mandatory)] [string]$VSTeamProfile, [Alias('Project')] [string] ${ProjectName}, [Parameter(Mandatory=$true, ValueFromPipelineByPropertyName=$true)] [Alias('displayName')] [string] ${subscriptionName}, [Parameter(Mandatory=$true, ValueFromPipelineByPropertyName=$true)] [string] ${subscriptionId}, [Parameter(Mandatory=$true, ValueFromPipelineByPropertyName=$true)] [string] ${subscriptionTenantId}, [Parameter(ParameterSetName='Manual', Mandatory=$true, ValueFromPipelineByPropertyName=$true)] [string] ${servicePrincipalId}, [Parameter(ParameterSetName='Manual', Mandatory=$true, ValueFromPipelineByPropertyName=$true)] [string] ${servicePrincipalKey}, [string] ${endpointName}) process { Set-VSTeamAccount -Profile $VSTeamProfile $PSBoundParameters.Remove('VSTeamProfile') $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand('Add-VSTeamAzureRMServiceEndpoint', [System.Management.Automation.CommandTypes]::Function) $output = & $wrappedCmd @PSBoundParameters New-PoshBotCardResponse -Type Normal -Title 'Azurem RM Endpoints' -Text ($output | Format-List * | Out-String) } <# .ForwardHelpTargetName Add-VSTeamAzureRMServiceEndpoint .ForwardHelpCategory Function #> } function AddVSTeamBuild { [PoshBot.BotCommand(Aliases = ('AddTeamBuild'), Permissions = 'ManageBuild')] [CmdletBinding(DefaultParameterSetName='ByName')] param( [PoshBot.FromConfig('VSTeamProfile')] [parameter(Mandatory)] [string]$VSTeamProfile, [Alias('Project')] [string] ${ProjectName}, [Parameter(ParameterSetName='ByID', ValueFromPipelineByPropertyName=$true)] [int] ${BuildDefinitionId}, [string] ${SourceBranch}, [hashtable] ${BuildParameters}) process { Set-VSTeamAccount -Profile $VSTeamProfile $PSBoundParameters.Remove('VSTeamProfile') $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand('Add-VSTeamBuild', [System.Management.Automation.CommandTypes]::Function) $output = & $wrappedCmd @PSBoundParameters New-PoshBotCardResponse -Type Normal -Title 'Builds' -Text ($output | Format-List * | Out-String) } <# .ForwardHelpTargetName Add-VSTeamBuild .ForwardHelpCategory Function #> } function AddVSTeamBuildDefinition { [PoshBot.BotCommand(Aliases = ('AddTeamBuildDefinition'), Permissions = 'ManageBuild')] [CmdletBinding()] param( [PoshBot.FromConfig('VSTeamProfile')] [parameter(Mandatory)] [string]$VSTeamProfile, [Alias('Project')] [string] ${ProjectName}, [Parameter(Mandatory=$true, Position=0, ValueFromPipelineByPropertyName=$true)] [string] ${InFile}) process { Set-VSTeamAccount -Profile $VSTeamProfile $PSBoundParameters.Remove('VSTeamProfile') $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand('Add-VSTeamBuildDefinition', [System.Management.Automation.CommandTypes]::Function) $output = & $wrappedCmd @PSBoundParameters New-PoshBotCardResponse -Type Normal -Title 'Build Definitions' -Text ($output | Format-List * | Out-String) } <# .ForwardHelpTargetName Add-VSTeamBuildDefinition .ForwardHelpCategory Function #> } function AddVSTeamBuildTag { [PoshBot.BotCommand(Aliases = ('AddTeamBuildTag'), Permissions = 'ManageBuild')] [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Low')] param( [PoshBot.FromConfig('VSTeamProfile')] [parameter(Mandatory)] [string]$VSTeamProfile, [Alias('Project')] [string] ${ProjectName}, [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] [string[]] ${Tags}, [Parameter(Mandatory=$true, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] [Alias('BuildID')] [int[]] ${Id}, [switch] ${Force}) process { Set-VSTeamAccount -Profile $VSTeamProfile $PSBoundParameters.Remove('VSTeamProfile') $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand('Add-VSTeamBuildTag', [System.Management.Automation.CommandTypes]::Function) $output = & $wrappedCmd @PSBoundParameters New-PoshBotCardResponse -Type Normal -Title 'Build Tags' -Text ($output | Format-List * | Out-String) } <# .ForwardHelpTargetName Add-VSTeamBuildTag .ForwardHelpCategory Function #> } function AddVSTeamExtension { [PoshBot.BotCommand(Aliases = ('AddTeamExtension'), Permissions = 'ManageExtension')] [CmdletBinding()] param( [PoshBot.FromConfig('VSTeamProfile')] [parameter(Mandatory)] [string]$VSTeamProfile, [Parameter(Mandatory=$true, Position=0)] [string] ${PublisherId}, [Parameter(Mandatory=$true, Position=1)] [string] ${ExtensionId}, [Parameter(Position=2)] [string] ${Version}) process { Set-VSTeamAccount -Profile $VSTeamProfile $PSBoundParameters.Remove('VSTeamProfile') $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand('Add-VSTeamExtension', [System.Management.Automation.CommandTypes]::Function) $output = & $wrappedCmd @PSBoundParameters New-PoshBotCardResponse -Type Normal -Title 'Extensions' -Text ($output | Format-List * | Out-String) } <# .ForwardHelpTargetName Add-VSTeamExtension .ForwardHelpCategory Function #> } function AddVSTeamFeed { [PoshBot.BotCommand(Aliases = ('AddTeamFeed'), Permissions = 'ManageArtifacts')] [CmdletBinding()] param( [PoshBot.FromConfig('VSTeamProfile')] [parameter(Mandatory)] [string]$VSTeamProfile, [Parameter(Mandatory=$true, Position=0)] [string] ${Name}, [Parameter(Position=1)] [string] ${Description}, [switch] ${EnableUpstreamSources}, [switch] ${showDeletedPackageVersions}) process { Set-VSTeamAccount -Profile $VSTeamProfile $PSBoundParameters.Remove('VSTeamProfile') $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand('Add-VSTeamFeed', [System.Management.Automation.CommandTypes]::Function) $output = & $wrappedCmd @PSBoundParameters New-PoshBotCardResponse -Type Normal -Title 'Feeds' -Text ($output | Format-List * | Out-String) } <# .ForwardHelpTargetName Add-VSTeamFeed .ForwardHelpCategory Function #> } function AddVSTeamGitRepository { [PoshBot.BotCommand(Aliases = ('AddTeamGitRepository'), Permissions = 'ManageCode')] [CmdletBinding()] param( [PoshBot.FromConfig('VSTeamProfile')] [parameter(Mandatory)] [string]$VSTeamProfile, [Alias('Project')] [string] ${ProjectName}, [Parameter(Mandatory=$true, Position=0)] [string] ${Name}) process { Set-VSTeamAccount -Profile $VSTeamProfile $PSBoundParameters.Remove('VSTeamProfile') $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand('Add-VSTeamGitRepository', [System.Management.Automation.CommandTypes]::Function) $output = & $wrappedCmd @PSBoundParameters New-PoshBotCardResponse -Type Normal -Title 'Git Repositories' -Text ($output | Format-List * | Out-String) } <# .ForwardHelpTargetName Add-VSTeamGitRepository .ForwardHelpCategory Function #> } function AddVSTeamGitRepositoryPermission { [PoshBot.BotCommand(Aliases = ('AddTeamGitRepositoryPermission'), Permissions = 'ManageCode')] [CmdletBinding(DefaultParameterSetName='ByProjectAndUser')] param( [PoshBot.FromConfig('VSTeamProfile')] [parameter(Mandatory)] [string]$VSTeamProfile, [Parameter(ParameterSetName='ByRepositoryNameAndDescriptor', Mandatory=$true)] [Parameter(ParameterSetName='ByRepositoryIdAndDescriptor', Mandatory=$true)] [Parameter(ParameterSetName='ByRepositoryNameAndUser', Mandatory=$true)] [Parameter(ParameterSetName='ByRepositoryNameAndGroup', Mandatory=$true)] [Parameter(ParameterSetName='ByRepositoryIdAndUser', Mandatory=$true)] [Parameter(ParameterSetName='ByRepositoryIdAndGroup', Mandatory=$true)] [Parameter(ParameterSetName='ByProjectAndUser', Mandatory=$true)] [Parameter(ParameterSetName='ByProjectAndGroup', Mandatory=$true)] [Parameter(ParameterSetName='ByProjectAndDescriptor', Mandatory=$true)] [string] ${Project}, [Parameter(ParameterSetName='ByRepositoryIdAndDescriptor', Mandatory=$true)] [Parameter(ParameterSetName='ByRepositoryIdAndUser', Mandatory=$true)] [Parameter(ParameterSetName='ByRepositoryIdAndGroup', Mandatory=$true)] [ValidateScript({ try { [System.Guid]::Parse($_) | Out-Null $true } catch { $false } })] [string] ${RepositoryId}, [Parameter(ParameterSetName='ByRepositoryNameAndDescriptor', Mandatory=$true)] [Parameter(ParameterSetName='ByRepositoryNameAndUser', Mandatory=$true)] [Parameter(ParameterSetName='ByRepositoryNameAndGroup', Mandatory=$true)] [string] ${RepositoryName}, [Parameter(ParameterSetName='ByRepositoryNameAndDescriptor')] [Parameter(ParameterSetName='ByRepositoryIdAndDescriptor')] [Parameter(ParameterSetName='ByRepositoryNameAndUser')] [Parameter(ParameterSetName='ByRepositoryNameAndGroup')] [Parameter(ParameterSetName='ByRepositoryIdAndUser')] [Parameter(ParameterSetName='ByRepositoryIdAndGroup')] [string] ${BranchName}, [Parameter(ParameterSetName='ByRepositoryNameAndDescriptor', Mandatory=$true)] [Parameter(ParameterSetName='ByRepositoryIdAndDescriptor', Mandatory=$true)] [Parameter(ParameterSetName='ByProjectAndDescriptor', Mandatory=$true)] [string] ${Descriptor}, [Parameter(ParameterSetName='ByRepositoryNameAndGroup', Mandatory=$true)] [Parameter(ParameterSetName='ByRepositoryIdAndGroup', Mandatory=$true)] [Parameter(ParameterSetName='ByProjectAndGroup', Mandatory=$true)] [string] ${Group}, [Parameter(ParameterSetName='ByRepositoryNameAndUser', Mandatory=$true)] [Parameter(ParameterSetName='ByRepositoryIdAndUser', Mandatory=$true)] [Parameter(ParameterSetName='ByProjectAndUser', Mandatory=$true)] [string] ${User}, [Parameter(ParameterSetName='ByRepositoryNameAndDescriptor', Mandatory=$true)] [Parameter(ParameterSetName='ByRepositoryIdAndDescriptor', Mandatory=$true)] [Parameter(ParameterSetName='ByRepositoryNameAndUser', Mandatory=$true)] [Parameter(ParameterSetName='ByRepositoryNameAndGroup', Mandatory=$true)] [Parameter(ParameterSetName='ByRepositoryIdAndUser', Mandatory=$true)] [Parameter(ParameterSetName='ByRepositoryIdAndGroup', Mandatory=$true)] [Parameter(ParameterSetName='ByProjectAndUser', Mandatory=$true)] [Parameter(ParameterSetName='ByProjectAndGroup', Mandatory=$true)] [Parameter(ParameterSetName='ByProjectAndDescriptor', Mandatory=$true)] [string] ${Allow}, [Parameter(ParameterSetName='ByRepositoryNameAndDescriptor', Mandatory=$true)] [Parameter(ParameterSetName='ByRepositoryIdAndDescriptor', Mandatory=$true)] [Parameter(ParameterSetName='ByRepositoryNameAndUser', Mandatory=$true)] [Parameter(ParameterSetName='ByRepositoryNameAndGroup', Mandatory=$true)] [Parameter(ParameterSetName='ByRepositoryIdAndUser', Mandatory=$true)] [Parameter(ParameterSetName='ByRepositoryIdAndGroup', Mandatory=$true)] [Parameter(ParameterSetName='ByProjectAndUser', Mandatory=$true)] [Parameter(ParameterSetName='ByProjectAndGroup', Mandatory=$true)] [Parameter(ParameterSetName='ByProjectAndDescriptor', Mandatory=$true)] [string] ${Deny}) process { Set-VSTeamAccount -Profile $VSTeamProfile $PSBoundParameters.Remove('VSTeamProfile') $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand('Add-VSTeamGitRepositoryPermission', [System.Management.Automation.CommandTypes]::Function) $output = & $wrappedCmd @PSBoundParameters New-PoshBotCardResponse -Type Normal -Title 'Git Reporitory Permissions' -Text ($output | Format-List * | Out-String) } <# .ForwardHelpTargetName Add-VSTeamGitRepositoryPermission .ForwardHelpCategory Function #> } function AddVSTeamKubernetesEndpoint { [PoshBot.BotCommand(Aliases = ('AddTeamKubernetesEndpoint'), Permissions = 'ManageEndpoint')] [CmdletBinding()] param( [PoshBot.FromConfig('VSTeamProfile')] [parameter(Mandatory)] [string]$VSTeamProfile, [Alias('Project')] [string] ${ProjectName}, [Parameter(Mandatory=$true, Position=0, ValueFromPipelineByPropertyName=$true)] [string] ${endpointName}, [Parameter(Mandatory=$true, Position=1, ValueFromPipelineByPropertyName=$true)] [string] ${kubeconfig}, [Parameter(Mandatory=$true, Position=2, ValueFromPipelineByPropertyName=$true)] [string] ${kubernetesUrl}, [Parameter(Mandatory=$true, Position=3, ValueFromPipelineByPropertyName=$true)] [string] ${clientCertificateData}, [Parameter(Mandatory=$true, Position=4, ValueFromPipelineByPropertyName=$true)] [string] ${clientKeyData}, [switch] ${acceptUntrustedCerts}, [switch] ${generatePfx}) process { Set-VSTeamAccount -Profile $VSTeamProfile $PSBoundParameters.Remove('VSTeamProfile') $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand('Add-VSTeamKubernetesEndpoint', [System.Management.Automation.CommandTypes]::Function) $output = & $wrappedCmd @PSBoundParameters New-PoshBotCardResponse -Type Normal -Title 'Kubernetes Endpoints' -Text ($output | Format-List * | Out-String) } <# .ForwardHelpTargetName Add-VSTeamKubernetesEndpoint .ForwardHelpCategory Function #> } function AddVSTeamNuGetEndpoint { [PoshBot.BotCommand(Aliases = ('AddTeamNuGetEndpoint'), Permissions = 'ManageEndpoint')] [CmdletBinding(DefaultParameterSetName='SecureApiKey')] param( [PoshBot.FromConfig('VSTeamProfile')] [parameter(Mandatory)] [string]$VSTeamProfile, [Alias('Project')] [string] ${ProjectName}, [Parameter(Mandatory=$true, ValueFromPipelineByPropertyName=$true)] [string] ${EndpointName}, [Parameter(Mandatory=$true, ValueFromPipelineByPropertyName=$true)] [string] ${NuGetUrl}, [Parameter(ParameterSetName='ClearToken', Mandatory=$true, HelpMessage='Personal Access Token')] [string] ${PersonalAccessToken}, [Parameter(ParameterSetName='ClearApiKey', Mandatory=$true, HelpMessage='ApiKey')] [string] ${ApiKey}, [Parameter(ParameterSetName='SecurePassword', Mandatory=$true, HelpMessage='Username')] [string] ${Username}, [Parameter(ParameterSetName='SecureToken', Mandatory=$true, HelpMessage='Personal Access Token')] [securestring] ${SecurePersonalAccessToken}, [Parameter(ParameterSetName='SecureApiKey', Mandatory=$true, HelpMessage='ApiKey')] [securestring] ${SecureApiKey}, [Parameter(ParameterSetName='SecurePassword', Mandatory=$true, HelpMessage='Password')] [securestring] ${SecurePassword}) process { Set-VSTeamAccount -Profile $VSTeamProfile $PSBoundParameters.Remove('VSTeamProfile') $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand('Add-VSTeamNuGetEndpoint', [System.Management.Automation.CommandTypes]::Function) $output = & $wrappedCmd @PSBoundParameters New-PoshBotCardResponse -Type Normal -Title 'NuGet Endpoints' -Text ($output | Format-List * | Out-String) } <# .ForwardHelpTargetName Add-VSTeamNuGetEndpoint .ForwardHelpCategory Function #> } function AddVSTeamPolicy { [PoshBot.BotCommand(Aliases = ('AddTeamPolicy'), Permissions = 'ManageCodePolicy')] [CmdletBinding()] param( [PoshBot.FromConfig('VSTeamProfile')] [parameter(Mandatory)] [string]$VSTeamProfile, [Alias('Project')] [string] ${ProjectName}, [Parameter(Mandatory=$true, Position=0)] [guid] ${type}, [switch] ${enabled}, [switch] ${blocking}, [Parameter(Mandatory=$true, Position=1)] [hashtable] ${settings}) process { Set-VSTeamAccount -Profile $VSTeamProfile $PSBoundParameters.Remove('VSTeamProfile') $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand('Add-VSTeamPolicy', [System.Management.Automation.CommandTypes]::Function) $output = & $wrappedCmd @PSBoundParameters New-PoshBotCardResponse -Type Normal -Title 'Team Policies' -Text ($output | Format-List * | Out-String) } <# .ForwardHelpTargetName Add-VSTeamPolicy .ForwardHelpCategory Function #> } function AddVSTeamProject { [PoshBot.BotCommand(Aliases = ('AddTeamProject'), Permissions = 'ManageProject')] [CmdletBinding()] param( [PoshBot.FromConfig('VSTeamProfile')] [parameter(Mandatory)] [string]$VSTeamProfile, [Parameter(Mandatory=$true, Position=0)] [Alias('Name')] [string] ${ProjectName}, [Parameter(Position=1)] [string] ${Description}, [switch] ${TFVC}) process { Set-VSTeamAccount -Profile $VSTeamProfile $PSBoundParameters.Remove('VSTeamProfile') $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand('Add-VSTeamProject', [System.Management.Automation.CommandTypes]::Function) $output = & $wrappedCmd @PSBoundParameters | Select-Object -Property Name,Description New-PoshBotCardResponse -Type Normal -Title 'Projects' -Text ($output | Format-List * | Out-String) } <# .ForwardHelpTargetName Add-VSTeamProject .ForwardHelpCategory Function #> } function AddVSTeamProjectPermission { [PoshBot.BotCommand(Aliases = ('AddTeamProjectPermission'), Permissions = 'ManageProject')] [CmdletBinding(DefaultParameterSetName='ByProjectAndUser')] param( [PoshBot.FromConfig('VSTeamProfile')] [parameter(Mandatory)] [string]$VSTeamProfile, [Parameter(ParameterSetName='ByProjectAndUser', Mandatory=$true)] [Parameter(ParameterSetName='ByProjectAndGroup', Mandatory=$true)] [Parameter(ParameterSetName='ByProjectAndDescriptor', Mandatory=$true)] [string] ${Project}, [Parameter(ParameterSetName='ByProjectAndDescriptor', Mandatory=$true)] [string] ${Descriptor}, [Parameter(ParameterSetName='ByProjectAndGroup', Mandatory=$true)] [string] ${Group}, [Parameter(ParameterSetName='ByProjectAndUser', Mandatory=$true)] [string] ${User}, [Parameter(ParameterSetName='ByProjectAndUser', Mandatory=$true)] [Parameter(ParameterSetName='ByProjectAndGroup', Mandatory=$true)] [Parameter(ParameterSetName='ByProjectAndDescriptor', Mandatory=$true)] [string] ${Allow}, [Parameter(ParameterSetName='ByProjectAndUser', Mandatory=$true)] [Parameter(ParameterSetName='ByProjectAndGroup', Mandatory=$true)] [Parameter(ParameterSetName='ByProjectAndDescriptor', Mandatory=$true)] [string] ${Deny}) process { Set-VSTeamAccount -Profile $VSTeamProfile $PSBoundParameters.Remove('VSTeamProfile') $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand('Add-VSTeamProjectPermission', [System.Management.Automation.CommandTypes]::Function) $output = & $wrappedCmd @PSBoundParameters New-PoshBotCardResponse -Type Normal -Title 'Project Permissions' -Text ($output | Format-List * | Out-String) } <# .ForwardHelpTargetName Add-VSTeamProjectPermission .ForwardHelpCategory Function #> } function AddVSTeamRelease { [PoshBot.BotCommand(Aliases = ('AddTeamRelease','QueueRelease'), Permissions = 'QueueRelease')] [CmdletBinding(DefaultParameterSetName='ById', SupportsShouldProcess=$true, ConfirmImpact='Medium')] param( [PoshBot.FromConfig('VSTeamProfile')] [parameter(Mandatory)] [string]$VSTeamProfile, [Alias('Project')] [string] ${ProjectName}, [Parameter(ParameterSetName='ById', Mandatory=$true)] [int] ${DefinitionId}, [string] ${Description}, [Parameter(ParameterSetName='ById', Mandatory=$true)] [string] ${ArtifactAlias}, [string] ${Name}, [Parameter(ParameterSetName='ById', Mandatory=$true)] [string] ${BuildId}, [string] ${SourceBranch}, [switch] ${Force}) process { Set-VSTeamAccount -Profile $VSTeamProfile $PSBoundParameters.Remove('VSTeamProfile') $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand('Add-VSTeamRelease', [System.Management.Automation.CommandTypes]::Function) $output = & $wrappedCmd @PSBoundParameters New-PoshBotCardResponse -Type Normal -Title 'Releases' -Text ($output | Format-List * | Out-String) } <# .ForwardHelpTargetName Add-VSTeamRelease .ForwardHelpCategory Function #> } function AddVSTeamReleaseDefinition { [PoshBot.BotCommand(Aliases = ('AddTeamReleaseDefinition'), Permissions = 'ManageRelease')] [CmdletBinding()] param( [PoshBot.FromConfig('VSTeamProfile')] [parameter(Mandatory)] [string]$VSTeamProfile, [Alias('Project')] [string] ${ProjectName}, [Parameter(Mandatory=$true, Position=0, ValueFromPipelineByPropertyName=$true)] [string] ${inFile}) process { Set-VSTeamAccount -Profile $VSTeamProfile $PSBoundParameters.Remove('VSTeamProfile') $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand('Add-VSTeamReleaseDefinition', [System.Management.Automation.CommandTypes]::Function) $output = & $wrappedCmd @PSBoundParameters New-PoshBotCardResponse -Type Normal -Title 'Release Definitions' -Text ($output | Format-List * | Out-String) } <# .ForwardHelpTargetName Add-VSTeamReleaseDefinition .ForwardHelpCategory Function #> } function AddVSTeamServiceEndpoint { [PoshBot.BotCommand(Aliases = ('AddTeamServiceEndpoint'), Permissions = 'ManageEndpoint')] [CmdletBinding(DefaultParameterSetName='Secure')] param( [PoshBot.FromConfig('VSTeamProfile')] [parameter(Mandatory)] [string]$VSTeamProfile, [Alias('Project')] [string] ${ProjectName}, [Parameter(Mandatory=$true, Position=0, ValueFromPipelineByPropertyName=$true)] [string] ${endpointName}, [Parameter(Mandatory=$true, Position=1, ValueFromPipelineByPropertyName=$true)] [string] ${endpointType}, [Parameter(Mandatory=$true, Position=2, ValueFromPipelineByPropertyName=$true)] [hashtable] ${object}) process { Set-VSTeamAccount -Profile $VSTeamProfile $PSBoundParameters.Remove('VSTeamProfile') $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand('Add-VSTeamServiceEndpoint', [System.Management.Automation.CommandTypes]::Function) $output = & $wrappedCmd @PSBoundParameters New-PoshBotCardResponse -Type Normal -Title 'Service Endpoints' -Text ($output | Format-List * | Out-String) } <# .ForwardHelpTargetName Add-VSTeamServiceEndpoint .ForwardHelpCategory Function #> } function AddVSTeamServiceFabricEndpoint { [PoshBot.BotCommand(Aliases = ('AddTeamServiceFabricEndpoint'), Permissions = 'ManageEndpoint')] [CmdletBinding(DefaultParameterSetName='Certificate')] param( [PoshBot.FromConfig('VSTeamProfile')] [parameter(Mandatory)] [string]$VSTeamProfile, [Alias('Project')] [string] ${ProjectName}, [Parameter(Mandatory=$true, ValueFromPipelineByPropertyName=$true)] [Alias('displayName')] [string] ${endpointName}, [Parameter(Mandatory=$true, ValueFromPipelineByPropertyName=$true)] [string] ${url}, [Parameter(ParameterSetName='Certificate', Mandatory=$true, ValueFromPipelineByPropertyName=$true)] [string] ${certificate}, [Parameter(ParameterSetName='Certificate', Mandatory=$true, ValueFromPipelineByPropertyName=$true)] [securestring] ${certificatePassword}, [Parameter(ParameterSetName='AzureAd', Mandatory=$true, ValueFromPipelineByPropertyName=$true)] [Parameter(ParameterSetName='Certificate', Mandatory=$true, ValueFromPipelineByPropertyName=$true)] [string] ${serverCertThumbprint}, [Parameter(ParameterSetName='AzureAd', Mandatory=$true, ValueFromPipelineByPropertyName=$true)] [string] ${username}, [Parameter(ParameterSetName='AzureAd', Mandatory=$true, ValueFromPipelineByPropertyName=$true)] [securestring] ${password}, [Parameter(ParameterSetName='None', ValueFromPipelineByPropertyName=$true)] [string] ${clusterSpn}, [Parameter(ParameterSetName='None', ValueFromPipelineByPropertyName=$true)] [bool] ${useWindowsSecurity}) process { Set-VSTeamAccount -Profile $VSTeamProfile $PSBoundParameters.Remove('VSTeamProfile') $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand('Add-VSTeamServiceFabricEndpoint', [System.Management.Automation.CommandTypes]::Function) $output = & $wrappedCmd @PSBoundParameters New-PoshBotCardResponse -Type Normal -Title 'Service Fabric Endpoints' -Text ($output | Format-List * | Out-String) } <# .ForwardHelpTargetName Add-VSTeamServiceFabricEndpoint .ForwardHelpCategory Function #> } function AddVSTeamSonarQubeEndpoint { [PoshBot.BotCommand(Aliases = ('AddTeamSonarQubeEndpoint'), Permissions = 'ManageEndpoint')] [CmdletBinding(DefaultParameterSetName='Secure')] param( [PoshBot.FromConfig('VSTeamProfile')] [parameter(Mandatory)] [string]$VSTeamProfile, [Alias('Project')] [string] ${ProjectName}, [Parameter(Mandatory=$true, ValueFromPipelineByPropertyName=$true)] [string] ${endpointName}, [Parameter(Mandatory=$true, ValueFromPipelineByPropertyName=$true)] [string] ${sonarqubeUrl}, [Parameter(ParameterSetName='Plain', Mandatory=$true, Position=2, HelpMessage='Personal Access Token')] [string] ${personalAccessToken}, [Parameter(ParameterSetName='Secure', Mandatory=$true, HelpMessage='Personal Access Token')] [securestring] ${securePersonalAccessToken}) process { Set-VSTeamAccount -Profile $VSTeamProfile $PSBoundParameters.Remove('VSTeamProfile') $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand('Add-VSTeamSonarQubeEndpoint', [System.Management.Automation.CommandTypes]::Function) $output = & $wrappedCmd @PSBoundParameters New-PoshBotCardResponse -Type Normal -Title 'SonarQube Endpoints' -Text ($output | Format-List * | Out-String) } <# .ForwardHelpTargetName Add-VSTeamSonarQubeEndpoint .ForwardHelpCategory Function #> } function AddVSTeamUserEntitlement { [PoshBot.BotCommand(Aliases = ('AddTeamUserEntitlement'), Permissions = 'ManageUsers')] [CmdletBinding()] param( [PoshBot.FromConfig('VSTeamProfile')] [parameter(Mandatory)] [string]$VSTeamProfile, [Alias('Project')] [string] ${ProjectName}, [Parameter(Mandatory=$true, Position=0)] [Alias('UserEmail')] [string] ${Email}, [Parameter(Position=1)] [ValidateSet('Advanced','EarlyAdopter','Express','None','Professional','StakeHolder')] [string] ${License}, [Parameter(Position=2)] [ValidateSet('Custom','ProjectAdministrator','ProjectContributor','ProjectReader','ProjectStakeholder')] [string] ${Group}) process { Set-VSTeamAccount -Profile $VSTeamProfile $PSBoundParameters.Remove('VSTeamProfile') $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand('Add-VSTeamUserEntitlement', [System.Management.Automation.CommandTypes]::Function) $output = & $wrappedCmd @PSBoundParameters New-PoshBotCardResponse -Type Normal -Title 'User Entitlements' -Text ($output | Format-List * | Out-String) } <# .ForwardHelpTargetName Add-VSTeamUserEntitlement .ForwardHelpCategory Function #> } function AddVSTeamVariableGroup { [PoshBot.BotCommand(Aliases = ('AddTeamVariableGroup'), Permissions = 'ManageVariableGroup')] [CmdletBinding()] param( [PoshBot.FromConfig('VSTeamProfile')] [parameter(Mandatory)] [string]$VSTeamProfile, [Alias('Project')] [string] ${ProjectName}, [Parameter(Mandatory=$true, Position=0, ValueFromPipelineByPropertyName=$true)] [string] ${Name}, [Parameter(Mandatory=$true, Position=1, ValueFromPipelineByPropertyName=$true)] [string] ${Description}, [Parameter(Mandatory=$true, Position=2, ValueFromPipelineByPropertyName=$true)] [hashtable] ${Variables}) process { Set-VSTeamAccount -Profile $VSTeamProfile $PSBoundParameters.Remove('VSTeamProfile') $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand('Add-VSTeamVariableGroup', [System.Management.Automation.CommandTypes]::Function) $output = & $wrappedCmd @PSBoundParameters New-PoshBotCardResponse -Type Normal -Title 'Variable Groups' -Text ($output | Format-List * | Out-String) } <# .ForwardHelpTargetName Add-VSTeamVariableGroup .ForwardHelpCategory Function #> } function AddVSTeamWorkItem { [PoshBot.BotCommand(Aliases = ('AddTeamWorkItem'))] [CmdletBinding()] param( [PoshBot.FromConfig('VSTeamProfile')] [parameter(Mandatory)] [string]$VSTeamProfile, [Alias('Project')] [string] ${ProjectName}, [Parameter(Mandatory=$true, Position=0)] [string] ${Title}, [Parameter(Position=1)] [string] ${Description}, [Parameter(Position=2)] [string] ${IterationPath}, [Parameter(Position=3)] [string] ${AssignedTo}, [Parameter(Position=4)] [int] ${ParentId}) process { Set-VSTeamAccount -Profile $VSTeamProfile $PSBoundParameters.Remove('VSTeamProfile') $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand('Add-VSTeamWorkItem', [System.Management.Automation.CommandTypes]::Function) $output = & $wrappedCmd @PSBoundParameters New-PoshBotCardResponse -Type Normal -Title 'Work Items' -Text ($output | Format-List * | Out-String) } <# .ForwardHelpTargetName Add-VSTeamWorkItem .ForwardHelpCategory Function #> } function AddVSTeamWorkItemAreaPermission { [PoshBot.BotCommand(Aliases = ('AddTeamWorkItemAreaPermission'), Permissions = 'ManageWorkItem')] [CmdletBinding(DefaultParameterSetName='ByProjectAndAreaIdAndUser')] param( [PoshBot.FromConfig('VSTeamProfile')] [parameter(Mandatory)] [string]$VSTeamProfile, [Parameter(ParameterSetName='ByProjectAndAreaPathAndGroup', Mandatory=$true)] [Parameter(ParameterSetName='ByProjectAndAreaPathAndUser', Mandatory=$true)] [Parameter(ParameterSetName='ByProjectAndAreaPathAndDescriptor', Mandatory=$true)] [Parameter(ParameterSetName='ByProjectAndAreaIdAndUser', Mandatory=$true)] [Parameter(ParameterSetName='ByProjectAndAreaIdAndGroup', Mandatory=$true)] [Parameter(ParameterSetName='ByProjectAndAreaIdAndDescriptor', Mandatory=$true)] [string] ${Project}, [Parameter(ParameterSetName='ByProjectAndAreaIdAndUser', Mandatory=$true)] [Parameter(ParameterSetName='ByProjectAndAreaIdAndGroup', Mandatory=$true)] [Parameter(ParameterSetName='ByProjectAndAreaIdAndDescriptor', Mandatory=$true)] [int] ${AreaID}, [Parameter(ParameterSetName='ByProjectAndAreaPathAndGroup', Mandatory=$true)] [Parameter(ParameterSetName='ByProjectAndAreaPathAndUser', Mandatory=$true)] [Parameter(ParameterSetName='ByProjectAndAreaPathAndDescriptor', Mandatory=$true)] [string] ${AreaPath}, [Parameter(ParameterSetName='ByProjectAndAreaPathAndDescriptor', Mandatory=$true)] [Parameter(ParameterSetName='ByProjectAndAreaIdAndDescriptor', Mandatory=$true)] [string] ${Descriptor}, [Parameter(ParameterSetName='ByProjectAndAreaPathAndGroup', Mandatory=$true)] [Parameter(ParameterSetName='ByProjectAndAreaIdAndGroup', Mandatory=$true)] [string] ${Group}, [Parameter(ParameterSetName='ByProjectAndAreaIdAndUser', Mandatory=$true)] [Parameter(ParameterSetName='ByProjectAndAreaPathAndUser', Mandatory=$true)] [string] ${User}, [Parameter(ParameterSetName='ByProjectAndAreaPathAndGroup', Mandatory=$true)] [Parameter(ParameterSetName='ByProjectAndAreaPathAndUser', Mandatory=$true)] [Parameter(ParameterSetName='ByProjectAndAreaPathAndDescriptor', Mandatory=$true)] [Parameter(ParameterSetName='ByProjectAndAreaIdAndUser', Mandatory=$true)] [Parameter(ParameterSetName='ByProjectAndAreaIdAndGroup', Mandatory=$true)] [Parameter(ParameterSetName='ByProjectAndAreaIdAndDescriptor', Mandatory=$true)] [string] ${Allow}, [Parameter(ParameterSetName='ByProjectAndAreaPathAndGroup', Mandatory=$true)] [Parameter(ParameterSetName='ByProjectAndAreaPathAndUser', Mandatory=$true)] [Parameter(ParameterSetName='ByProjectAndAreaPathAndDescriptor', Mandatory=$true)] [Parameter(ParameterSetName='ByProjectAndAreaIdAndUser', Mandatory=$true)] [Parameter(ParameterSetName='ByProjectAndAreaIdAndGroup', Mandatory=$true)] [Parameter(ParameterSetName='ByProjectAndAreaIdAndDescriptor', Mandatory=$true)] [string] ${Deny}) process { Set-VSTeamAccount -Profile $VSTeamProfile $PSBoundParameters.Remove('VSTeamProfile') $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand('Add-VSTeamWorkItemAreaPermission', [System.Management.Automation.CommandTypes]::Function) $output = & $wrappedCmd @PSBoundParameters New-PoshBotCardResponse -Type Normal -Title 'Area Permissions' -Text ($output | Format-List * | Out-String) } <# .ForwardHelpTargetName Add-VSTeamWorkItemAreaPermission .ForwardHelpCategory Function #> } function AddVSTeamWorkItemIterationPermission { [PoshBot.BotCommand(Aliases = ('AddTeamWorkItemIterationPermission'), Permissions = 'ManageWorkItem')] [CmdletBinding(DefaultParameterSetName='ByProjectAndIterationIdAndUser')] param( [PoshBot.FromConfig('VSTeamProfile')] [parameter(Mandatory)] [string]$VSTeamProfile, [Parameter(ParameterSetName='ByProjectAndIterationPathAndGroup', Mandatory=$true)] [Parameter(ParameterSetName='ByProjectAndIterationPathAndUser', Mandatory=$true)] [Parameter(ParameterSetName='ByProjectAndIterationPathAndDescriptor', Mandatory=$true)] [Parameter(ParameterSetName='ByProjectAndIterationIdAndUser', Mandatory=$true)] [Parameter(ParameterSetName='ByProjectAndIterationIdAndGroup', Mandatory=$true)] [Parameter(ParameterSetName='ByProjectAndIterationIdAndDescriptor', Mandatory=$true)] [string] ${Project}, [Parameter(ParameterSetName='ByProjectAndIterationIdAndUser', Mandatory=$true)] [Parameter(ParameterSetName='ByProjectAndIterationIdAndGroup', Mandatory=$true)] [Parameter(ParameterSetName='ByProjectAndIterationIdAndDescriptor', Mandatory=$true)] [int] ${IterationID}, [Parameter(ParameterSetName='ByProjectAndIterationPathAndGroup', Mandatory=$true)] [Parameter(ParameterSetName='ByProjectAndIterationPathAndUser', Mandatory=$true)] [Parameter(ParameterSetName='ByProjectAndIterationPathAndDescriptor', Mandatory=$true)] [string] ${IterationPath}, [Parameter(ParameterSetName='ByProjectAndIterationPathAndDescriptor', Mandatory=$true)] [Parameter(ParameterSetName='ByProjectAndIterationIdAndDescriptor', Mandatory=$true)] [string] ${Descriptor}, [Parameter(ParameterSetName='ByProjectAndIterationPathAndGroup', Mandatory=$true)] [Parameter(ParameterSetName='ByProjectAndIterationIdAndGroup', Mandatory=$true)] [string] ${Group}, [Parameter(ParameterSetName='ByProjectAndIterationIdAndUser', Mandatory=$true)] [Parameter(ParameterSetName='ByProjectAndIterationPathAndUser', Mandatory=$true)] [string] ${User}, [Parameter(ParameterSetName='ByProjectAndIterationPathAndGroup', Mandatory=$true)] [Parameter(ParameterSetName='ByProjectAndIterationPathAndUser', Mandatory=$true)] [Parameter(ParameterSetName='ByProjectAndIterationPathAndDescriptor', Mandatory=$true)] [Parameter(ParameterSetName='ByProjectAndIterationIdAndUser', Mandatory=$true)] [Parameter(ParameterSetName='ByProjectAndIterationIdAndGroup', Mandatory=$true)] [Parameter(ParameterSetName='ByProjectAndIterationIdAndDescriptor', Mandatory=$true)] [string] ${Allow}, [Parameter(ParameterSetName='ByProjectAndIterationPathAndGroup', Mandatory=$true)] [Parameter(ParameterSetName='ByProjectAndIterationPathAndUser', Mandatory=$true)] [Parameter(ParameterSetName='ByProjectAndIterationPathAndDescriptor', Mandatory=$true)] [Parameter(ParameterSetName='ByProjectAndIterationIdAndUser', Mandatory=$true)] [Parameter(ParameterSetName='ByProjectAndIterationIdAndGroup', Mandatory=$true)] [Parameter(ParameterSetName='ByProjectAndIterationIdAndDescriptor', Mandatory=$true)] [string] ${Deny}) process { Set-VSTeamAccount -Profile $VSTeamProfile $PSBoundParameters.Remove('VSTeamProfile') $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand('Add-VSTeamWorkItemIterationPermission', [System.Management.Automation.CommandTypes]::Function) $output = & $wrappedCmd @PSBoundParameters New-PoshBotCardResponse -Type Normal -Title 'Iteration Permissions' -Text ($output | Format-List * | Out-String) } <# .ForwardHelpTargetName Add-VSTeamWorkItemIterationPermission .ForwardHelpCategory Function #> } function DisableVSTeamAgent { [PoshBot.BotCommand(Aliases = ('DisableTeamAgent'), Permissions = 'ManageAgent')] [CmdletBinding()] param( [PoshBot.FromConfig('VSTeamProfile')] [parameter(Mandatory)] [string]$VSTeamProfile, [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] [int] ${PoolId}, [Parameter(Mandatory=$true, Position=1, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] [Alias('AgentID')] [int[]] ${Id}) process { Set-VSTeamAccount -Profile $VSTeamProfile $PSBoundParameters.Remove('VSTeamProfile') $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand('Disable-VSTeamAgent', [System.Management.Automation.CommandTypes]::Function) $output = & $wrappedCmd @PSBoundParameters New-PoshBotCardResponse -Type Normal -Title 'Agents' -Text ($output | Format-List * | Out-String) } <# .ForwardHelpTargetName Disable-VSTeamAgent .ForwardHelpCategory Function #> } function EnableVSTeamAgent { [PoshBot.BotCommand(Aliases = ('EnableTeamAgent'), Permissions = 'ManageAgent')] [CmdletBinding()] param( [PoshBot.FromConfig('VSTeamProfile')] [parameter(Mandatory)] [string]$VSTeamProfile, [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] [int] ${PoolId}, [Parameter(Mandatory=$true, Position=1, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] [Alias('AgentID')] [int[]] ${Id}) process { Set-VSTeamAccount -Profile $VSTeamProfile $PSBoundParameters.Remove('VSTeamProfile') $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand('Enable-VSTeamAgent', [System.Management.Automation.CommandTypes]::Function) $output = & $wrappedCmd @PSBoundParameters New-PoshBotCardResponse -Type Normal -Title 'Agents' -Text ($output | Format-List * | Out-String) } <# .ForwardHelpTargetName Enable-VSTeamAgent .ForwardHelpCategory Function #> } function GetVSTeam { [PoshBot.BotCommand(Aliases = ('GetTeam'))] [CmdletBinding(DefaultParameterSetName='List')] param( [PoshBot.FromConfig('VSTeamProfile')] [parameter(Mandatory)] [string]$VSTeamProfile, [Alias('Project')] [string] ${ProjectName}, [Parameter(ParameterSetName='List')] [int] ${Top}, [Parameter(ParameterSetName='List')] [int] ${Skip}, [Parameter(ParameterSetName='ByID')] [Alias('TeamId')] [string[]] ${Id}, [Parameter(ParameterSetName='ByName')] [Alias('TeamName')] [string[]] ${Name}) process { Set-VSTeamAccount -Profile $VSTeamProfile $PSBoundParameters.Remove('VSTeamProfile') $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand('Get-VSTeam', [System.Management.Automation.CommandTypes]::Function) $output = & $wrappedCmd @PSBoundParameters | Select-Object -Property Name,Description,ProjectName New-PoshBotCardResponse -Type Normal -Title 'Teams' -Text ($output | Format-List * | Out-String) } <# .ForwardHelpTargetName Get-VSTeam .ForwardHelpCategory Function #> } function GetVSTeamAccessControlList { [PoshBot.BotCommand(Aliases = ('GetTeamAccessControlList'), Permissions = 'ManageTeam')] [CmdletBinding(DefaultParameterSetName='ByNamespace')] param( [PoshBot.FromConfig('VSTeamProfile')] [parameter(Mandatory)] [string]$VSTeamProfile, [Parameter(ParameterSetName='ByNamespace', Mandatory=$true, ValueFromPipeline=$true)] [string] ${SecurityNamespace}, [Parameter(ParameterSetName='ByNamespaceId', Mandatory=$true, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] [Alias('ID')] [ValidateScript({ try { [System.Guid]::Parse($_) | Out-Null $true } catch { $false } })] [string] ${SecurityNamespaceId}, [Parameter(ParameterSetName='ByNamespaceId')] [Parameter(ParameterSetName='ByNamespace')] [string] ${Token}, [Parameter(ParameterSetName='ByNamespaceId')] [Parameter(ParameterSetName='ByNamespace')] [string[]] ${Descriptors}, [Parameter(ParameterSetName='ByNamespaceId')] [Parameter(ParameterSetName='ByNamespace')] [switch] ${IncludeExtendedInfo}, [Parameter(ParameterSetName='ByNamespaceId')] [Parameter(ParameterSetName='ByNamespace')] [switch] ${Recurse}) process { Set-VSTeamAccount -Profile $VSTeamProfile $PSBoundParameters.Remove('VSTeamProfile') $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand('Get-VSTeamAccessControlList', [System.Management.Automation.CommandTypes]::Function) $output = & $wrappedCmd @PSBoundParameters New-PoshBotCardResponse -Type Normal -Title 'Team Access Control Lists' -Text ($output | Format-List * | Out-String) } <# .ForwardHelpTargetName Get-VSTeamAccessControlList .ForwardHelpCategory Function #> } function GetVSTeamAgent { [PoshBot.BotCommand(Aliases = ('GetTeamAgent'))] [CmdletBinding(DefaultParameterSetName='List')] param( [PoshBot.FromConfig('VSTeamProfile')] [parameter(Mandatory)] [string]$VSTeamProfile, [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] [int] ${PoolId}, [Parameter(ParameterSetName='ByID', Mandatory=$true, Position=1, ValueFromPipelineByPropertyName=$true)] [Alias('AgentID')] [int] ${Id}) process { Set-VSTeamAccount -Profile $VSTeamProfile $PSBoundParameters.Remove('VSTeamProfile') $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand('Get-VSTeamAgent', [System.Management.Automation.CommandTypes]::Function) $output = & $wrappedCmd @PSBoundParameters New-PoshBotCardResponse -Type Normal -Title 'Agents' -Text ($output | Format-List * | Out-String) } <# .ForwardHelpTargetName Get-VSTeamAgent .ForwardHelpCategory Function #> } function GetVSTeamApproval { [PoshBot.BotCommand(Aliases = ('GetTeamApproval'))] [CmdletBinding()] param( [PoshBot.FromConfig('VSTeamProfile')] [parameter(Mandatory)] [string]$VSTeamProfile, [Alias('Project')] [string] ${ProjectName}, [Parameter(Position=0)] [ValidateSet('Approved','ReAssigned','Rejected','Canceled','Pending','Rejected','Skipped','Undefined')] [string] ${StatusFilter}, [Parameter(Position=1)] [Alias('ReleaseIdFilter')] [int[]] ${ReleaseIdsFilter}, [Parameter(Position=2)] [string] ${AssignedToFilter}) process { Set-VSTeamAccount -Profile $VSTeamProfile $PSBoundParameters.Remove('VSTeamProfile') $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand('Get-VSTeamApproval', [System.Management.Automation.CommandTypes]::Function) $output = & $wrappedCmd @PSBoundParameters New-PoshBotCardResponse -Type Normal -Title 'Approvals' -Text ($output | Format-List * | Out-String) } <# .ForwardHelpTargetName Get-VSTeamApproval .ForwardHelpCategory Function #> } function GetVSTeamBuild { [PoshBot.BotCommand(Aliases = ('GetTeamBuild'))] [CmdletBinding(DefaultParameterSetName='List')] param( [PoshBot.FromConfig('VSTeamProfile')] [parameter(Mandatory)] [string]$VSTeamProfile, [Alias('Project')] [string] ${ProjectName}, [Parameter(ParameterSetName='List')] [int] ${Top}, [Parameter(ParameterSetName='List')] [ValidateSet('succeeded','partiallySucceeded','failed','canceled')] [string] ${ResultFilter}, [Parameter(ParameterSetName='List')] [ValidateSet('manual','individualCI','batchedCI','schedule','userCreated','validateShelveset','checkInShelveset','triggered','all')] [string] ${ReasonFilter}, [Parameter(ParameterSetName='List')] [ValidateSet('inProgress','completed','cancelling','postponed','notStarted','all')] [string] ${StatusFilter}, [Parameter(ParameterSetName='List')] [int[]] ${Queues}, [Parameter(ParameterSetName='List')] [int[]] ${Definitions}, [Parameter(ParameterSetName='List')] [string] ${BuildNumber}, [Parameter(ParameterSetName='List')] [ValidateSet('build','xaml')] [string] ${Type}, [Parameter(ParameterSetName='List')] [int] ${MaxBuildsPerDefinition}, [Parameter(ParameterSetName='List')] [string[]] ${Properties}, [Parameter(ParameterSetName='ByID', ValueFromPipeline=$true)] [Alias('BuildID')] [int[]] ${Id}) process { Set-VSTeamAccount -Profile $VSTeamProfile $PSBoundParameters.Remove('VSTeamProfile') $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand('Get-VSTeamBuild', [System.Management.Automation.CommandTypes]::Function) $output = & $wrappedCmd @PSBoundParameters New-PoshBotCardResponse -Type Normal -Title 'Builds' -Text ($output | Format-List * | Out-String) } <# .ForwardHelpTargetName Get-VSTeamBuild .ForwardHelpCategory Function #> } function GetVSTeamBuildArtifact { [PoshBot.BotCommand(Aliases = ('GetTeamBuildArtifact'))] [CmdletBinding()] param( [PoshBot.FromConfig('VSTeamProfile')] [parameter(Mandatory)] [string]$VSTeamProfile, [Alias('Project')] [string] ${ProjectName}, [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] [Alias('BuildID')] [int] ${Id}) process { Set-VSTeamAccount -Profile $VSTeamProfile $PSBoundParameters.Remove('VSTeamProfile') $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand('Get-VSTeamBuildArtifact', [System.Management.Automation.CommandTypes]::Function) $output = & $wrappedCmd @PSBoundParameters New-PoshBotCardResponse -Type Normal -Title 'Build Artifacts' -Text ($output | Format-List * | Out-String) } <# .ForwardHelpTargetName Get-VSTeamBuildArtifact .ForwardHelpCategory Function #> } function GetVSTeamBuildDefinition { [PoshBot.BotCommand(Aliases = ('GetTeamBuildDefinition'))] [CmdletBinding(DefaultParameterSetName='List')] param( [PoshBot.FromConfig('VSTeamProfile')] [parameter(Mandatory)] [string]$VSTeamProfile, [Alias('Project')] [string] ${ProjectName}, [Parameter(ParameterSetName='List')] [string] ${Filter}, [Parameter(ParameterSetName='List')] [ValidateSet('build','xaml','All')] [string] ${Type}, [Parameter(ParameterSetName='ByID', Mandatory=$true, Position=0, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] [Parameter(ParameterSetName='ByIdJson', Mandatory=$true, Position=0)] [Parameter(ParameterSetName='ByIdRaw', Mandatory=$true, Position=0)] [Alias('BuildDefinitionID')] [int[]] ${Id}, [Parameter(ParameterSetName='ByID')] [Parameter(ParameterSetName='ByIdJson')] [Parameter(ParameterSetName='ByIdRaw')] [int] ${Revision}, [Parameter(ParameterSetName='ByIdJson', Mandatory=$true)] [switch] ${JSON}, [Parameter(ParameterSetName='ByIdRaw', Mandatory=$true)] [switch] ${raw}) process { Set-VSTeamAccount -Profile $VSTeamProfile $PSBoundParameters.Remove('VSTeamProfile') $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand('Get-VSTeamBuildDefinition', [System.Management.Automation.CommandTypes]::Function) $output = & $wrappedCmd @PSBoundParameters New-PoshBotCardResponse -Type Normal -Title 'Build Definitions' -Text ($output | Format-List * | Out-String) } <# .ForwardHelpTargetName Get-VSTeamBuildDefinition .ForwardHelpCategory Function #> } function GetVSTeamBuildLog { [PoshBot.BotCommand(Aliases = ('GetTeamBuildLog'))] [CmdletBinding(DefaultParameterSetName='ByID')] param( [PoshBot.FromConfig('VSTeamProfile')] [parameter(Mandatory)] [string]$VSTeamProfile, [Alias('Project')] [string] ${ProjectName}, [Parameter(ParameterSetName='ByID', Mandatory=$true, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] [Alias('BuildID')] [int[]] ${Id}, [int] ${Index}) process { Set-VSTeamAccount -Profile $VSTeamProfile $PSBoundParameters.Remove('VSTeamProfile') $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand('Get-VSTeamBuildLog', [System.Management.Automation.CommandTypes]::Function) $output = & $wrappedCmd @PSBoundParameters New-PoshBotCardResponse -Type Normal -Title 'Build Logs' -Text ($output | Format-List * | Out-String) } <# .ForwardHelpTargetName Get-VSTeamBuildLog .ForwardHelpCategory Function #> } function GetVSTeamBuildTag { [PoshBot.BotCommand(Aliases = ('GetTeamBuildTag'))] [CmdletBinding()] param( [PoshBot.FromConfig('VSTeamProfile')] [parameter(Mandatory)] [string]$VSTeamProfile, [Alias('Project')] [string] ${ProjectName}, [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] [Alias('BuildID')] [int] ${Id}) process { Set-VSTeamAccount -Profile $VSTeamProfile $PSBoundParameters.Remove('VSTeamProfile') $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand('Get-VSTeamBuildTag', [System.Management.Automation.CommandTypes]::Function) $output = & $wrappedCmd @PSBoundParameters New-PoshBotCardResponse -Type Normal -Title 'Build Tags' -Text ($output | Format-List * | Out-String) } <# .ForwardHelpTargetName Get-VSTeamBuildTag .ForwardHelpCategory Function #> } function GetVSTeamClassificationNode { [PoshBot.BotCommand(Aliases = ('GetTeamClassificationNode'))] [CmdletBinding(DefaultParameterSetName='ByIds')] param( [PoshBot.FromConfig('VSTeamProfile')] [parameter(Mandatory)] [string]$VSTeamProfile, [Alias('Project')] [string] ${ProjectName}, [Parameter(ParameterSetName='ByPath', Mandatory=$true)] [ValidateSet('areas','iterations')] [string] ${StructureGroup}, [Parameter(ParameterSetName='ByPath')] [string] ${Path}, [Parameter(ParameterSetName='ByIds')] [int[]] ${Ids}, [Parameter(ParameterSetName='ByIds')] [Parameter(ParameterSetName='ByPath')] [int] ${Depth}) process { Set-VSTeamAccount -Profile $VSTeamProfile $PSBoundParameters.Remove('VSTeamProfile') $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand('Get-VSTeamClassificationNode', [System.Management.Automation.CommandTypes]::Function) $output = & $wrappedCmd @PSBoundParameters New-PoshBotCardResponse -Type Normal -Title 'Team Classification Nodes' -Text ($output | Format-List * | Out-String) } <# .ForwardHelpTargetName Get-VSTeamClassificationNode .ForwardHelpCategory Function #> } function GetVSTeamCloudSubscription { [PoshBot.BotCommand(Aliases = ('GetTeamCloudSubscription'))] [CmdletBinding()] param( [PoshBot.FromConfig('VSTeamProfile')] [parameter(Mandatory)] [string]$VSTeamProfile ) process { Set-VSTeamAccount -Profile $VSTeamProfile $PSBoundParameters.Remove('VSTeamProfile') $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand('Get-VSTeamCloudSubscription', [System.Management.Automation.CommandTypes]::Function) $output = & $wrappedCmd @PSBoundParameters New-PoshBotCardResponse -Type Normal -Title 'Cloud Subscriptions' -Text ($output | Format-List * | Out-String) } <# .ForwardHelpTargetName Get-VSTeamCloudSubscription .ForwardHelpCategory Function #> } function GetVSTeamDescriptor { [PoshBot.BotCommand(Aliases = ('GetTeamDescriptor'))] [CmdletBinding(DefaultParameterSetName='ByStorageKey')] param( [PoshBot.FromConfig('VSTeamProfile')] [parameter(Mandatory)] [string]$VSTeamProfile, [Parameter(ParameterSetName='ByStorageKey', Mandatory=$true)] [string] ${StorageKey}) process { Set-VSTeamAccount -Profile $VSTeamProfile $PSBoundParameters.Remove('VSTeamProfile') $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand('Get-VSTeamDescriptor', [System.Management.Automation.CommandTypes]::Function) $output = & $wrappedCmd @PSBoundParameters New-PoshBotCardResponse -Type Normal -Title 'Team Descriptor' -Text ($output | Format-List * | Out-String) } <# .ForwardHelpTargetName Get-VSTeamDescriptor .ForwardHelpCategory Function #> } function GetVSTeamExtension { [PoshBot.BotCommand(Aliases = ('GetTeamExtension'))] [CmdletBinding()] param( [PoshBot.FromConfig('VSTeamProfile')] [parameter(Mandatory)] [string]$VSTeamProfile, [Parameter(ParameterSetName='List')] [switch] ${IncludeInstallationIssues}, [Parameter(ParameterSetName='List')] [switch] ${IncludeDisabledExtensions}, [Parameter(ParameterSetName='List')] [switch] ${IncludeErrors}, [Parameter(ParameterSetName='GetById', Mandatory=$true)] [string] ${PublisherId}, [Parameter(ParameterSetName='GetById', Mandatory=$true)] [string] ${ExtensionId}) process { Set-VSTeamAccount -Profile $VSTeamProfile $PSBoundParameters.Remove('VSTeamProfile') $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand('Get-VSTeamExtension', [System.Management.Automation.CommandTypes]::Function) $output = & $wrappedCmd @PSBoundParameters New-PoshBotCardResponse -Type Normal -Title 'Extensions' -Text ($output | Format-List * | Out-String) } <# .ForwardHelpTargetName Get-VSTeamExtension .ForwardHelpCategory Function #> } function GetVSTeamFeed { [PoshBot.BotCommand(Aliases = ('GetTeamFeed'))] [CmdletBinding(DefaultParameterSetName='List')] param( [PoshBot.FromConfig('VSTeamProfile')] [parameter(Mandatory)] [string]$VSTeamProfile, [Parameter(ParameterSetName='ByID', Position=0)] [Alias('FeedId')] [string[]] ${Id}) process { Set-VSTeamAccount -Profile $VSTeamProfile $PSBoundParameters.Remove('VSTeamProfile') $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand('Get-VSTeamFeed', [System.Management.Automation.CommandTypes]::Function) $output = & $wrappedCmd @PSBoundParameters New-PoshBotCardResponse -Type Normal -Title 'Feeds' -Text ($output | Format-List * | Out-String) } <# .ForwardHelpTargetName Get-VSTeamFeed .ForwardHelpCategory Function #> } function GetVSTeamGitRef { [PoshBot.BotCommand(Aliases = ('GetTeamGitRef'))] [CmdletBinding()] param( [PoshBot.FromConfig('VSTeamProfile')] [parameter(Mandatory)] [string]$VSTeamProfile, [Alias('Project')] [string] ${ProjectName}, [Parameter(Mandatory=$true, Position=0, ValueFromPipelineByPropertyName=$true)] [Alias('Id')] [guid] ${RepositoryID}) process { Set-VSTeamAccount -Profile $VSTeamProfile $PSBoundParameters.Remove('VSTeamProfile') $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand('Get-VSTeamGitRef', [System.Management.Automation.CommandTypes]::Function) $output = & $wrappedCmd @PSBoundParameters New-PoshBotCardResponse -Type Normal -Title 'Git Refs' -Text ($output | Format-List * | Out-String) } <# .ForwardHelpTargetName Get-VSTeamGitRef .ForwardHelpCategory Function #> } function GetVSTeamGitRepository { [PoshBot.BotCommand(Aliases = ('GetTeamGitRepository'))] [CmdletBinding(DefaultParameterSetName='ByID')] param( [PoshBot.FromConfig('VSTeamProfile')] [parameter(Mandatory)] [string]$VSTeamProfile, [Alias('Project')] [string] ${ProjectName}, [Parameter(ParameterSetName='ByID', ValueFromPipeline=$true)] [Alias('RepositoryID')] [guid[]] ${Id}, [Parameter(ParameterSetName='ByName', ValueFromPipeline=$true)] [string[]] ${Name}) process { Set-VSTeamAccount -Profile $VSTeamProfile $PSBoundParameters.Remove('VSTeamProfile') $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand('Get-VSTeamGitRepository', [System.Management.Automation.CommandTypes]::Function) $output = & $wrappedCmd @PSBoundParameters New-PoshBotCardResponse -Type Normal -Title 'Git Repositories' -Text ($output | Format-List * | Out-String) } <# .ForwardHelpTargetName Get-VSTeamGitRepository .ForwardHelpCategory Function #> } function GetVSTeamGroup { [PoshBot.BotCommand(Aliases = ('GetTeamGroup'))] [CmdletBinding(DefaultParameterSetName='List')] param( [PoshBot.FromConfig('VSTeamProfile')] [parameter(Mandatory)] [string]$VSTeamProfile, [Alias('Project')] [string] ${ProjectName}, [Parameter(ParameterSetName='ListByProjectName')] [Parameter(ParameterSetName='List')] [ValidateSet('vssgp','aadgp')] [string[]] ${SubjectTypes}, [Parameter(ParameterSetName='List')] [string] ${ScopeDescriptor}, [Parameter(ParameterSetName='ByGroupDescriptor', Mandatory=$true)] [Alias('GroupDescriptor')] [string] ${Descriptor}) process { Set-VSTeamAccount -Profile $VSTeamProfile $PSBoundParameters.Remove('VSTeamProfile') $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand('Get-VSTeamGroup', [System.Management.Automation.CommandTypes]::Function) $output = & $wrappedCmd @PSBoundParameters New-PoshBotCardResponse -Type Normal -Title 'Groups' -Text ($output | Format-List * | Out-String) } <# .ForwardHelpTargetName Get-VSTeamGroup .ForwardHelpCategory Function #> } function GetVSTeamJobRequest { [PoshBot.BotCommand(Aliases = ('GetTeamJobRequest'))] [CmdletBinding()] param( [PoshBot.FromConfig('VSTeamProfile')] [parameter(Mandatory)] [string]$VSTeamProfile, [Parameter(Mandatory=$true, Position=0, ValueFromPipelineByPropertyName=$true)] [int] ${PoolId}, [Parameter(Mandatory=$true, Position=1, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] [Alias('ID')] [int] ${AgentID}, [int] ${completedRequestCount}) process { Set-VSTeamAccount -Profile $VSTeamProfile $PSBoundParameters.Remove('VSTeamProfile') $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand('Get-VSTeamJobRequest', [System.Management.Automation.CommandTypes]::Function) $output = & $wrappedCmd @PSBoundParameters New-PoshBotCardResponse -Type Normal -Title 'Job Requests' -Text ($output | Format-List * | Out-String) } <# .ForwardHelpTargetName Get-VSTeamJobRequest .ForwardHelpCategory Function #> } function GetVSTeamMember { [PoshBot.BotCommand(Aliases = ('GetTeamMember'))] [CmdletBinding()] param( [PoshBot.FromConfig('VSTeamProfile')] [parameter(Mandatory)] [string]$VSTeamProfile, [Alias('Project')] [string] ${ProjectName}, [Parameter(Position=0)] [int] ${Top}, [Parameter(Position=1)] [int] ${Skip}, [Parameter(Mandatory=$true, Position=2, ValueFromPipelineByPropertyName=$true)] [Alias('Id','Name')] [string] ${TeamId}) process { Set-VSTeamAccount -Profile $VSTeamProfile $PSBoundParameters.Remove('VSTeamProfile') $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand('Get-VSTeamMember', [System.Management.Automation.CommandTypes]::Function) $output = & $wrappedCmd @PSBoundParameters New-PoshBotCardResponse -Type Normal -Title 'Team Members' -Text ($output | Format-List * | Out-String) } <# .ForwardHelpTargetName Get-VSTeamMember .ForwardHelpCategory Function #> } function GetVSTeamPolicy { [PoshBot.BotCommand(Aliases = ('GetTeamPolicy'))] [CmdletBinding()] param( [PoshBot.FromConfig('VSTeamProfile')] [parameter(Mandatory)] [string]$VSTeamProfile, [Alias('Project')] [string] ${ProjectName}, [Parameter(Position=0, ValueFromPipeline=$true)] [int[]] ${Id}) process { Set-VSTeamAccount -Profile $VSTeamProfile $PSBoundParameters.Remove('VSTeamProfile') $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand('Get-VSTeamPolicy', [System.Management.Automation.CommandTypes]::Function) $output = & $wrappedCmd @PSBoundParameters New-PoshBotCardResponse -Type Normal -Title 'Policies' -Text ($output | Format-List * | Out-String) } <# .ForwardHelpTargetName Get-VSTeamPolicy .ForwardHelpCategory Function #> } function GetVSTeamPolicyType { [PoshBot.BotCommand(Aliases = ('GetTeamPolicyType'))] [CmdletBinding()] param( [PoshBot.FromConfig('VSTeamProfile')] [parameter(Mandatory)] [string]$VSTeamProfile, [Alias('Project')] [string] ${ProjectName}, [Parameter(Position=0, ValueFromPipeline=$true)] [guid[]] ${Id}) process { Set-VSTeamAccount -Profile $VSTeamProfile $PSBoundParameters.Remove('VSTeamProfile') $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand('Get-VSTeamPolicyType', [System.Management.Automation.CommandTypes]::Function) $output = & $wrappedCmd @PSBoundParameters New-PoshBotCardResponse -Type Normal -Title 'Policy Types' -Text ($output | Format-List * | Out-String) } <# .ForwardHelpTargetName Get-VSTeamPolicyType .ForwardHelpCategory Function #> } function GetVSTeamPool { [PoshBot.BotCommand(Aliases = ('GetTeamPool'))] [CmdletBinding(DefaultParameterSetName='List')] param( [PoshBot.FromConfig('VSTeamProfile')] [parameter(Mandatory)] [string]$VSTeamProfile, [Parameter(ParameterSetName='ByID', Mandatory=$true, Position=1, ValueFromPipelineByPropertyName=$true)] [Alias('PoolID')] [int] ${Id}) process { Set-VSTeamAccount -Profile $VSTeamProfile $PSBoundParameters.Remove('VSTeamProfile') $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand('Get-VSTeamPool', [System.Management.Automation.CommandTypes]::Function) $output = & $wrappedCmd @PSBoundParameters New-PoshBotCardResponse -Type Normal -Title 'Pools' -Text ($output | Format-List * | Out-String) } <# .ForwardHelpTargetName Get-VSTeamPool .ForwardHelpCategory Function #> } function GetVSTeamProcess { [PoshBot.BotCommand(Aliases = ('GetTeamProcess'))] [CmdletBinding(DefaultParameterSetName='List')] param( [PoshBot.FromConfig('VSTeamProfile')] [parameter(Mandatory)] [string]$VSTeamProfile, [Parameter(ParameterSetName='List')] [int] ${Top}, [Parameter(ParameterSetName='List')] [int] ${Skip}, [Parameter(ParameterSetName='ByID')] [Alias('ProcessTemplateID')] [string] ${Id}) process { Set-VSTeamAccount -Profile $VSTeamProfile $PSBoundParameters.Remove('VSTeamProfile') $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand('Get-VSTeamProcess', [System.Management.Automation.CommandTypes]::Function) $output = & $wrappedCmd @PSBoundParameters New-PoshBotCardResponse -Type Normal -Title 'Processes' -Text ($output | Format-List * | Out-String) } <# .ForwardHelpTargetName Get-VSTeamProcess .ForwardHelpCategory Function #> } function GetVSTeamProject { [PoshBot.BotCommand(Aliases = ('GetTeamProject'))] [CmdletBinding(DefaultParameterSetName='List')] param( [PoshBot.FromConfig('VSTeamProfile')] [parameter(Mandatory)] [string]$VSTeamProfile, [Alias('Project')] [string] ${ProjectName}, [Parameter(ParameterSetName='List')] [ValidateSet('WellFormed','CreatePending','Deleting','New','All')] [string] ${StateFilter}, [Parameter(ParameterSetName='List')] [int] ${Top}, [Parameter(ParameterSetName='List')] [int] ${Skip}, [Parameter(ParameterSetName='ByID')] [Alias('ProjectID')] [string] ${Id}, [switch] ${IncludeCapabilities}) process { Set-VSTeamAccount -Profile $VSTeamProfile $PSBoundParameters.Remove('VSTeamProfile') $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand('Get-VSTeamProject', [System.Management.Automation.CommandTypes]::Function) $output = & $wrappedCmd @PSBoundParameters | Select-Object -Property Name,Description New-PoshBotCardResponse -Type Normal -Title 'Projects' -Text ($output | Format-List * | Out-String) } <# .ForwardHelpTargetName Get-VSTeamProject .ForwardHelpCategory Function #> } function GetVSTeamPullRequest { [PoshBot.BotCommand(Aliases = ('GetTeamPullRequest'))] [CmdletBinding()] param( [PoshBot.FromConfig('VSTeamProfile')] [parameter(Mandatory)] [string]$VSTeamProfile, [Alias('Project')] [string] ${ProjectName}, [Parameter(Position=0)] [Alias('PullRequestId')] [string] ${Id}) process { Set-VSTeamAccount -Profile $VSTeamProfile $PSBoundParameters.Remove('VSTeamProfile') $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand('Get-VSTeamPullRequest', [System.Management.Automation.CommandTypes]::Function) $output = & $wrappedCmd @PSBoundParameters New-PoshBotCardResponse -Type Normal -Title 'Pull Requets' -Text ($output | Format-List * | Out-String) } <# .ForwardHelpTargetName Get-VSTeamPullRequest .ForwardHelpCategory Function #> } function GetVSTeamQueue { [PoshBot.BotCommand(Aliases = ('GetTeamQueue'))] [CmdletBinding(DefaultParameterSetName='List')] param( [PoshBot.FromConfig('VSTeamProfile')] [parameter(Mandatory)] [string]$VSTeamProfile, [Alias('Project')] [string] ${ProjectName}, [Parameter(ParameterSetName='List')] [string] ${queueName}, [Parameter(ParameterSetName='List')] [ValidateSet('None','Manage','Use')] [string] ${actionFilter}, [Parameter(ParameterSetName='ByID')] [Alias('QueueID')] [string] ${id}) process { Set-VSTeamAccount -Profile $VSTeamProfile $PSBoundParameters.Remove('VSTeamProfile') $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand('Get-VSTeamQueue', [System.Management.Automation.CommandTypes]::Function) $output = & $wrappedCmd @PSBoundParameters New-PoshBotCardResponse -Type Normal -Title 'Queues' -Text ($output | Format-List * | Out-String) } <# .ForwardHelpTargetName Get-VSTeamQueue .ForwardHelpCategory Function #> } function GetVSTeamRelease { [PoshBot.BotCommand(Aliases = ('GetTeamRelease'))] [CmdletBinding(DefaultParameterSetName='List')] param( [PoshBot.FromConfig('VSTeamProfile')] [parameter(Mandatory)] [string]$VSTeamProfile, [Alias('Project')] [string] ${ProjectName}, [ValidateSet('environments','artifacts','approvals','none')] [string] ${expand}, [Parameter(ParameterSetName='List')] [ValidateSet('Draft','Active','Abandoned')] [string] ${statusFilter}, [Parameter(ParameterSetName='List')] [int] ${definitionId}, [Parameter(ParameterSetName='List')] [int] ${top}, [Parameter(ParameterSetName='List')] [string] ${createdBy}, [Parameter(ParameterSetName='List')] [datetime] ${minCreatedTime}, [Parameter(ParameterSetName='List')] [datetime] ${maxCreatedTime}, [Parameter(ParameterSetName='List')] [ValidateSet('ascending','descending')] [string] ${queryOrder}, [Parameter(ParameterSetName='List')] [string] ${continuationToken}, [Parameter(ParameterSetName='ByID', Mandatory=$true, Position=0, ValueFromPipelineByPropertyName=$true)] [Parameter(ParameterSetName='ByIdJson', Mandatory=$true, Position=0)] [Parameter(ParameterSetName='ByIdRaw', Mandatory=$true, Position=0)] [Alias('ReleaseID')] [int[]] ${id}, [Parameter(ParameterSetName='ByIdJson', Mandatory=$true)] [switch] ${JSON}, [Parameter(ParameterSetName='ByIdRaw', Mandatory=$true)] [switch] ${raw}) process { Set-VSTeamAccount -Profile $VSTeamProfile $PSBoundParameters.Remove('VSTeamProfile') $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand('Get-VSTeamRelease', [System.Management.Automation.CommandTypes]::Function) $output = & $wrappedCmd @PSBoundParameters New-PoshBotCardResponse -Type Normal -Title 'Releases' -Text ($output | Format-List * | Out-String) } <# .ForwardHelpTargetName Get-VSTeamRelease .ForwardHelpCategory Function #> } function GetVSTeamReleaseDefinition { [PoshBot.BotCommand(Aliases = ('GetTeamReleaseDefinition'))] [CmdletBinding(DefaultParameterSetName='List')] param( [PoshBot.FromConfig('VSTeamProfile')] [parameter(Mandatory)] [string]$VSTeamProfile, [Alias('Project')] [string] ${ProjectName}, [Parameter(ParameterSetName='List')] [ValidateSet('environments','artifacts','none')] [string] ${Expand}, [Parameter(ParameterSetName='ByID', ValueFromPipelineByPropertyName=$true)] [Alias('ReleaseDefinitionID')] [int[]] ${Id}) process { Set-VSTeamAccount -Profile $VSTeamProfile $PSBoundParameters.Remove('VSTeamProfile') $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand('Get-VSTeamReleaseDefinition', [System.Management.Automation.CommandTypes]::Function) $output = & $wrappedCmd @PSBoundParameters New-PoshBotCardResponse -Type Normal -Title 'Release Definitions' -Text ($output | Format-List * | Out-String) } <# .ForwardHelpTargetName Get-VSTeamReleaseDefinition .ForwardHelpCategory Function #> } function GetVSTeamResourceArea { [PoshBot.BotCommand(Aliases = ('GetTeamResourceArea'))] [CmdletBinding()] param( [PoshBot.FromConfig('VSTeamProfile')] [parameter(Mandatory)] [string]$VSTeamProfile ) process { Set-VSTeamAccount -Profile $VSTeamProfile $PSBoundParameters.Remove('VSTeamProfile') $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand('Get-VSTeamResourceArea', [System.Management.Automation.CommandTypes]::Function) $output = & $wrappedCmd @PSBoundParameters New-PoshBotCardResponse -Type Normal -Title 'Resource Areas' -Text ($output | Format-List * | Out-String) } <# .ForwardHelpTargetName Get-VSTeamResourceArea .ForwardHelpCategory Function #> } function GetVSTeamSecurityNamespace { [PoshBot.BotCommand(Aliases = ('GetTeamSecurityNamespace'), Permissions = 'ManageTeam')] [CmdletBinding(DefaultParameterSetName='List')] param( [PoshBot.FromConfig('VSTeamProfile')] [parameter(Mandatory)] [string]$VSTeamProfile, [Parameter(ParameterSetName='ByNamespaceName', Mandatory=$true)] [string] ${Name}, [Parameter(ParameterSetName='ByNamespaceId', Mandatory=$true)] [ValidateScript({ try { [System.Guid]::Parse($_) | Out-Null $true } catch { $false } })] [string] ${Id}, [Parameter(ParameterSetName='List')] [switch] ${LocalOnly}) process { Set-VSTeamAccount -Profile $VSTeamProfile $PSBoundParameters.Remove('VSTeamProfile') $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand('Get-VSTeamSecurityNamespace', [System.Management.Automation.CommandTypes]::Function) $output = & $wrappedCmd @PSBoundParameters New-PoshBotCardResponse -Type Normal -Title 'Security Namespaces' -Text ($output | Format-List * | Out-String) } <# .ForwardHelpTargetName Get-VSTeamSecurityNamespace .ForwardHelpCategory Function #> } function GetVSTeamServiceEndpoint { [PoshBot.BotCommand(Aliases = ('GetTeamServiceEndpoint'))] [CmdletBinding(DefaultParameterSetName='List')] param( [PoshBot.FromConfig('VSTeamProfile')] [parameter(Mandatory)] [string]$VSTeamProfile, [Alias('Project')] [string] ${ProjectName}, [Parameter(ParameterSetName='ByID', Mandatory=$true, ValueFromPipelineByPropertyName=$true)] [string] ${id}) process { Set-VSTeamAccount -Profile $VSTeamProfile $PSBoundParameters.Remove('VSTeamProfile') $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand('Get-VSTeamServiceEndpoint', [System.Management.Automation.CommandTypes]::Function) $output = & $wrappedCmd @PSBoundParameters New-PoshBotCardResponse -Type Normal -Title 'Service Endpoints' -Text ($output | Format-List * | Out-String) } <# .ForwardHelpTargetName Get-VSTeamServiceEndpoint .ForwardHelpCategory Function #> } function GetVSTeamServiceEndpointType { [PoshBot.BotCommand(Aliases = ('GetTeamServiceEndpointType'))] [CmdletBinding()] param( [PoshBot.FromConfig('VSTeamProfile')] [parameter(Mandatory)] [string]$VSTeamProfile, [Parameter(ParameterSetName='ByType')] [string] ${Type}, [Parameter(ParameterSetName='ByType')] [string] ${Scheme}) process { Set-VSTeamAccount -Profile $VSTeamProfile $PSBoundParameters.Remove('VSTeamProfile') $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand('Get-VSTeamServiceEndpointType', [System.Management.Automation.CommandTypes]::Function) $output = & $wrappedCmd @PSBoundParameters New-PoshBotCardResponse -Type Normal -Title 'Service Endpoint Types' -Text ($output | Format-List * | Out-String) } <# .ForwardHelpTargetName Get-VSTeamServiceEndpointType .ForwardHelpCategory Function #> } function GetVSTeamTfvcBranch { [PoshBot.BotCommand(Aliases = ('GetTeamTfvcBranch'))] [CmdletBinding()] param( [PoshBot.FromConfig('VSTeamProfile')] [parameter(Mandatory)] [string]$VSTeamProfile, [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] [string[]] ${Path}, [switch] ${IncludeChildren}, [switch] ${IncludeParent}, [switch] ${IncludeDeleted}) process { Set-VSTeamAccount -Profile $VSTeamProfile $PSBoundParameters.Remove('VSTeamProfile') $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand('Get-VSTeamTfvcBranch', [System.Management.Automation.CommandTypes]::Function) $output = & $wrappedCmd @PSBoundParameters New-PoshBotCardResponse -Type Normal -Title 'TFVC Branches' -Text ($output | Format-List * | Out-String) } <# .ForwardHelpTargetName Get-VSTeamTfvcBranch .ForwardHelpCategory Function #> } function GetVSTeamTfvcRootBranch { [PoshBot.BotCommand(Aliases = ('GetTeamTfvcRootBranch'))] [CmdletBinding()] param( [PoshBot.FromConfig('VSTeamProfile')] [parameter(Mandatory)] [string]$VSTeamProfile, [switch] ${IncludeChildren}, [switch] ${IncludeDeleted}) process { Set-VSTeamAccount -Profile $VSTeamProfile $PSBoundParameters.Remove('VSTeamProfile') $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand('Get-VSTeamTfvcRootBranch', [System.Management.Automation.CommandTypes]::Function) $output = & $wrappedCmd @PSBoundParameters New-PoshBotCardResponse -Type Normal -Title 'TFVC Root Branches' -Text ($output | Format-List * | Out-String) } <# .ForwardHelpTargetName Get-VSTeamTfvcRootBranch .ForwardHelpCategory Function #> } function GetVSTeamUser { [PoshBot.BotCommand(Aliases = ('GetTeamUser'))] [CmdletBinding(DefaultParameterSetName='List')] param( [PoshBot.FromConfig('VSTeamProfile')] [parameter(Mandatory)] [string]$VSTeamProfile, [Parameter(ParameterSetName='List')] [ValidateSet('msa','aad','svc','imp','vss')] [string[]] ${SubjectTypes}, [Parameter(ParameterSetName='ByUserDescriptor', Mandatory=$true)] [Alias('UserDescriptor')] [string] ${Descriptor}) process { Set-VSTeamAccount -Profile $VSTeamProfile $PSBoundParameters.Remove('VSTeamProfile') $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand('Get-VSTeamUser', [System.Management.Automation.CommandTypes]::Function) $output = & $wrappedCmd @PSBoundParameters New-PoshBotCardResponse -Type Normal -Title 'Users' -Text ($output | Format-List * | Out-String) } <# .ForwardHelpTargetName Get-VSTeamUser .ForwardHelpCategory Function #> } function GetVSTeamUserEntitlement { [PoshBot.BotCommand(Aliases = ('GetTeamUserEntitlement'))] [CmdletBinding(DefaultParameterSetName='List')] param( [PoshBot.FromConfig('VSTeamProfile')] [parameter(Mandatory)] [string]$VSTeamProfile, [Parameter(ParameterSetName='List')] [int] ${Top}, [Parameter(ParameterSetName='List')] [int] ${Skip}, [Parameter(ParameterSetName='List')] [ValidateSet('Projects','Extensions','Grouprules')] [string[]] ${Select}, [Parameter(ParameterSetName='ByID')] [Alias('UserId')] [string[]] ${Id}) process { Set-VSTeamAccount -Profile $VSTeamProfile $PSBoundParameters.Remove('VSTeamProfile') $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand('Get-VSTeamUserEntitlement', [System.Management.Automation.CommandTypes]::Function) $output = & $wrappedCmd @PSBoundParameters New-PoshBotCardResponse -Type Normal -Title 'user Entitlements' -Text ($output | Format-List * | Out-String) } <# .ForwardHelpTargetName Get-VSTeamUserEntitlement .ForwardHelpCategory Function #> } function GetVSTeamVariableGroup { [PoshBot.BotCommand(Aliases = ('GetTeamVariableGroup'))] [CmdletBinding(DefaultParameterSetName='List')] param( [PoshBot.FromConfig('VSTeamProfile')] [parameter(Mandatory)] [string]$VSTeamProfile, [Alias('Project')] [string] ${ProjectName}, [Parameter(ParameterSetName='ByID', Mandatory=$true, Position=0, ValueFromPipelineByPropertyName=$true)] [string] ${Id}) process { Set-VSTeamAccount -Profile $VSTeamProfile $PSBoundParameters.Remove('VSTeamProfile') $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand('Get-VSTeamVariableGroup', [System.Management.Automation.CommandTypes]::Function) $output = & $wrappedCmd @PSBoundParameters New-PoshBotCardResponse -Type Normal -Title 'Variable Groups' -Text ($output | Format-List * | Out-String) } <# .ForwardHelpTargetName Get-VSTeamVariableGroup .ForwardHelpCategory Function #> } function GetVSTeamWorkItem { [PoshBot.BotCommand(Aliases = ('GetTeamWorkItem'))] [CmdletBinding(DefaultParameterSetName='ByID')] param( [PoshBot.FromConfig('VSTeamProfile')] [parameter(Mandatory)] [string]$VSTeamProfile, [Parameter(ParameterSetName='ByID', Mandatory=$true, Position=0, ValueFromPipeline=$true)] [int] ${Id}, [Parameter(ParameterSetName='List', Mandatory=$true, Position=0, ValueFromPipeline=$true)] [int[]] ${Ids}, [Parameter(ParameterSetName='List')] [ValidateSet('Fail','Omit')] [string] ${ErrorPolicy}, [ValidateSet('None','Relations','Fields','Links','All')] [string] ${Expand}, [string[]] ${Fields}) process { Set-VSTeamAccount -Profile $VSTeamProfile $PSBoundParameters.Remove('VSTeamProfile') $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand('Get-VSTeamWorkItem', [System.Management.Automation.CommandTypes]::Function) $output = & $wrappedCmd @PSBoundParameters New-PoshBotCardResponse -Type Normal -Title 'Work Items' -Text ($output | Format-List * | Out-String) } <# .ForwardHelpTargetName Get-VSTeamWorkItem .ForwardHelpCategory Function #> } function GetVSTeamWorkItemType { [PoshBot.BotCommand(Aliases = ('GetTeamWorkItemType'))] [CmdletBinding(DefaultParameterSetName='List')] param( [PoshBot.FromConfig('VSTeamProfile')] [parameter(Mandatory)] [string]$VSTeamProfile, [Alias('Project')] [string] ${ProjectName} ) process { Set-VSTeamAccount -Profile $VSTeamProfile $PSBoundParameters.Remove('VSTeamProfile') $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand('Get-VSTeamWorkItemType', [System.Management.Automation.CommandTypes]::Function) $output = & $wrappedCmd @PSBoundParameters New-PoshBotCardResponse -Type Normal -Title 'Work Item Types' -Text ($output | Format-List * | Out-String) } <# .ForwardHelpTargetName Get-VSTeamWorkItemType .ForwardHelpCategory Function #> } function RemoveVSTeam { [PoshBot.BotCommand(Aliases = ('RemoveTeam'), Permissions = 'ManageTeam')] [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')] param( [PoshBot.FromConfig('VSTeamProfile')] [parameter(Mandatory)] [string]$VSTeamProfile, [Alias('Project')] [string] ${ProjectName}, [Parameter(Mandatory=$true, Position=0, ValueFromPipelineByPropertyName=$true)] [Alias('Name','TeamId','TeamName')] [string] ${Id}, [switch] ${Force}) process { Set-VSTeamAccount -Profile $VSTeamProfile $PSBoundParameters.Remove('VSTeamProfile') $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand('Remove-VSTeam', [System.Management.Automation.CommandTypes]::Function) $output = & $wrappedCmd @PSBoundParameters New-PoshBotCardResponse -Type Normal -Title 'Teams' -Text ($output | Format-List * | Out-String) } <# .ForwardHelpTargetName Remove-VSTeam .ForwardHelpCategory Function #> } function RemoveVSTeamAccessControlList { [PoshBot.BotCommand(Aliases = ('RemoveTeamAccessControlList'), Permissions = 'ManageTeam')] [CmdletBinding(DefaultParameterSetName='ByNamespace', SupportsShouldProcess=$true, ConfirmImpact='High')] param( [PoshBot.FromConfig('VSTeamProfile')] [parameter(Mandatory)] [string]$VSTeamProfile, [Parameter(ParameterSetName='ByNamespace', Mandatory=$true, ValueFromPipeline=$true)] [string] ${SecurityNamespace}, [Parameter(ParameterSetName='ByNamespaceId', Mandatory=$true)] [ValidateScript({ try { [System.Guid]::Parse($_) | Out-Null $true } catch { $false } })] [string] ${SecurityNamespaceId}, [Parameter(ParameterSetName='ByNamespaceId', Mandatory=$true)] [Parameter(ParameterSetName='ByNamespace', Mandatory=$true)] [string[]] ${Tokens}, [Parameter(ParameterSetName='ByNamespaceId')] [Parameter(ParameterSetName='ByNamespace')] [switch] ${Recurse}, [switch] ${Force}) process { Set-VSTeamAccount -Profile $VSTeamProfile $PSBoundParameters.Remove('VSTeamProfile') $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand('Remove-VSTeamAccessControlList', [System.Management.Automation.CommandTypes]::Function) $output = & $wrappedCmd @PSBoundParameters New-PoshBotCardResponse -Type Normal -Title 'Access Control Lists' -Text ($output | Format-List * | Out-String) } <# .ForwardHelpTargetName Remove-VSTeamAccessControlList .ForwardHelpCategory Function #> } function RemoveVSTeamAgent { [PoshBot.BotCommand(Aliases = ('RemoveTeamAgent'), Permissions = 'ManageAgent')] [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')] param( [PoshBot.FromConfig('VSTeamProfile')] [parameter(Mandatory)] [string]$VSTeamProfile, [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] [int] ${PoolId}, [Parameter(Mandatory=$true, Position=1, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] [Alias('AgentID')] [int[]] ${Id}, [switch] ${Force}) process { Set-VSTeamAccount -Profile $VSTeamProfile $PSBoundParameters.Remove('VSTeamProfile') $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand('Remove-VSTeamAgent', [System.Management.Automation.CommandTypes]::Function) $output = & $wrappedCmd @PSBoundParameters New-PoshBotCardResponse -Type Normal -Title 'Agents' -Text ($output | Format-List * | Out-String) } <# .ForwardHelpTargetName Remove-VSTeamAgent .ForwardHelpCategory Function #> } function RemoveVSTeamBuild { [PoshBot.BotCommand(Aliases = ('RemoveTeamBuild'), Permissions = 'ManageBuild')] [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')] param( [PoshBot.FromConfig('VSTeamProfile')] [parameter(Mandatory)] [string]$VSTeamProfile, [Alias('Project')] [string] ${ProjectName}, [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] [Alias('BuildID')] [int[]] ${Id}, [switch] ${Force}) process { Set-VSTeamAccount -Profile $VSTeamProfile $PSBoundParameters.Remove('VSTeamProfile') $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand('Remove-VSTeamBuild', [System.Management.Automation.CommandTypes]::Function) $output = & $wrappedCmd @PSBoundParameters New-PoshBotCardResponse -Type Normal -Title 'Builds' -Text ($output | Format-List * | Out-String) } <# .ForwardHelpTargetName Remove-VSTeamBuild .ForwardHelpCategory Function #> } function RemoveVSTeamBuildDefinition { [PoshBot.BotCommand(Aliases = ('RemoveTeamBuildDefinition'), Permissions = 'ManageBuild')] [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')] param( [PoshBot.FromConfig('VSTeamProfile')] [parameter(Mandatory)] [string]$VSTeamProfile, [Alias('Project')] [string] ${ProjectName}, [Parameter(Mandatory=$true, Position=0, ValueFromPipelineByPropertyName=$true)] [int[]] ${Id}, [switch] ${Force}) process { Set-VSTeamAccount -Profile $VSTeamProfile $PSBoundParameters.Remove('VSTeamProfile') $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand('Remove-VSTeamBuildDefinition', [System.Management.Automation.CommandTypes]::Function) $output = & $wrappedCmd @PSBoundParameters New-PoshBotCardResponse -Type Normal -Title 'Build Definitions' -Text ($output | Format-List * | Out-String) } <# .ForwardHelpTargetName Remove-VSTeamBuildDefinition .ForwardHelpCategory Function #> } function RemoveVSTeamBuildTag { [PoshBot.BotCommand(Aliases = ('RemoveTeamBuildTag'), Permissions = 'ManageBuild')] [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Low')] param( [PoshBot.FromConfig('VSTeamProfile')] [parameter(Mandatory)] [string]$VSTeamProfile, [Alias('Project')] [string] ${ProjectName}, [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] [string[]] ${Tags}, [Parameter(Mandatory=$true, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] [Alias('BuildID')] [int[]] ${Id}, [switch] ${Force}) process { Set-VSTeamAccount -Profile $VSTeamProfile $PSBoundParameters.Remove('VSTeamProfile') $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand('Remove-VSTeamBuildTag', [System.Management.Automation.CommandTypes]::Function) $output = & $wrappedCmd @PSBoundParameters New-PoshBotCardResponse -Type Normal -Title 'Build Tags' -Text ($output | Format-List * | Out-String) } <# .ForwardHelpTargetName Remove-VSTeamBuildTag .ForwardHelpCategory Function #> } function RemoveVSTeamExtension { [PoshBot.BotCommand(Aliases = ('RemoveTeamExtension'), Permissions = 'ManageExtension')] [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')] param( [PoshBot.FromConfig('VSTeamProfile')] [parameter(Mandatory)] [string]$VSTeamProfile, [Parameter(Mandatory=$true, Position=0)] [string] ${PublisherId}, [Parameter(Mandatory=$true, Position=1)] [string] ${ExtensionId}, [switch] ${Force}) process { Set-VSTeamAccount -Profile $VSTeamProfile $PSBoundParameters.Remove('VSTeamProfile') $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand('Remove-VSTeamExtension', [System.Management.Automation.CommandTypes]::Function) $output = & $wrappedCmd @PSBoundParameters New-PoshBotCardResponse -Type Normal -Title 'Extensions' -Text ($output | Format-List * | Out-String) } <# .ForwardHelpTargetName Remove-VSTeamExtension .ForwardHelpCategory Function #> } function RemoveVSTeamFeed { [PoshBot.BotCommand(Aliases = ('RemoveTeamFeed'), Permissions = 'ManageArtifacts')] [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')] param( [PoshBot.FromConfig('VSTeamProfile')] [parameter(Mandatory)] [string]$VSTeamProfile, [Parameter(ParameterSetName='ByID', Mandatory=$true, Position=0, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] [Alias('FeedId')] [string[]] ${Id}, [switch] ${Force}) process { Set-VSTeamAccount -Profile $VSTeamProfile $PSBoundParameters.Remove('VSTeamProfile') $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand('Remove-VSTeamFeed', [System.Management.Automation.CommandTypes]::Function) $output = & $wrappedCmd @PSBoundParameters New-PoshBotCardResponse -Type Normal -Title 'Feeds' -Text ($output | Format-List * | Out-String) } <# .ForwardHelpTargetName Remove-VSTeamFeed .ForwardHelpCategory Function #> } function RemoveVSTeamGitRepository { [PoshBot.BotCommand(Aliases = ('RemoveTeamGitRepository'), Permissions = 'ManageCode')] [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')] param( [PoshBot.FromConfig('VSTeamProfile')] [parameter(Mandatory)] [string]$VSTeamProfile, [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] [guid[]] ${Id}, [switch] ${Force}) process { Set-VSTeamAccount -Profile $VSTeamProfile $PSBoundParameters.Remove('VSTeamProfile') $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand('Remove-VSTeamGitRepository', [System.Management.Automation.CommandTypes]::Function) $output = & $wrappedCmd @PSBoundParameters New-PoshBotCardResponse -Type Normal -Title 'Git Repositories' -Text ($output | Format-List * | Out-String) } <# .ForwardHelpTargetName Remove-VSTeamGitRepository .ForwardHelpCategory Function #> } function RemoveVSTeamPolicy { [PoshBot.BotCommand(Aliases = ('RemoveTeamPolicy'), Permissions = 'ManageCodePolicy')] [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] param( [PoshBot.FromConfig('VSTeamProfile')] [parameter(Mandatory)] [string]$VSTeamProfile, [Alias('Project')] [string] ${ProjectName}, [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] [int[]] ${Id}, [switch] ${Force}) process { Set-VSTeamAccount -Profile $VSTeamProfile $PSBoundParameters.Remove('VSTeamProfile') $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand('Remove-VSTeamPolicy', [System.Management.Automation.CommandTypes]::Function) $output = & $wrappedCmd @PSBoundParameters New-PoshBotCardResponse -Type Normal -Title 'Policies' -Text ($output | Format-List * | Out-String) } <# .ForwardHelpTargetName Remove-VSTeamPolicy .ForwardHelpCategory Function #> } function RemoveVSTeamProject { [PoshBot.BotCommand(Aliases = ('RemoveTeamProject'), Permissions = 'ManageProject')] [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')] param( [PoshBot.FromConfig('VSTeamProfile')] [parameter(Mandatory)] [string]$VSTeamProfile, [Alias('Project')] [string] ${ProjectName}, [switch] ${Force}) process { Set-VSTeamAccount -Profile $VSTeamProfile $PSBoundParameters.Remove('VSTeamProfile') $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand('Remove-VSTeamProject', [System.Management.Automation.CommandTypes]::Function) $output = & $wrappedCmd @PSBoundParameters New-PoshBotCardResponse -Type Normal -Title 'Projects' -Text ($output | Format-List * | Out-String) } <# .ForwardHelpTargetName Remove-VSTeamProject .ForwardHelpCategory Function #> } function RemoveVSTeamRelease { [PoshBot.BotCommand(Aliases = ('RemoveTeamRelease'), Permissions = 'ManageRelease')] [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')] param( [PoshBot.FromConfig('VSTeamProfile')] [parameter(Mandatory)] [string]$VSTeamProfile, [Alias('Project')] [string] ${ProjectName}, [Parameter(Mandatory=$true, Position=0, ValueFromPipelineByPropertyName=$true)] [int[]] ${Id}, [switch] ${Force}) process { Set-VSTeamAccount -Profile $VSTeamProfile $PSBoundParameters.Remove('VSTeamProfile') $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand('Remove-VSTeamRelease', [System.Management.Automation.CommandTypes]::Function) $output = & $wrappedCmd @PSBoundParameters New-PoshBotCardResponse -Type Normal -Title 'Releases' -Text ($output | Format-List * | Out-String) } <# .ForwardHelpTargetName Remove-VSTeamRelease .ForwardHelpCategory Function #> } function RemoveVSTeamReleaseDefinition { [PoshBot.BotCommand(Aliases = ('RemoveTeamReleaseDefinition'), Permissions = 'ManageRelease')] [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')] param( [PoshBot.FromConfig('VSTeamProfile')] [parameter(Mandatory)] [string]$VSTeamProfile, [Alias('Project')] [string] ${ProjectName}, [Parameter(Mandatory=$true, Position=0, ValueFromPipelineByPropertyName=$true)] [int[]] ${Id}, [switch] ${Force}) process { Set-VSTeamAccount -Profile $VSTeamProfile $PSBoundParameters.Remove('VSTeamProfile') $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand('Remove-VSTeamReleaseDefinition', [System.Management.Automation.CommandTypes]::Function) $output = & $wrappedCmd @PSBoundParameters New-PoshBotCardResponse -Type Normal -Title 'Release Definitions' -Text ($output | Format-List * | Out-String) } <# .ForwardHelpTargetName Remove-VSTeamReleaseDefinition .ForwardHelpCategory Function #> } function RemoveVSTeamServiceEndpoint { [PoshBot.BotCommand(Aliases = ('RemoveTeamServiceEndpoint'), Permissions = 'ManageEndpoint')] [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')] param( [PoshBot.FromConfig('VSTeamProfile')] [parameter(Mandatory)] [string]$VSTeamProfile, [Alias('Project')] [string] ${ProjectName}, [Parameter(Mandatory=$true, Position=0, ValueFromPipelineByPropertyName=$true)] [string[]] ${id}, [switch] ${Force}) process { Set-VSTeamAccount -Profile $VSTeamProfile $PSBoundParameters.Remove('VSTeamProfile') $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand('Remove-VSTeamServiceEndpoint', [System.Management.Automation.CommandTypes]::Function) $output = & $wrappedCmd @PSBoundParameters New-PoshBotCardResponse -Type Normal -Title 'Service Endpoints' -Text ($output | Format-List * | Out-String) } <# .ForwardHelpTargetName Remove-VSTeamServiceEndpoint .ForwardHelpCategory Function #> } function RemoveVSTeamUserEntitlement { [PoshBot.BotCommand(Aliases = ('RemoveTeamUserEntitlement'), Permissions = 'ManageUsers')] [CmdletBinding(DefaultParameterSetName='ById', SupportsShouldProcess=$true, ConfirmImpact='High')] param( [PoshBot.FromConfig('VSTeamProfile')] [parameter(Mandatory)] [string]$VSTeamProfile, [Parameter(ParameterSetName='ById', Mandatory=$true, ValueFromPipelineByPropertyName=$true)] [Alias('UserId')] [string] ${Id}, [Parameter(ParameterSetName='ByEmail', Mandatory=$true, ValueFromPipelineByPropertyName=$true)] [Alias('UserEmail')] [string] ${Email}, [switch] ${Force}) process { Set-VSTeamAccount -Profile $VSTeamProfile $PSBoundParameters.Remove('VSTeamProfile') $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand('Remove-VSTeamUserEntitlement', [System.Management.Automation.CommandTypes]::Function) $output = & $wrappedCmd @PSBoundParameters New-PoshBotCardResponse -Type Normal -Title Projects -Text ($output | Format-List * | Out-String) } <# .ForwardHelpTargetName Remove-VSTeamUserEntitlement .ForwardHelpCategory Function #> } function RemoveVSTeamVariableGroup { [PoshBot.BotCommand(Aliases = ('RemoveTeamVariableGroup'), Permissions = 'ManageVariableGroup')] [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')] param( [PoshBot.FromConfig('VSTeamProfile')] [parameter(Mandatory)] [string]$VSTeamProfile, [Alias('Project')] [string] ${ProjectName}, [Parameter(Mandatory=$true, Position=0, ValueFromPipelineByPropertyName=$true)] [string[]] ${id}, [switch] ${Force}) process { Set-VSTeamAccount -Profile $VSTeamProfile $PSBoundParameters.Remove('VSTeamProfile') $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand('Remove-VSTeamVariableGroup', [System.Management.Automation.CommandTypes]::Function) $output = & $wrappedCmd @PSBoundParameters New-PoshBotCardResponse -Type Normal -Title 'Variable Groups' -Text ($output | Format-List * | Out-String) } <# .ForwardHelpTargetName Remove-VSTeamVariableGroup .ForwardHelpCategory Function #> } function SetVSTeamApproval { [PoshBot.BotCommand(Aliases = ('SetTeamApproval'))] [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] param( [PoshBot.FromConfig('VSTeamProfile')] [parameter(Mandatory)] [string]$VSTeamProfile, [Alias('Project')] [string] ${ProjectName}, [Parameter(Mandatory=$true, Position=0, ValueFromPipelineByPropertyName=$true)] [int[]] ${Id}, [Parameter(Mandatory=$true, Position=1)] [ValidateSet('Approved','Rejected','Pending','ReAssigned')] [string] ${Status}, [Parameter(Position=2)] [string] ${Approver}, [Parameter(Position=3)] [string] ${Comment}, [switch] ${Force}) process { Set-VSTeamAccount -Profile $VSTeamProfile $PSBoundParameters.Remove('VSTeamProfile') $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand('Set-VSTeamApproval', [System.Management.Automation.CommandTypes]::Function) $output = & $wrappedCmd @PSBoundParameters New-PoshBotCardResponse -Type Normal -Title 'Approvals' -Text ($output | Format-List * | Out-String) } <# .ForwardHelpTargetName Set-VSTeamApproval .ForwardHelpCategory Function #> } function SetVSTeamEnvironmentStatus { [PoshBot.BotCommand(Aliases = ('SetTeamEnvironmentStatus'), Permissions = 'ManageRelease')] [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] param( [PoshBot.FromConfig('VSTeamProfile')] [parameter(Mandatory)] [string]$VSTeamProfile, [Alias('Project')] [string] ${ProjectName}, [Parameter(Mandatory=$true, ValueFromPipelineByPropertyName=$true)] [Alias('Id')] [int[]] ${EnvironmentId}, [Parameter(Mandatory=$true, ValueFromPipelineByPropertyName=$true)] [int] ${ReleaseId}, [Parameter(Mandatory=$true, Position=0)] [Alias('EnvironmentStatus')] [ValidateSet('canceled','inProgress','notStarted','partiallySucceeded','queued','rejected','scheduled','succeeded','undefined')] [string] ${Status}, [string] ${Comment}, [datetime] ${ScheduledDeploymentTime}, [switch] ${Force}) process { Set-VSTeamAccount -Profile $VSTeamProfile $PSBoundParameters.Remove('VSTeamProfile') $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand('Set-VSTeamEnvironmentStatus', [System.Management.Automation.CommandTypes]::Function) $output = & $wrappedCmd @PSBoundParameters New-PoshBotCardResponse -Type Normal -Title 'Environment Status' -Text ($output | Format-List * | Out-String) } <# .ForwardHelpTargetName Set-VSTeamEnvironmentStatus .ForwardHelpCategory Function #> } function SetVSTeamReleaseStatus { [PoshBot.BotCommand(Aliases = ('SetTeamReleaseStatus'), Permissions = 'ManageRelease')] [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] param( [PoshBot.FromConfig('VSTeamProfile')] [parameter(Mandatory)] [string]$VSTeamProfile, [Alias('Project')] [string] ${ProjectName}, [Parameter(Mandatory=$true, Position=0, ValueFromPipelineByPropertyName=$true)] [int[]] ${Id}, [Parameter(Position=1)] [ValidateSet('Active','Abandoned')] [string] ${Status}, [switch] ${Force}) process { Set-VSTeamAccount -Profile $VSTeamProfile $PSBoundParameters.Remove('VSTeamProfile') $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand('Set-VSTeamReleaseStatus', [System.Management.Automation.CommandTypes]::Function) $output = & $wrappedCmd @PSBoundParameters New-PoshBotCardResponse -Type Normal -Title 'Release Status' -Text ($output | Format-List * | Out-String) } <# .ForwardHelpTargetName Set-VSTeamReleaseStatus .ForwardHelpCategory Function #> } function UpdateVSTeam { [PoshBot.BotCommand(Aliases = ('UpdateTeam'), Permissions = 'ManageTeam')] [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] param( [PoshBot.FromConfig('VSTeamProfile')] [parameter(Mandatory)] [string]$VSTeamProfile, [Alias('Project')] [string] ${ProjectName}, [Parameter(Mandatory=$true, Position=0, ValueFromPipelineByPropertyName=$true)] [Alias('TeamName','TeamId','TeamToUpdate','Id')] [string] ${Name}, [Parameter(Position=1)] [string] ${NewTeamName}, [Parameter(Position=2)] [string] ${Description}, [switch] ${Force}) process { Set-VSTeamAccount -Profile $VSTeamProfile $PSBoundParameters.Remove('VSTeamProfile') $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand('Update-VSTeam', [System.Management.Automation.CommandTypes]::Function) $output = & $wrappedCmd @PSBoundParameters | Select-Object -Property Name,Description,ProjectName New-PoshBotCardResponse -Type Normal -Title 'Teams' -Text ($output | Format-List * | Out-String) } <# .ForwardHelpTargetName Update-VSTeam .ForwardHelpCategory Function #> } function UpdateVSTeamBuild { [PoshBot.BotCommand(Aliases = ('UpdateTeamBuild'), Permissions = 'ManageBuild')] [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] param( [PoshBot.FromConfig('VSTeamProfile')] [parameter(Mandatory)] [string]$VSTeamProfile, [Alias('Project')] [string] ${ProjectName}, [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] [Alias('BuildID')] [int] ${Id}, [Parameter(Position=1, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] [bool] ${KeepForever}, [Parameter(Position=2, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] [string] ${BuildNumber}, [switch] ${Force}) process { Set-VSTeamAccount -Profile $VSTeamProfile $PSBoundParameters.Remove('VSTeamProfile') $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand('Update-VSTeamBuild', [System.Management.Automation.CommandTypes]::Function) $output = & $wrappedCmd @PSBoundParameters New-PoshBotCardResponse -Type Normal -Title 'Builds' -Text ($output | Format-List * | Out-String) } <# .ForwardHelpTargetName Update-VSTeamBuild .ForwardHelpCategory Function #> } function UpdateVSTeamBuildDefinition { [PoshBot.BotCommand(Aliases = ('UpdateTeamBuildDefinition'), Permissions = 'ManageBuild')] [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] param( [PoshBot.FromConfig('VSTeamProfile')] [parameter(Mandatory)] [string]$VSTeamProfile, [Alias('Project')] [string] ${ProjectName}, [Parameter(Mandatory=$true, Position=0, ValueFromPipelineByPropertyName=$true)] [int] ${Id}, [Parameter(Mandatory=$true, Position=1, ValueFromPipelineByPropertyName=$true)] [string] ${InFile}, [switch] ${Force}) process { Set-VSTeamAccount -Profile $VSTeamProfile $PSBoundParameters.Remove('VSTeamProfile') $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand('Update-VSTeamBuildDefinition', [System.Management.Automation.CommandTypes]::Function) $output = & $wrappedCmd @PSBoundParameters New-PoshBotCardResponse -Type Normal -Title 'Build Definitions' -Text ($output | Format-List * | Out-String) } <# .ForwardHelpTargetName Update-VSTeamBuildDefinition .ForwardHelpCategory Function #> } function UpdateVSTeamExtension { [PoshBot.BotCommand(Aliases = ('UpdateTeamExtension'), Permissions = 'ManageExtension')] [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] param( [PoshBot.FromConfig('VSTeamProfile')] [parameter(Mandatory)] [string]$VSTeamProfile, [Parameter(Mandatory=$true, Position=0)] [string] ${PublisherId}, [Parameter(Mandatory=$true, Position=1)] [string] ${ExtensionId}, [Parameter(Mandatory=$true, Position=2)] [ValidateSet('none','disabled')] [string] ${ExtensionState}, [switch] ${Force}) process { Set-VSTeamAccount -Profile $VSTeamProfile $PSBoundParameters.Remove('VSTeamProfile') $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand('Update-VSTeamExtension', [System.Management.Automation.CommandTypes]::Function) $output = & $wrappedCmd @PSBoundParameters New-PoshBotCardResponse -Type Normal -Title 'Extensions' -Text ($output | Format-List * | Out-String) } <# .ForwardHelpTargetName Update-VSTeamExtension .ForwardHelpCategory Function #> } function UpdateVSTeamPolicy { [PoshBot.BotCommand(Aliases = ('UpdateTeamPolicy'), Permissions = 'ManageCodePolicy')] [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] param( [PoshBot.FromConfig('VSTeamProfile')] [parameter(Mandatory)] [string]$VSTeamProfile, [Alias('Project')] [string] ${ProjectName}, [Parameter(Mandatory=$true, Position=0)] [int] ${id}, [Parameter(Position=1)] [guid] ${type}, [switch] ${enabled}, [switch] ${blocking}, [Parameter(Mandatory=$true, Position=2)] [hashtable] ${settings}, [switch] ${Force}) process { Set-VSTeamAccount -Profile $VSTeamProfile $PSBoundParameters.Remove('VSTeamProfile') $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand('Update-VSTeamPolicy', [System.Management.Automation.CommandTypes]::Function) $output = & $wrappedCmd @PSBoundParameters New-PoshBotCardResponse -Type Normal -Title 'Policies' -Text ($output | Format-List * | Out-String) } <# .ForwardHelpTargetName Update-VSTeamPolicy .ForwardHelpCategory Function #> } function UpdateVSTeamProject { [PoshBot.BotCommand(Aliases = ('UpdateTeamProject'), Permissions = 'ManageProject')] [CmdletBinding(DefaultParameterSetName='ByName', SupportsShouldProcess=$true, ConfirmImpact='High')] param( [PoshBot.FromConfig('VSTeamProfile')] [parameter(Mandatory)] [string]$VSTeamProfile, [Alias('Project')] [string] ${ProjectName}, [string] ${NewName}, [string] ${NewDescription}, [switch] ${Force}, [Parameter(ParameterSetName='ByID', ValueFromPipelineByPropertyName=$true)] [string] ${Id}) process { Set-VSTeamAccount -Profile $VSTeamProfile $PSBoundParameters.Remove('VSTeamProfile') $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand('Update-VSTeamProject', [System.Management.Automation.CommandTypes]::Function) $output = & $wrappedCmd @PSBoundParameters | Select-Object -Property Name,Description New-PoshBotCardResponse -Type Normal -Title 'Projects' -Text ($output | Format-List * | Out-String) } <# .ForwardHelpTargetName Update-VSTeamProject .ForwardHelpCategory Function #> } function UpdateVSTeamRelease { [PoshBot.BotCommand(Aliases = ('UpdateTeamRelease'), Permissions = 'ManageRelease')] [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] param( [PoshBot.FromConfig('VSTeamProfile')] [parameter(Mandatory)] [string]$VSTeamProfile, [Alias('Project')] [string] ${ProjectName}, [Parameter(Mandatory=$true, Position=0, ValueFromPipelineByPropertyName=$true)] [int] ${Id}, [Parameter(Mandatory=$true, Position=1)] [psobject] ${Release}, [switch] ${Force}) process { Set-VSTeamAccount -Profile $VSTeamProfile $PSBoundParameters.Remove('VSTeamProfile') $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand('Update-VSTeamRelease', [System.Management.Automation.CommandTypes]::Function) $output = & $wrappedCmd @PSBoundParameters New-PoshBotCardResponse -Type Normal -Title 'Releases' -Text ($output | Format-List * | Out-String) } <# .ForwardHelpTargetName Update-VSTeamRelease .ForwardHelpCategory Function #> } function UpdateVSTeamServiceEndpoint { [PoshBot.BotCommand(Aliases = ('UpdateTeamServiceEndpoint'), Permissions = 'ManageEndpoint')] [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] param( [PoshBot.FromConfig('VSTeamProfile')] [parameter(Mandatory)] [string]$VSTeamProfile, [Alias('Project')] [string] ${ProjectName}, [Parameter(Mandatory=$true, Position=0, ValueFromPipelineByPropertyName=$true)] [string] ${id}, [Parameter(Mandatory=$true, Position=1, ValueFromPipelineByPropertyName=$true)] [hashtable] ${object}, [switch] ${Force}) process { Set-VSTeamAccount -Profile $VSTeamProfile $PSBoundParameters.Remove('VSTeamProfile') $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand('Update-VSTeamServiceEndpoint', [System.Management.Automation.CommandTypes]::Function) $output = & $wrappedCmd @PSBoundParameters New-PoshBotCardResponse -Type Normal -Title 'Service Endpoints' -Text ($output | Format-List * | Out-String) } <# .ForwardHelpTargetName Update-VSTeamServiceEndpoint .ForwardHelpCategory Function #> } function UpdateVSTeamUserEntitlement { [PoshBot.BotCommand(Aliases = ('UpdateTeamUserEntitlement'), Permissions = 'ManageUsers')] [CmdletBinding(DefaultParameterSetName='ByEmail', SupportsShouldProcess=$true, ConfirmImpact='High')] param( [PoshBot.FromConfig('VSTeamProfile')] [parameter(Mandatory)] [string]$VSTeamProfile, [Parameter(ParameterSetName='ById', Mandatory=$true, ValueFromPipelineByPropertyName=$true)] [Alias('UserId')] [string] ${Id}, [Parameter(ParameterSetName='ByEmail', Mandatory=$true, ValueFromPipelineByPropertyName=$true)] [Alias('UserEmail')] [string] ${Email}, [Parameter(Mandatory=$true)] [ValidateSet('Advanced','EarlyAdopter','Express','None','Professional','StakeHolder')] [string] ${License}, [switch] ${Force}) process { Set-VSTeamAccount -Profile $VSTeamProfile $PSBoundParameters.Remove('VSTeamProfile') $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand('Update-VSTeamUserEntitlement', [System.Management.Automation.CommandTypes]::Function) $output = & $wrappedCmd @PSBoundParameters New-PoshBotCardResponse -Type Normal -Title 'User Entitlements' -Text ($output | Format-List * | Out-String) } <# .ForwardHelpTargetName Update-VSTeamUserEntitlement .ForwardHelpCategory Function #> } function UpdateVSTeamVariableGroup { [PoshBot.BotCommand(Aliases = ('UpdateTeamVariableGroup'), Permissions = 'ManageVariableGroup')] [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] param( [PoshBot.FromConfig('VSTeamProfile')] [parameter(Mandatory)] [string]$VSTeamProfile, [Alias('Project')] [string] ${ProjectName}, [Parameter(Mandatory=$true, Position=0, ValueFromPipelineByPropertyName=$true)] [string] ${Id}, [Parameter(Mandatory=$true, Position=1, ValueFromPipelineByPropertyName=$true)] [string] ${Name}, [Parameter(Mandatory=$true, Position=2, ValueFromPipelineByPropertyName=$true)] [string] ${Description}, [Parameter(Mandatory=$true, Position=3, ValueFromPipelineByPropertyName=$true)] [hashtable] ${Variables}, [switch] ${Force}) process { Set-VSTeamAccount -Profile $VSTeamProfile $PSBoundParameters.Remove('VSTeamProfile') $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand('Update-VSTeamVariableGroup', [System.Management.Automation.CommandTypes]::Function) $output = & $wrappedCmd @PSBoundParameters New-PoshBotCardResponse -Type Normal -Title 'Variable Groups' -Text ($output | Format-List * | Out-String) } <# .ForwardHelpTargetName Update-VSTeamVariableGroup .ForwardHelpCategory Function #> } function UpdateVSTeamWorkItem { [PoshBot.BotCommand(Aliases = ('UpdateTeamWorkItem'))] [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] param( [PoshBot.FromConfig('VSTeamProfile')] [parameter(Mandatory)] [string]$VSTeamProfile, [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] [int] ${Id}, [string] ${Title}, [string] ${Description}, [string] ${IterationPath}, [string] ${AssignedTo}, [switch] ${Force}) process { Set-VSTeamAccount -Profile $VSTeamProfile $PSBoundParameters.Remove('VSTeamProfile') $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand('Update-VSTeamWorkItem', [System.Management.Automation.CommandTypes]::Function) $output = & $wrappedCmd @PSBoundParameters New-PoshBotCardResponse -Type Normal -Title 'Work Items' -Text ($output | Format-List * | Out-String) } <# .ForwardHelpTargetName Update-VSTeamWorkItem .ForwardHelpCategory Function #> } Export-ModuleMember -Function AddVSTeam,AddVSTeamAccessControlEntry,AddVSTeamAzureRMServiceEndpoint,AddVSTeamBuild,AddVSTeamBuildDefinition,AddVSTeamBuildTag,AddVSTeamExtension,AddVSTeamFeed,AddVSTeamGitRepository,AddVSTeamGitRepositoryPermission,AddVSTeamKubernetesEndpoint,AddVSTeamNuGetEndpoint,AddVSTeamPolicy,AddVSTeamProject,AddVSTeamProjectPermission,AddVSTeamRelease,AddVSTeamReleaseDefinition,AddVSTeamServiceEndpoint,AddVSTeamServiceFabricEndpoint,AddVSTeamSonarQubeEndpoint,AddVSTeamUserEntitlement,AddVSTeamVariableGroup,AddVSTeamWorkItem,AddVSTeamWorkItemAreaPermission,AddVSTeamWorkItemIterationPermission,DisableVSTeamAgent,EnableVSTeamAgent,GetVSTeam,GetVSTeamAccessControlList,GetVSTeamAgent,GetVSTeamApproval,GetVSTeamBuild,GetVSTeamBuildArtifact,GetVSTeamBuildDefinition,GetVSTeamBuildLog,GetVSTeamBuildTag,GetVSTeamClassificationNode,GetVSTeamCloudSubscription,GetVSTeamDescriptor,GetVSTeamExtension,GetVSTeamFeed,GetVSTeamGitRef,GetVSTeamGitRepository,GetVSTeamGroup,GetVSTeamJobRequest,GetVSTeamMember,GetVSTeamPolicy,GetVSTeamPolicyType,GetVSTeamPool,GetVSTeamProcess,GetVSTeamProject,GetVSTeamPullRequest,GetVSTeamQueue,GetVSTeamRelease,GetVSTeamReleaseDefinition,GetVSTeamResourceArea,GetVSTeamSecurityNamespace,GetVSTeamServiceEndpoint,GetVSTeamServiceEndpointType,GetVSTeamTfvcBranch,GetVSTeamTfvcRootBranch,GetVSTeamUser,GetVSTeamUserEntitlement,GetVSTeamVariableGroup,GetVSTeamWorkItem,GetVSTeamWorkItemType,RemoveVSTeam,RemoveVSTeamAccessControlList,RemoveVSTeamAgent,RemoveVSTeamBuild,RemoveVSTeamBuildDefinition,RemoveVSTeamBuildTag,RemoveVSTeamExtension,RemoveVSTeamFeed,RemoveVSTeamGitRepository,RemoveVSTeamPolicy,RemoveVSTeamProject,RemoveVSTeamRelease,RemoveVSTeamReleaseDefinition,RemoveVSTeamServiceEndpoint,RemoveVSTeamUserEntitlement,RemoveVSTeamVariableGroup,SetVSTeamApproval,SetVSTeamEnvironmentStatus,SetVSTeamReleaseStatus,UpdateVSTeam,UpdateVSTeamBuild,UpdateVSTeamBuildDefinition,UpdateVSTeamExtension,UpdateVSTeamPolicy,UpdateVSTeamProject,UpdateVSTeamRelease,UpdateVSTeamServiceEndpoint,UpdateVSTeamUserEntitlement,UpdateVSTeamVariableGroup,UpdateVSTeamWorkItem |