Skip to content

Add FrontDoorCache actions and connections for Automate#11

Open
stevetemple wants to merge 2 commits into
mainfrom
feature/automate
Open

Add FrontDoorCache actions and connections for Automate#11
stevetemple wants to merge 2 commits into
mainfrom
feature/automate

Conversation

@stevetemple

Copy link
Copy Markdown
Member

Description

Add a connection and actions for Automate to allow purging of the cache for published content and media

Checklist

Please confirm each item before assigning people to this PR.

  • I have checked for any issues with whitespace and code formatting.
  • I have selected an appropriate base branch for this PR to be set against for comparison purposes. i.e. I have selected the branch on which this work is based.

Copilot AI review requested due to automatic review settings July 9, 2026 12:59

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds a new Umbraco.Community.FrontDoorCache.Automate package that integrates with Umbraco Automate by providing an “Azure Front Door” connection plus actions to purge Front Door cache on demand (and an auxiliary action to resolve content/media URLs), while marking the classic package as deprecated in its NuGet description.

Changes:

  • Deprecates the classic Umbraco.Community.FrontDoorCache package via package description text and introduces a new Automate-focused package/project.
  • Implements an Automate Connection Type for Azure Front Door endpoint configuration + validation (using Entra ID credentials from config).
  • Implements Automate Actions to purge specific paths, purge all, and resolve content/media URLs for use as purge inputs.

Reviewed changes

Copilot reviewed 19 out of 19 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
src/Umbraco.Community.FrontDoorCache/Umbraco.Community.FrontDoorCache.csproj Marks the classic package description as deprecated in favor of the Automate package.
src/Umbraco.Community.FrontDoorCache.sln Adds the new Automate project to the solution and build configurations.
src/Umbraco.Community.FrontDoorCache.Automate/Umbraco.Community.FrontDoorCache.Automate.csproj New NuGet package/project for Automate integration, incl. dependencies and packing metadata.
src/Umbraco.Community.FrontDoorCache.Automate/Settings/FrontDoorCredentialsOptions.cs New options model for Entra ID credentials bound from configuration.
src/Umbraco.Community.FrontDoorCache.Automate/README.md Package documentation for install/setup and intended usage in Automate.
src/Umbraco.Community.FrontDoorCache.Automate/Internal/FrontDoorClientFactory.cs Shared helper for creating ARM endpoint resources and issuing purge requests.
src/Umbraco.Community.FrontDoorCache.Automate/Connections/FrontDoorConnectionType.cs Automate connection type + validation logic for Front Door endpoint access.
src/Umbraco.Community.FrontDoorCache.Automate/Connections/FrontDoorConnectionSettings.cs Connection settings model surfaced in the Automate UI.
src/Umbraco.Community.FrontDoorCache.Automate/Configuration/FrontDoorAutomateComposer.cs Binds FrontDoor:Cache:Credentials options into DI for runtime use.
src/Umbraco.Community.FrontDoorCache.Automate/Actions/PurgeFrontDoorPathsSettings.cs Settings model for purging specific paths (supports bindings).
src/Umbraco.Community.FrontDoorCache.Automate/Actions/PurgeFrontDoorPathsOutput.cs Output model for purge-paths action.
src/Umbraco.Community.FrontDoorCache.Automate/Actions/PurgeFrontDoorPathsAction.cs Action implementation for purging one-or-more paths via Front Door API.
src/Umbraco.Community.FrontDoorCache.Automate/Actions/PurgeFrontDoorAllSettings.cs Marker settings model for purge-all action.
src/Umbraco.Community.FrontDoorCache.Automate/Actions/PurgeFrontDoorAllOutput.cs Output model for purge-all action.
src/Umbraco.Community.FrontDoorCache.Automate/Actions/PurgeFrontDoorAllAction.cs Action implementation for purging the entire endpoint (/*).
src/Umbraco.Community.FrontDoorCache.Automate/Actions/GetContentOrMediaUrlSettings.cs Settings model for resolving a content/media URL by key (supports bindings).
src/Umbraco.Community.FrontDoorCache.Automate/Actions/GetContentOrMediaUrlOutput.cs Output model for resolved absolute URL + path.
src/Umbraco.Community.FrontDoorCache.Automate/Actions/GetContentOrMediaUrlAction.cs Action implementation to resolve URLs/paths using Umbraco routing APIs.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines +33 to +37
| Setting | Description |
| ------------ | ------------------------------------------------------------------------ |
| TenantId | The value in Directory (tenant) ID on the app registration Overview |
| ClientId | The value in Application (Client) ID on the app registration Overview |
| ClientSecret | The client secret created for the app registration |
Comment on lines +73 to +74
private static string[] ParsePaths(string raw) =>
raw.Split(['\r', '\n', ','], StringSplitOptions.RemoveEmptyEntries | StringSplitOptions.TrimEntries);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants