Public/Channels/New-MMChannel.ps1
|
# Создание нового канала в MatterMost function New-MMChannel { <# .SYNOPSIS Creates a new channel in a MatterMost team. .EXAMPLE New-MMChannel -TeamId 'team123' -Name 'mychannel' -DisplayName 'My Channel' .EXAMPLE New-MMChannel -TeamName 'myteam' -Name 'mychannel' -DisplayName 'My Channel' .EXAMPLE New-MMChannel -TeamId 'team123' -Name 'private' -DisplayName 'Private Channel' -Type Private #> [OutputType('MMChannel')] [CmdletBinding(DefaultParameterSetName = 'ById')] param( [Parameter(ParameterSetName = 'ById')] [string]$TeamId, [Parameter(Mandatory, ParameterSetName = 'ByName')] [string]$TeamName, [Parameter(Mandatory)] [string]$Name, [Parameter(Mandatory)] [string]$DisplayName, [ValidateSet('Public', 'Private')] [string]$Type = 'Public', [string]$Purpose, [string]$Header ) $resolvedTeamId = if ($PSCmdlet.ParameterSetName -eq 'ByName') { (Get-MMTeam -Name $TeamName).id } elseif ($TeamId) { $TeamId } else { Get-MMDefaultTeamId } $body = @{ team_id = $resolvedTeamId name = $Name display_name = $DisplayName type = if ($Type -eq 'Public') { 'O' } else { 'P' } } if ($Purpose) { $body['purpose'] = $Purpose } if ($Header) { $body['header'] = $Header } Invoke-MMRequest -Endpoint 'channels' -Method POST -Body $body | ConvertTo-MMChannel } |