From 036f0abfd83762fe205d1a986dc824d467cce48b Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Tue, 17 Mar 2026 09:58:37 +0000 Subject: [PATCH 1/2] Initial plan From 8dcca75ffa326a61d390526229ba4a275a87db98 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Tue, 17 Mar 2026 10:03:50 +0000 Subject: [PATCH 2/2] Make Logic App a clickable link in custom extension task output Co-authored-by: mariussm <426202+mariussm@users.noreply.github.com> --- .../Private/ConvertTo-WorkflowMarkdown.ps1 | 9 ++++++++- .../Private/ConvertTo-WorkflowMermaid.ps1 | 7 +++++++ 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/LCWMermaidGenerator/Private/ConvertTo-WorkflowMarkdown.ps1 b/LCWMermaidGenerator/Private/ConvertTo-WorkflowMarkdown.ps1 index 6ef152d..9750e9f 100644 --- a/LCWMermaidGenerator/Private/ConvertTo-WorkflowMarkdown.ps1 +++ b/LCWMermaidGenerator/Private/ConvertTo-WorkflowMarkdown.ps1 @@ -32,7 +32,14 @@ function ConvertTo-WorkflowMarkdown { if ($task.CustomExtension) { $lines.Add(" Custom extension: $(Format-NullableValue -Value $task.CustomExtension.DisplayName)") - $lines.Add(" Logic App: $(Format-NullableValue -Value $task.CustomExtension.LogicAppName)") + $logicAppLink = if ($task.CustomExtension.SubscriptionId -and $task.CustomExtension.ResourceGroupName -and $task.CustomExtension.LogicAppName) { + $url = "https://portal.azure.com/#resource/subscriptions/$([Uri]::EscapeDataString($task.CustomExtension.SubscriptionId))/resourceGroups/$([Uri]::EscapeDataString($task.CustomExtension.ResourceGroupName))/providers/Microsoft.Logic/workflows/$([Uri]::EscapeDataString($task.CustomExtension.LogicAppName))" + "[$($task.CustomExtension.LogicAppName)]($url)" + } + else { + Format-NullableValue -Value $task.CustomExtension.LogicAppName + } + $lines.Add(" Logic App: $logicAppLink") $lines.Add(" Resource group: $(Format-NullableValue -Value $task.CustomExtension.ResourceGroupName)") $lines.Add(" Subscription: $(Format-NullableValue -Value $task.CustomExtension.SubscriptionId)") } diff --git a/LCWMermaidGenerator/Private/ConvertTo-WorkflowMermaid.ps1 b/LCWMermaidGenerator/Private/ConvertTo-WorkflowMermaid.ps1 index 65b7e7f..c103bbc 100644 --- a/LCWMermaidGenerator/Private/ConvertTo-WorkflowMermaid.ps1 +++ b/LCWMermaidGenerator/Private/ConvertTo-WorkflowMermaid.ps1 @@ -28,8 +28,12 @@ function ConvertTo-WorkflowMermaid { $taskLabelParts = [System.Collections.Generic.List[string]]::new() $taskLabelParts.Add("[$($task.ExecutionSequence)] $(ConvertTo-MermaidSafeText -Value $task.DisplayName)") $taskLabelParts.Add((ConvertTo-MermaidSafeText -Value $taskType)) + $logicAppUrl = $null if ($task.CustomExtension) { $taskLabelParts.Add("Logic App: $(ConvertTo-MermaidSafeText -Value $task.CustomExtension.LogicAppName)") + if ($task.CustomExtension.SubscriptionId -and $task.CustomExtension.ResourceGroupName -and $task.CustomExtension.LogicAppName) { + $logicAppUrl = "https://portal.azure.com/#resource/subscriptions/$([Uri]::EscapeDataString($task.CustomExtension.SubscriptionId))/resourceGroups/$([Uri]::EscapeDataString($task.CustomExtension.ResourceGroupName))/providers/Microsoft.Logic/workflows/$([Uri]::EscapeDataString($task.CustomExtension.LogicAppName))" + } } $diagramLines.Add((' {0}["{1}"]' -f $taskNodeId, ($taskLabelParts -join '
'))) @@ -46,6 +50,9 @@ function ConvertTo-WorkflowMermaid { } $diagramLines.Add(" class $taskNodeId $className") + if ($logicAppUrl) { + $diagramLines.Add(" click $taskNodeId href `"$logicAppUrl`" _blank") + } $previousTaskNodeId = $taskNodeId }