Public/Forms/New-AtlassianCloudFormsTemplate.ps1
function New-AtlassianCloudFormsTemplate{ [CmdletBinding()] param( [Parameter(Mandatory, Position=0)] [ValidateNotNullOrEmpty()] [string]$ProjectKey, [Parameter(Mandatory, Position=1)] [ValidateNotNullOrEmpty()] [psobject]$Design, [Parameter(Mandatory = $false, Position=2)] [psobject]$Publish, [Parameter(Mandatory, Position=3)] [ValidateNotNullOrEmpty()] [string]$CloudId, [Parameter(Mandatory, Position=4)] [ValidateNotNullOrEmpty()] [string]$Pat ) $headers = @{ Authorization = "Basic $($Pat)" 'X-ExperimentalApi' = 'opt-in' } $uri = "https://api.atlassian.com/jira/forms/cloud/$CloudId/project/$ProjectKey/form" $data = @{ design = $Design } if ($Publish) { $data += @{ publish = $Publish } } $body = ($data | ConvertTo-Json -Depth 10) Write-Verbose "[$POST] $uri" Write-Verbose "Body: $body" return Invoke-RestMethod -Method Post -Body $body -Uri $uri -ContentType application/json -Headers $headers -Verbose:($Verbose.IsPresent) } |