[App Service] Fix az webapp list-runtimes config field to use colon delimiter for Windows compatibility#33827
az webapp list-runtimes config field to use colon delimiter for Windows compatibility#33827Conversation
|
Azure Pipelines: There may be pipelines that require an authorized user to comment /azp run to run. |
az webapp list-runtimes config field to use colon delimiter for Windows compatibility
|
/azp run |
|
Azure Pipelines: Successfully started running 3 pipeline(s). |
Live test results —
|
There was a problem hiding this comment.
✅ All checks passed — ready for human review
Live test: Passed ✅
CI: 94 checks passed, 0 failed, 0 pending ✅
ADO validation: Breaking Changes: None | Tests: 130/130 ✅
Summary: This PR fixes az webapp list-runtimes to use : as the delimiter (e.g. dotnet:10) instead of | on Windows, where | is a pipeline operator and breaks direct use of the returned value in commands like az webapp create --runtime. The fix updates the config field delimiter and adds test coverage.
Marking as ready for human review.
Posted by agent-assist (autonomous bug-fix pipeline).
|
Azure Pipelines: There may be pipelines that require an authorized user to comment /azp run to run. |
There was a problem hiding this comment.
Pull request overview
Note
Copilot could not run the full agentic suite for this review because it was automatically requested on a bot-authored pull request. Request a review from Copilot under Reviewers to retry with the full agentic suite. Improved support for bot-authored pull requests is coming soon.
Updates az webapp list-runtimes to emit a shell-safe config value by switching the delimiter from | to :, and aligns tests/docs with the new format.
Changes:
- Change
list-runtimestable outputconfigto replace the default delimiter with:. - Update Java SE runtime aggregation tests to assert the new
configformat while keeping display-name expectations available. - Update CLI argument help text and release notes to document the delimiter change.
Reviewed changes
Copilot reviewed 4 out of 4 changed files in this pull request and generated 2 comments.
| File | Description |
|---|---|
| src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py | Adjusts expected runtime config strings to use : and retains display-name expectations. |
| src/azure-cli/azure/cli/command_modules/appservice/custom.py | Switches config field formatting in list-runtimes output from ` |
| src/azure-cli/azure/cli/command_modules/appservice/_params.py | Updates --runtime help text examples to use : delimiter. |
| src/azure-cli/HISTORY.rst | Documents the delimiter change in release notes. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| EXPECTED_DISPLAY_NAMES = { | ||
| 'JAVA|25-java25', 'JAVA|21-java21', 'JAVA|17-java17', 'JAVA|11-java11', 'JAVA|8-jre8', | ||
| } | ||
| # config field uses ':' delimiter so the value can be passed directly to 'az webapp create --runtime' | ||
| EXPECTED_CONFIGS = { | ||
| 'JAVA:25-java25', 'JAVA:21-java21', 'JAVA:17-java17', 'JAVA:11-java11', 'JAVA:8-jre8', | ||
| } |
| 'os': stack.os, | ||
| 'runtime': stack.runtime_family, | ||
| 'version': stack.version_label or '', | ||
| 'config': stack.display_name, | ||
| 'config': stack.display_name.replace(self.DEFAULT_DELIMETER, ':'), | ||
| 'support': support_status, |
🤖 PR Validation — ️✔️ All clear
Related command
az webapp list-runtimes,az webapp create --runtimeDescription
az webapp list-runtimesreturnedconfigvalues using|as the delimiter (e.g.dotnet|10). On Windows CMD (standard MSI install),|is a pipeline operator — passing this value directly toaz webapp create --runtimeas documented fails with'10' is not recognized as an internal or external command.az webapp create --runtimealready accepts both|and:viaremove_delimiters(), so the fix is to emit:fromlist-runtimesoutput.Changes:
custom.py:get_stacks_as_table()now replaces|with:in theconfigfield — output becomesdotnet:10,DOTNETCORE:10.0,JAVA:21-java21, etc._params.py: Correctedwebapp deployment github-actions add --runtimehelp text fromFramework|VersiontoFramework:Versiontest_webapp_commands_thru_mock.py: SplitEXPECTEDintoEXPECTED_DISPLAY_NAMES(|-delimited, for internaldisplay_nameassertions) andEXPECTED_CONFIGS(:-delimited, forconfigfield assertions)Before / After:
Testing Guide
History Notes
[App Service]
az webapp list-runtimes: Changeconfigfield delimiter from|to:so the value can be passed directly toaz webapp create --runtimeon all platforms including WindowsThis checklist is used to make sure that common guidelines for a pull request are followed.
The PR title and description has followed the guideline in Submitting Pull Requests.
I adhere to the Command Guidelines.
I adhere to the Error Handling Guidelines.