Add Foundry portal link to deployment summary#16314
Conversation
When deploying to Azure AI Foundry, the pipeline summary now includes a clickable link to the Foundry portal for the deployed project. Previously the portal URL was only reported via the pipeline step output but was not included in the final PIPELINE SUCCEEDED summary. Fixes #15970 Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
|
🚀 Dogfood this PR with:
curl -fsSL https://raw.githubusercontent.com/microsoft/aspire/main/eng/scripts/get-aspire-cli-pr.sh | bash -s -- 16314Or
iex "& { $(irm https://raw.githubusercontent.com/microsoft/aspire/main/eng/scripts/get-aspire-cli-pr.ps1) } 16314" |
Aligns with the tagging convention used by Container Apps and App Service summary steps, allowing pipeline configuration to discover and depend on this step via the 'print-summary' tag. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
There was a problem hiding this comment.
Pull request overview
Adds the Azure AI Foundry project portal link to the final pipeline summary so users can click through to the deployed project after a successful publish, aligning Foundry deployments with other Azure targets that surface key URLs in ctx.Summary.
Changes:
- Constructs the Foundry portal URL as a local
portalUrlvariable in thecompute-endpoints-*pipeline step. - Adds the portal URL to
context.Summaryas a Markdown link so it renders as clickable in the final “PIPELINE SUCCEEDED” summary output.
…group The previous approach read Azure:SubscriptionId and Azure:ResourceGroup from IConfiguration, but these values may not be populated at pipeline step execution time (they are set during provisioning and stored in deployment state, not guaranteed to be in IConfiguration). Instead, parse subscription ID and resource group from the parent Foundry resource's Bicep output ID (the Azure resource ID), following the same pattern used by ContainerAppUrls. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Terminals truncate URLs at unescaped commas, breaking Ctrl+click on the Foundry portal link in the deployment summary. Encode commas as %2C and apply Uri.EscapeDataString to the individual path segments. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
|
🎬 CLI E2E Test Recordings — 72 recordings uploaded (commit View recordings
📹 Recordings uploaded automatically from CI run #24647733470 |
|
|
||
| await context.ReportingStep.CompleteAsync(portalUrl).ConfigureAwait(false); | ||
|
|
||
| context.Summary.Add(Name, new MarkdownString($"[{portalUrl}]({portalUrl})")); |
There was a problem hiding this comment.
What does this look like? Most other summary messages start with an emoji.
For example, see PrintDashboardUrlAsync in AzureAppServiceEnvironmentResource
There was a problem hiding this comment.
Some don't though and it makes thing misaligned 😄
Description
When deploying an app to Azure AI Foundry, the pipeline summary (the "✓ PIPELINE SUCCEEDED" output) shows general Azure information (target, resource group, subscription, location) but does not include a link to the Foundry portal for the deployed project.
This change adds the Foundry portal URL to
ctx.Summaryin the existingcompute-endpointspipeline step, following the same pattern used by Azure Container Apps and App Service. The portal URL was already being constructed and reported viaReportingStep.CompleteAsync()— it just wasn't being added to the final summary.After this change the deployment summary will include a clickable link to the project in the Foundry portal (e.g.
https://ai.azure.com/nextgen/r/.../home).Fixes #15970
Checklist