Repository navigation
[migrate] Add independent conditional parameter inputs; document 3.0.0b7 - #10487
Open
mahakjain314 wants to merge 4 commits into
Open
mahakjain314 wants to merge 4 commits into
mahakjain314 wants to merge 4 commits into
Conversation
|
Azure Pipelines: There may be pipelines that require an authorized user to comment /azp run to run. |
Contributor
|
Thank you for your contribution mahakjain314! We will review the pull request and get back to you soon. |
Collaborator
|
/azp run |
|
Azure Pipelines: Successfully started running 2 pipeline(s). |
Contributor
There was a problem hiding this comment.
🟡 Changes recommended
Unresolved references can bypass readiness blocking, and missing-property diagnostics can target the wrong input.
2 open issues
1 file not reviewed
src/migrate/scripts/schema-validator/package-lock.json: Generated file
What changed in this PR
Adds offline Draft-07 validation to the shared runbook and execution parameter editor.
Changes:
- Bundles the validator and meta-schema with reproducible build tooling.
- Integrates schema errors into editor feedback, upload-command gating, and draft saving.
- Adds runtime coverage and updates release packaging.
| File | Description |
|---|---|
| src/migrate/setup.py | Bumps version and packages vendor assets. |
| src/migrate/scripts/schema-validator/package.json | Pins build dependencies. |
| src/migrate/scripts/schema-validator/package-lock.json | Locks dependency resolution. |
| src/migrate/scripts/schema-validator/draft07.json | Adds the Draft-07 meta-schema. |
| src/migrate/scripts/schema-validator/build.mjs | Builds the offline validator bundle. |
| src/migrate/scripts/schema-validator/.gitignore | Excludes installed dependencies. |
| src/migrate/HISTORY.rst | Documents the release. |
| src/migrate/azext_migrate/tests/latest/runbook/test_runbook_unit.py | Invokes JavaScript runtime checks. |
| src/migrate/azext_migrate/tests/latest/runbook/test_configure_schema.js | Tests validation and editor behavior. |
| src/migrate/azext_migrate/runbook/configure/vendor/LICENSE | Includes the validator license. |
| src/migrate/azext_migrate/runbook/configure/vendor/json-schema.js | Supplies the bundled validator. |
| src/migrate/azext_migrate/runbook/configure/templates/configure.html.tmpl | Integrates validation and readiness controls. |
| src/migrate/azext_migrate/runbook/configure/renderer.py | Embeds the validator in generated HTML. |
Review effort: Balanced
Member
|
/azp run |
|
Azure Pipelines: Successfully started running 2 pipeline(s). |
Bundle an offline validator, separate schema keywords from editable fields, validate effective workload inputs, and gate upload-command preparation on schema errors. Preserve legacy behavior and draft saving. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: d53ebcbc-f948-464f-8d13-d12fbed0619f
Replace the bundled Draft-07 SDK with scoped inline conditional rules. Keep step and workload contexts independent, exclude false properties from applicable controls and exports, and validate shared fields once. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: d53ebcbc-f948-464f-8d13-d12fbed0619f
Restore setup.py to the main-branch version and merge the conditional-input release notes into a single 3.0.0b7 section. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
mahakjain314
force-pushed
the
mahja/json-schema
branch
from
November 4, 2026 07:58
5158358 to
5d812bf
Compare
Member
|
/azp run |
|
Azure Pipelines: Successfully started running 2 pipeline(s). |
Removed details about evaluating conditional inputs and error handling for required fields in HISTORY.rst.
Member
|
/azp run |
|
Azure Pipelines: Successfully started running 2 pipeline(s). |
krdhruva
approved these changes
Nov 4, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.

🤖 PR Validation —⚠️ Review suggested
This PR adds warning or check suppressions. Fix the underlying warning where possible and justify each remaining suppression in a code comment or the PR description.
1 added suppression
src/migrate/azext_migrate/tests/latest/runbook/test_runbook_unit.pyself.skipTest('Node.js is required for client-side runtime tests')This checklist is used to make sure that common guidelines for a pull request are followed.
Related command
Summary
Add offline conditional input handling to the shared runbook/execution parameter
editor and consolidate the change history under
3.0.0b7.Root cause: schema metadata could appear as editable inputs, and aggregating
workload conditions into the shared step form coupled otherwise independent
contexts and repeated shared validation messages.
allOfrules:if.properties.<field>.const, optionalif.required,then.required, andboolean
then.properties. This is intentionally not full JSON SchemaDraft-07 support. Unsupported or malformed clauses fail visibly.
Evaluate the left pane against step inputs only; evaluate each workload against
its own overrides plus inherited step inputs. Workload edits and selection do
not change the left pane's values, requiredness, visibility, or errors, or
another workload's overrides.
falsefrom controls,validation, and saved parameters. Preserve hidden editor values when toggling
conditions. Where export must remove a shared value to prevent excluded
workloads inheriting it, retain it in allowed inheriting workloads without
replacing explicit overrides.
Continue validating effective workload values for upload-command readiness;
valid workload overrides can satisfy a missing shared default.
incomplete drafts to be saved. The HTML never uploads directly, and separately
executed CLI uploads are not intercepted.
offline behavior, and legacy partial-update behavior.
setup.pyidentical tomain(3.0.0b6) and merge the two prior releasenotes into one
HISTORY.rstsection for3.0.0b7.src/index.json.The branch is rebased onto
upstream/mainat63afad024.Validation
src\migratepython -m pytest azext_migrate\tests\latest\runbook\test_runbook_unit.py -qpython src\migrate\scripts\runbook_coverage.pypython -m azdev style migratepython -m azdev linter migratepython scripts\ci\test_index.py -qgit diff --check upstream/main...HEADgit diff --quiet upstream/main...HEAD -- src\migrate\setup.pysetup.pyis unchanged frommain.Engineering review
upstream/main: 522 lines added / 52 removed across four files.setup.pyhas no delta.General Guidelines
azdev style <YOUR_EXT>locally? (pip install azdevrequired)python scripts/ci/test_index.py -qlocally? (pip install azdevrequired)For new extensions:
Not applicable: this updates the existing
migrateextension.About Extension Publish
There is a pipeline to automatically build, upload and publish extension wheels.
Once your pull request is merged into main branch, a new pull request will be created to update src/index.json automatically.
You only need to update the version information in file setup.py and historical information in file HISTORY.rst in your PR but do not modify src/index.json.