Public/MessageLayoutBlocks/New-SlackContextBlock.ps1
function New-SlackContextBlock { <# .SYNOPSIS Returns a Slack Context Block. .DESCRIPTION This function returns a Slack Context Block as a PSCustom Object ready to ConvertTo-Json and send to Slack. .PARAMETER elements An array of image elements and text objects. .PARAMETER block_id Specifies the block_id of the Slack Block for reference by the Slack APIs. .LINK https://api.slack.com/reference/messaging/blocks#context .EXAMPLE New-SlackContextBlock -elements $elements -block_id "block44" #> [Cmdletbinding()] param( [Parameter(Mandatory)] [ValidateLength(1,10)] [pscustomobject[]] $elements, [string] [ValidateLength(1,255)] $block_id ) $SlackContextBlock = [pscustomobject]@{ type = "context" elements = $elements } if($block_id){ $SlackContextBlock | Add-Member -NotePropertyName "block_id" -NotePropertyValue $block_id } return $SlackContextBlock } |