Regenerate all connector clients from the type-identity generator fix - #226
Open
daviburg wants to merge 2 commits into
Open
Regenerate all connector clients from the type-identity generator fix#226daviburg wants to merge 2 commits into
daviburg wants to merge 2 commits into
Conversation
Brings the checked-in clients back into sync with the generator. 75 clients change. Four of them - AzureAD, Office365, Pipedrive and Planner - change because of the type-identity fix, which stops two definitions differing only by a version affix from collapsing onto one emitted type and silently dropping one shape. AzureIoTCentral, the fifth affected client, already landed in #225. The remaining 71 carry accumulated output from generator fixes that merged after those files were last regenerated, rather than new behaviour introduced here. ConnectorNames.cs and ManagedConnectors.cs are deliberately untouched. Regenerating them from the catalogue snapshot used here would have dropped 25 existing constants, including docusign and jira, because those registries are built from the connectors actually processed and the snapshot was short 24 of 1619 catalogue entries. Syncing them needs a complete catalogue fetch. Depends on AzureUX-BPM PR 16618864. Validation: dotnet build succeeds across all 97 clients, 912 tests pass.
daviburg
marked this pull request as ready for review
July 30, 2026 19:08
daviburg
enabled auto-merge (squash)
July 30, 2026 19:10
Member
Author
|
/azp run |
|
Azure Pipelines: Successfully started running 1 pipeline(s). |
The regeneration changes 75 clients, but only nine change their public method surface: 13 methods added, 3 removed. None of the 13 had coverage. Adds success and error tests for the 12 non-pageable additions, following each file's existing convention - the shared CreateMockedClient helper where one exists, the factory-based helper in SharePointOnline, and inline mock setup in AzureMonitorLogs. ListTimeRangeTypesAsync returns AsyncPageable and is not covered here. No per-client test exercises a pageable method; pagination is covered centrally by ConnectorPageableTests, and inventing a per-client pattern for it belongs in its own change. The 3 removed methods were not referenced by any test, so nothing went stale. 935 tests pass, up from 912.
9 tasks
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.
Description
Regenerates every connector client from the type-identity generator fix in AzureUX-BPM PR 16618864, bringing the checked-in clients back into sync with the generator.
That BPM PR has merged to master as commit
729bc0651c, so this output now matches what the generator on master produces.Changes
AzureAD,Office365,Pipedrive,Planner.AzureIoTCentral, the fifth affected client, already landed separately in Regenerate AzureIoTCentral from the type-identity generator fix #225.CHANGELOG.mdrecords the breaking model renames.Registries deliberately excluded.
ConnectorNames.csandManagedConnectors.csare not touched. Regenerating them from the catalogue snapshot used here would have dropped 25 existing constants (includingdocusignandjira), because those registries are built from the connectors actually processed and the snapshot was short 24 of 1619 catalogue entries. Syncing them needs a complete catalogue fetch and should be its own PR.Public surface audit
The full method-set diff against the checked-in clients is 13 added, 3 removed. None of that comes from the type-identity fix: regenerating each affected client from the pre-fix generator and diffing against the post-fix output gives 0 added and 0 removed for every one of
AzureMonitorLogs,Box,Dropbox,DynamicsAX,ExcelOnlineBusiness,Ftp,SharePointOnline,Typeform. The entire delta is drift between long-stale checked-in files and the current generator plus catalogue.Removed (3). All are
x-ms-visibility: internalin the connector swagger and are not referenced by any discovery annotation, so the generator correctly stops emitting them as public methods:DynamicsAXGetExportableTableAsync,GetExportableTablesAsyncSharePointOnlineGetListImageFieldsAsyncAdded (13).
ListFolderAsyncandListRootFolderAsynconBox,Dropbox,Ftp,SharePointOnline. Swagger visibility isimportant/advanced, so these belong on the public surface.x-ms-dynamic-schema/x-ms-dynamic-values:AzureMonitorLogs.QuerySchemaV2Async,AzureMonitorLogs.ListTimeRangeTypesAsync,Typeform.GetSchemaAsync,ExcelOnlineBusiness.GetSingleScriptV2Async.DocuSign.StaticResponseForEmbeddedSigningSchemaV2Async.docusignis one of the 24 catalogue entries missing from the snapshot, so it was fetched live and its swagger was never cached. The name matches the discovery-target pattern above, but I could not confirm it from source.One pre-existing generator issue surfaced by this regeneration.
Typeform.GetSchemaAsyncbinds to the wrong schema revision. Typeform's swagger is internally consistent - each trigger generation is paired with its own schema operation:TrigNewResponse(deprecated)ItemGetSchema(/v1/form/{form_id})NewResponseWebhook(V0)Item-NewGetSchema_V2(/forms/{form_id})NewResponseWebhook_V2(V2)WebhookPayloadGetSchema_V3(/v3/forms/{form_id})The generator drops
NewResponseWebhookin favour ofNewResponseWebhook_V2(logged, with a capability-gap check), so the retained trigger is the V2 one - whose payload pinsGetSchema_V3. But the emittedGetSchemaAsynccalls/forms/{form_id}, which isGetSchema_V2, the partner of the dropped trigger. Nothing is emitted forGetSchema_V3.Two contributing factors, both pre-existing:
CollectDynamicSchemaDiscoveryOperationIdsscans every swagger definition unconditionally, so all three revisions get whitelisted as discovery targets whether or not any retained operation reaches them.ResolveVersionCollisionsgroups by version-stripped base name and keeps the highest revision with a logged drop. It would have preferredGetSchema_V3and logged droppingGetSchema_V2. No such warning appears in the generation log, soGetSchema_V3was removed before the collision resolver saw it. I have not identified which stage removes it.This is not caused by the type-identity fix - regenerating Typeform from the pre-fix generator produces the same two methods. It does not break the build, and the affected operation is an internal discovery helper rather than a customer-facing action. Flagging it here for follow-up rather than expanding this PR's scope.
Testing
Unit tests added/updated
All existing tests pass (
dotnet test)Manual testing (describe below if applicable)
dotnet buildsucceeds across all 97 clients.935 tests pass, 0 failures.
23 tests added across 8 files covering the newly emitted and renamed surface:
Box,Dropbox,Ftp,SharePointOnline,AzureMonitorLogs,DocuSign,ExcelOnlineBusiness,Typeform.Generation evidence from the source branch: full catalogue produces 1517 files with 0 connectors failing, and the emit-time shape guard is active as a hard failure.
DocuSignandJirawere regenerated too. They were initially absent from the catalogue snapshot, so they were fetched live rather than left stale.The generator behaviour behind this output is covered by the generator's own suite (549 tests) in the paired BPM PR.
Checklist
src/**/Generated/(see CONTRIBUTING.md)release_notes.mdupdated (if shipping a new version, clear previous version notes)eng/build/Version.props(if shipping a new version)The
Generated/checkbox is intentionally left unchecked: this is a generator-driven regeneration, which is the sanctioned way those files change, matching #224 and #225. No file here was hand-edited.Authored with Dobby agent.