Public/ConvertTo-JiraADF.ps1
|
function ConvertTo-JiraADF { <# .SYNOPSIS Wandelt Text oder Markdown in ein Atlassian Document Format (ADF) Dokument um. Jira Cloud v3 erwartet für Felder wie "description" oder Kommentar-"body" ADF statt reinem Text/HTML. .PARAMETER InputText Der umzuwandelnde Text. Im Plain-Text-Modus wird jede Zeile zu einem eigenen Absatz. .PARAMETER Markdown Behandelt InputText als Markdown: Überschriften (#), Tabellen (| ... |), Listen (- / 1.) und Inline-Formatierung (**fett**, *kursiv*, `code`, [Text](URL)) werden in ADF umgewandelt. .EXAMPLE ConvertTo-JiraADF -InputText "Erste Zeile`nZweite Zeile" .EXAMPLE $md = "## Überschrift`n`n| Feld | Wert |`n|---|---|`n| Status | OK |" ConvertTo-JiraADF -InputText $md -Markdown #> [CmdletBinding(DefaultParameterSetName = 'PlainText')] param ( [Parameter(Mandatory = $true, ValueFromPipeline = $true)] [AllowEmptyString()] [string] $InputText, [Parameter(Mandatory = $false, ParameterSetName = 'Markdown')] [switch] $Markdown ) process { if ($Markdown) { $AdfContent = Convert-JiraMarkdownToADF -Markdown $InputText return @{ type = 'doc' version = 1 content = $AdfContent } } else { $Lines = $InputText -split "`r?`n" $Paragraphs = foreach ($Line in $Lines) { if ([string]::IsNullOrEmpty($Line)) { @{ type = 'paragraph'; content = @() } } else { @{ type = 'paragraph'; content = @(@{ type = 'text'; text = $Line }) } } } return @{ type = 'doc' version = 1 content = @($Paragraphs) } } } } |