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 }