Repository navigation
[LogicApps] Add Logic Apps Standard preview extension - #10467
Riley Evans (rllyy97) wants to merge 11 commits into
Conversation
Preserve the original extension authored by Rohitha Hewawasam and the validated staging improvements through 3087a62f999debb4b0dec771b9424f62903959b2. Adapt packaging, extension-local documentation, portable GA additivity controls, and upstream qualification without changing core Logic Apps commands. Original author baseline: 4e50f12d52b13c25de0d90a6955f1fff2d5523f1 Co-authored-by: Rohitha Hewawasam <rohithah@microsoft.com> Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
The isolated installed wheel passed 14 GA additivity and real parser/formatter tests with 15 subtests on Azure CLI 2.67.0 and Python 3.12.7. This targeted control does not claim a full minimum-CLI suite or platform matrix. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
The serial installed-wheel suite passed 762 tests and 1,697 subtests on Azure CLI 2.67.0 and Python 3.12.7, with production import origins enforced. Retain explicit interpreter/platform and native-variability limitations. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Integrate validated db3389f47272a2d0cd6298c702f5153102a24fe9 without replacing upstream adaptations. Managed cleanup requires the selected site's complete system principal and tenant, shares creation's ActiveDirectory matcher, and refreshes evidence after unlink; uncertain and cross-tenant policies/resources remain retained. Current and minimum CLI source/installed suites each passed 767 tests and 1,749 subtests serially. Record actual upstream qualification and retain native, cloud, platform, ownership-access and SDK limitations. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
|
Azure Pipelines: There may be pipelines that require an authorized user to comment /azp run to run. |
|
Thank you for your contribution Riley Evans (@rllyy97)! We will review the pull request and get back to you soon. |
|
Automated sensitive-information remediation ran on this pull request.
X Engineering Agent does not modify source files. The PR creator must remove or replace each suspected value at the linked line:
If a credential was exposed, rotate or revoke it immediately. Detected values are never copied into this comment. ✅ Confirm the finding · ❌ Dispute the finding GitHub only supports a fixed reaction set, so 👍 represents ✅ and 👎 represents ❌. The bot-created reactions are only poll choices. |
|
Regarding the automated sensitive-information report: I inspected all four cited source locations at head
Removing or replacing these structured synthetic inputs with generic redaction placeholders would weaken the rejection and non-disclosure tests. No source change or credential rotation is indicated for these four findings. I have not reversed the bot's PR-description email redaction or changed the requested CODEOWNERS source line. This explanation addresses only the four cited sensitivity matches. The PR remains draft/WIP: a completed official Copilot review of the public head is still outstanding, and green GitHub checks/CLA do not establish the untested Python/platform/live-Azure/SDK qualifications. |
|
/azp run |
|
Azure Pipelines: Successfully started running 2 pipeline(s). |
Integrate the complete reviewed 0.1.23 baseline while retaining upstream preview packaging, minimum CLI, helper extraction, portable GA controls, ownership and sanitized extension-local documentation. Add explicit historical public report compatibility and preserve it across future package versions. Repair Linux Windows-API fixture isolation and the synthetic credential scanner false positive without weakening assertions or ownership guards. Current/minimum CLI source and exact-installed suites each passed 853 tests and 2332 subtests serially. Official azdev source tests, style, linter, license, URL/index/privacy checks passed. Keep full Python/platform/live-cloud qualification and public review as separate draft gates. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
|
NoriZC The complete reviewed synchronization is now at Could an authorized maintainer start the Azure Pipelines checks for this new head? The public build list for this PR still contains only the October 13 runs against the earlier merge commit; build 360558 does not qualify the synchronized head. Our requested exact-head official Copilot review is also outstanding. The single request for this head failed with |
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
|
❌ Finding disputed by Riley Evans (@rllyy97). Nothing blocks automation any more, so it will continue. X Engineering Agent never restores redacted text because doing so could publish a value again. |
|
/azp run |
|
Azure Pipelines: Successfully started running 2 pipeline(s). |
Use synthetic process state for native exit probes in the Windows ownership unit fixture and add a no-native-access regression. Preserve production process guards and document exact CI and qualification limits. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
|
/azp run |
|
Azure Pipelines: Successfully started running 2 pipeline(s). |
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Bound psutil only on Windows before publisher Win32 wheels were removed. Qualify normal installs, native process ownership and serial source/wheel suites on both current architectures and minimum CLI without changing cleanup guards. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Port the reviewed context-only defaults and project-relative reports while preserving closed historical public catalogs, core ownership, preview packaging and blocked SDK execution. Qualify source and exact wheels on current Windows x86 and minimum x64, focused current x64, and actual separate CLI processes. Record the unrelated existing Knack default-port defect without changing its validator. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
|
/azp run |
|
Azure Pipelines: Successfully started running 2 pipeline(s). |
Port the complete reviewed ea68b867939845e7d7492e4d261eb77ff0d41d3e source-only scaffold, opt-in native execution, sanitized report and deployment-boundary changes. Fix the actual-parser omitted-port default while preserving strict stored/explicit ports, official preview packaging, Windows x86/x64 dependency delivery and all historical report catalogs. Retain the read-only foundation and core-owned GA commands. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
|
/azp run |
|
Azure Pipelines: Successfully started running 2 pipeline(s). |
This checklist is used to make sure that common guidelines for a pull request are followed.
Related command
az logicappdeveloper workflow additions:project,workflow,context,dependency,runtime,connector,connection,identity,run,trigger history,test, anddeployment package.This is the complete new Logic Apps Standard preview extension, including
the original 38-command extension and reviewed improvements through the
historical 0.1.26 SDK-testing baseline: 59 extension leaves, 21 additions.
The existing 13 GA app-management/app-settings/ZIP-deployment leaves remain
core-owned and are not overridden.
Preview - for evaluation and development. Commands, parameters, and output
formats may change between releases. Production readiness has not been
established; use non-production resources for evaluation. Some commands modify
deployed workflows, connections, and identities; preview does not mean sandboxed
or read-only. Preview status applies only to this extension's new commands, not
the existing core-owned
az logicappapp-management, app-settings, andZIP-deployment commands, which are not overridden.
General Guidelines
azdev style <YOUR_EXT>locally? (pip install azdevrequired)python scripts/ci/test_index.py -qlocally? (pip install azdevrequired)For new extensions:
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.jsonautomatically.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.The unpublished preview remains 1.0.0b1, with a Python 3-only wheel,
Python >=3.10 and minimum CLI 2.67.0. No release/index publication is requested.
Upstream root guides, the extension index and unrelated configuration/ownership
are unchanged. Relevant documentation is extension-local and sanitized.
Contribution and rationale
Rohitha Hewawasam authored the original extension, baseline
4e50f12d52b13c25de0d90a6955f1fff2d5523f1. The initial complete migration used3dcef94c0e6856f8e2a3f74e44b7f6b903fa5446; the complete reviewed synchronizationused
1eaa335d635e62a41607b4c7d06acd4b96e49dfb(historical 0.1.23).The context-planning follow-up used
085b3ee3c54628acc85a87ee7e93e60268d50c4a.The current separately authorized SDK/default-port follow-up accounts for every
path in the reviewed tracked-only delta through
ea68b867939845e7d7492e4d261eb77ff0d41d3e(historical 0.1.26), not anintermediate SDK snapshot. Original attribution and mandatory Copilot co-author
trailers are preserved.
Current public head:
8bad80f5f2347e23de432ea952c845e025d28326, fromrllyy97:rileyevans-microsoft-logicapp-upstream-contributionto officialmain.The earlier
4172afb4cec33f84c5b65351c435e3c46af9abc9Windows/context head,its green CI and development-repository reviews do not qualify this new head.
Upstream preview packaging, service registration, Windows dependency strategy,
portable GA controls, style/helper extraction and lifecycle safeguards are
preserved rather than overwritten by historical packaging.
workflow set, not a partial merge, and guarded delete. Strong ETags, confirmation, completed shared runtime validation and explicit nontransactional VFS acknowledgement remain required.trigger history resubmit, genuine one-actionrun resubmit --actionwith completed source, literal runtime eligibility and stable evidence. No trigger fallback, auto-enabling, invented identities or mutation retries.AZURE_CONFIG_DIRisolation; explicit path, otherwise named/active local context, otherwise current directory. Explicit cloud authoring is refused even with a path; explicit paths bypass implicit active contexts. Relative reports anchor to the selected project without implicit directories. Omitted context-create ports normalize to 7071 at the actual CLI boundary; explicit/stored port validation stays strict.connection managed createseparates connection--nameand site--logic-app-name; deprecated legacy semantics remain. OAuth failure may retain resources. Deletion rechecks principal, tenant and complete ACL ownership before and after unlink.--strictretains blocked exit 4. Both remainnotExecuted, zero business tests and immutable SDK gates. XML metadata inspection does not evaluate MSBuild or restore dependencies.test createemits source/configuration, pins SDK 1.0.3/engine 1.165.50/MSTest 4.0.2/net8.0 and selects .NET 8.0.426 latestPatch. Existing output is refused. The starter is ignored/inconclusive until authored, never a fabricated passing test.test runrequires SDK-terms and project-trust acknowledgements on every invocation; restore is separately opt-in. Private home/cache/temp/configuration and an environment allowlist do not sandbox arbitrary build/test code or prove denied egress, SDK invocation, useful assertions, telemetry-off or coverage.input.optionsandreport.invalidwhole rows remain readable after version changes; mixed text, unknown producers/fields and invalid counters remain rejected. Saved approval/provenance never authorizes a new execution.psutil>=5.9.0,<7.1.2, preserving x86/x64 publisher-wheel installs without a compiler; non-Windows retainspsutil>=5.9.0. WOW64 reports AMD64, so architecture markers are insufficient. This deliberately forgoes later fixes pending a qualified x86 delivery strategy; no global 7.2.2 pin.Ownership
Only the originally requested ownership line was added; unrelated ownership is preserved:
The source retains exactly the five user-supplied email identities. Effective
ownership requires repository write access and eligible verified-account
emails, not EMU identities. These qualifications have not been verified;
no collaborators, access or authentication settings were changed.
Validation evidence
Isolated actual current Windows CLI 2.91.0 x86/x64 distributions used Python
3.14.7; minimum CLI 2.67.0 x64 used Python 3.12.7. Development used Python
3.12.12/CLI 2.91.0/azdev 0.2.13. Signed, release-hash-verified MSI payloads
were extracted without installation/registration/shared-system changes.
Configuration, extensions and temporary/cache paths were private. Source and
exact-installed suites ran serially, with production origins enforced.
azdev style logicappazdev linter logicappazdev verify licensepython scripts\ci\validate_external_source_urls.py --cachedpython scripts\ci\test_index.py -qpython scripts\ci\service_name.pyazdev test logicapp --series --discover --no-exitfirst --pytest-args -qpython setup.py bdist_wheel --python-tag py3 --bdist-dir $buildDirectory --dist-dir $outputDirectoryfromsrc\logicapp7f4c60255cfea5411ca19e07358ac33fb36966a065770035ed22b5c6012028ac.python -m azure.cli extension add --source $wheel --yesazdev scan --confidence-level MEDIUM --directory-path src\logicapp --recursive --continue-on-failurepython -m pip check,git diff --check, tracked privacy and relocated local Markdown links8bad80f5f2347e23de432ea952c845e025d28326. All five Linux Python 3.10-3.14 jobs each passed 886 tests, six Windows-only skips and 2,463 subtests.SDK trials used approved synthetic source and a copied isolated package cache,
SDK 1.0.3/engine 1.165.50/MSTest 4.0.2 and .NET SDK 8.0.426, explicit invocation
acknowledgements and separately requested restore. No retained process receipts
or exact-path native fixture processes remained after the completed trials.
Temporary test import bootstraps in the owned MSI extractions were removed
before native CLI/ownership probes; no production API, clock or process
observation was patched.
The recorded x86 source teardown error does not establish its root cause or
universal native filesystem stability. A later fresh exact-path inspection
found no fixture process and only that completed fixture directory was cleaned;
no process was signalled. Earlier Windows sharing/context replacement/loopback
variability remains historical evidence, not erased by subsequent passes.
No ownership guard, deadline, exclusion or unrelated CI/index selection was weakened.
Upstream main build 362009
and breaking-change build 362010
completed successfully. Their merge
746f4d25e8aac804cb67b963046e92da404436dchas verified parents
ebea488892f255360e25bc481fc3f01fd5990334and exact SDKhead
8bad80f5f2347e23de432ea952c845e025d28326.The actual logs show Python 3.10.19, 3.11.14, 3.12.12, 3.13.11 and 3.14.2:
each passed 886 tests, skipped six Windows-only tests and passed 2,463 subtests.
Style/linter logs confirm 59 extension commands and accepted service metadata;
license, index, external URLs, init, policy, credential and high/medium scans
also succeeded. No failed or succeeded-with-issues task/job records were hidden.
The public head has 23 successful checks, one configured skip and none unfinished.
These Linux unit/build results do not imply native Linux SDK or live connector
execution; the synthetic native SDK trials above are separate Windows evidence.
Deliberate limitations and draft gates
Native SDK/build/test code is trusted code, not sandboxed. No SDK binary
redistribution, live Azure mutation, denied egress, complete connector/workflow
coverage or production readiness is claimed. The SDK typed top-level-output
cast failure remains documented; workflow semantics are not rewritten to hide it.
Human safety review is still required.
The current native results are not a complete Windows Python 3.10-3.14,
minimum-x86, macOS or native Linux SDK matrix. Prior-head upstream CI
(23 successful checks, one configured skip) and its five Linux Python 3.10-3.14
jobs (859 passed, six Windows-only skips, 2,389 subtests each) are historical,
not evidence for this SDK head. New exact-head CI has now completed independently
as documented above.
CODEOWNERS eligibility remains unverified.
Earlier multi-use-case trials demonstrated processing only: Response actions
were Skipped, actual callback HTTP responses remain unqualified, workflow show
encountered a host-key prerequisite and export was not exercised. Doctor retains
unknowns. Nested static validation, agent bootstrap and callback-response
improvements are not implemented. VFS/settings/ARM operations are not transactions.
Exact-head CI is now green. This remains draft/WIP pending completed-clean
automated AI review, every inline/full-summary finding genuinely addressed and
resolved, and the stated qualification gates.
Public automated review remains unavailable under the already observed reviewer
permission refusal; no retry workaround, duplicate maintainer ping or ready-state
bypass was used. Empty comments or workflow success never substitutes for a
completed clean review. The user authorizes marking the PR ready for peer review
only after the required latest-head validation/review gates clear; that
authorization does not close the current blockers. Maintainer/human safety
review remains required. No merge or release is authorized.