Skip to content

Implement app capabilities feature#11577

Open
satvu wants to merge 48 commits intodevfrom
satvu/app-capabilities-prototype
Open

Implement app capabilities feature#11577
satvu wants to merge 48 commits intodevfrom
satvu/app-capabilities-prototype

Conversation

@satvu
Copy link
Member

@satvu satvu commented Jan 22, 2026

Issue describing the changes in this PR

resolves #11574

  • Example branch of webjobs extension this works e2e with here.
  • Example branch of dotnet worker that works e2e with this here

Pull request checklist

IMPORTANT: Currently, changes must be backported to the in-proc branch to be included in Core Tools and non-Flex deployments.

  • Backporting to the in-proc branch is not required
    • Otherwise: Link to backporting PR
  • My changes do not require documentation changes
    • Otherwise: Documentation issue linked to PR
  • My changes should not be added to the release notes for the next release
    • Otherwise: I've added my notes to release_notes.md
  • My changes do not need to be backported to a previous version
    • Otherwise: Backport tracked by issue/PR #issue_or_pr
  • My changes do not require diagnostic events changes
    • Otherwise: I have added/updated all related diagnostic events and their documentation (Documentation issue linked to PR)
  • I have added all required tests (Unit tests, E2E tests)

Additional Comments

The two new endpoints added (admin/capabilities and admin/capabilities/{name}) can be used by partners or customers to quickly query for an app's capabilities/features and related values (endpoints, names, etc.). Capabilities include values that can be set by extensions, language workers, customers, and the host.

One example: At the ARM level, the admin/capabilities endpoint can be called and the values can be stored in ARG for later purposes (such as querying/filtering apps for a dashboard).

Related PRs:

</ItemGroup>

<ItemGroup>
<ProjectReference Include="..\WebJobs.Script.Abstractions\WebJobs.Script.Abstractions.csproj" />
Copy link
Member Author

@satvu satvu Jan 22, 2026

Choose a reason for hiding this comment

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

TODO: remove testing change --> need to release abstractions project and reference released package in this PR before merging.

@satvu satvu force-pushed the satvu/app-capabilities-prototype branch from 5871c63 to 2e2de7c Compare February 12, 2026 21:27
Copy link
Member

@liliankasem liliankasem left a comment

Choose a reason for hiding this comment

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

Approach taken looks good to me, just missing tests

@satvu satvu marked this pull request as ready for review February 19, 2026 19:16
@satvu satvu requested a review from a team as a code owner February 19, 2026 19:16
Copilot AI review requested due to automatic review settings February 19, 2026 19:16
Copy link
Contributor

@jviau jviau left a comment

Choose a reason for hiding this comment

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

I think there are still lifetime/access/resolution issues between script host and web host copies of AppCapabilitiesOptions. See my comment in the review discussing it.

</ItemGroup>

<ItemGroup>
<ProjectReference Include="..\WebJobs.Script.Abstractions\WebJobs.Script.Abstractions.csproj" />
Copy link
Contributor

Choose a reason for hiding this comment

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

We will need to review that our CI is producing and publishing new abstractions packages. If it isn't, core tools will fail restore.

var capabilitiesSection = _configuration.GetSection(ConfigurationSectionNames.AppCapabilities);
if (capabilitiesSection.Exists())
{
AddCapabilitiesFromSection(optionsDict, capabilitiesSection);
Copy link
Member

Choose a reason for hiding this comment

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

What's the scenario for this? Do we expect someone to add this as an app setting to express some capabilities?

Copy link
Member Author

@satvu satvu Mar 6, 2026

Choose a reason for hiding this comment

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

This is for setting capabilities in host.json (customer provided values, their own customer scenarios).

@satvu satvu requested review from brettsam, Copilot and jviau March 18, 2026 18:07
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 30 out of 30 changed files in this pull request and generated 7 comments.


You can also share your feedback on Copilot code review. Take the survey.

@satvu satvu requested a review from liliankasem March 19, 2026 20:27
@satvu satvu requested a review from kshyju March 23, 2026 22:20
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.

[Feature] Add app capabilities feature which provides information on features and attributes of a function app

7 participants