Skip to content

feat(sdk): batch 5 — 8 new connector clients (Azure Queues, Tables, CosmosDB, Event Hubs, Excel Online Business, Outlook, Service Bus, Word Online Business)#146

Merged
daviburg merged 23 commits into
mainfrom
feature/generator-fixes-and-batch5
May 14, 2026
Merged

feat(sdk): batch 5 — 8 new connector clients (Azure Queues, Tables, CosmosDB, Event Hubs, Excel Online Business, Outlook, Service Bus, Word Online Business)#146
daviburg merged 23 commits into
mainfrom
feature/generator-fixes-and-batch5

Conversation

@daviburg
Copy link
Copy Markdown
Member

@daviburg daviburg commented May 14, 2026

Summary

Adds 8 new generated connector clients using the fixed CodefulSdkGenerator from the BPM feature/directclient-generator-fixes branch.

New Clients (8)

Client Connector API Service
AzurequeuesClient Azurequeues Azure Storage Queues
AzuretablesClient Azuretables Azure Storage Tables
DocumentdbClient documentdb Azure Cosmos DB
EventhubsClient Eventhubs Azure Event Hubs
ExcelOnlineBusinessClient Excelonlinebusiness Excel Online (Business)
OutlookClient outlook Outlook
ServicebusClient servicebus Azure Service Bus
WordOnlineBusinessClient wordonlinebusiness Word Online (Business)

Previously generated connectors (earlier commit on this branch)

  • AzureADClient, AzureIoTCentralClient, MicrosoftFormsClient — generated with the fixed generator in a prior commit.

Generator Fixes (BPM repo — separate PR)

These connectors required fixes to CodefulSdkGenerator before they could be generated correctly:

Files Changed

  • src/.../Generated/*.Extensions.cs — 8 new generated files (never hand-edited)
  • src/.../Generated/ConnectorNames.cs — 8 new constants in alphabetical order
  • src/.../Generated/ManagedConnectors.cs — 8 new registrations in alphabetical order
  • tests/.../*ClientTests.cs — 8 new test files (constructor, dispose, mocked API, error handling)
  • README.md, CHANGELOG.md, .github/skills/connection-setup/SKILL.md — documentation updates

Test Results

Passed!  - Failed: 0, Passed: 636, Skipped: 0, Total: 636

Includes ConnectorNames_AllConstantsAreRegistered validation test.

…ients (batch 5)

Adds three new generated connector clients to the SDK. These required fixing
two generator bugs before generation was possible.

Generator bugs fixed (in AzureUX-BPM PR feature/directclient-generator-fixes):
- Bug 1 (#135, #136): IPageable property name derived from x-ms-summary instead
  of the required 'Value' identifier, causing CS0535 compile errors.
- Bug 3 (#137): Array-typed \ definitions (e.g., FormsList) were referenced
  as named classes that the class generator never emitted, causing CS0246.

New connector clients:
- AzureADClient (azuread) - GetUser, CreateUser, GetGroup, GetGroupMembers
  (pageable via AsyncPageable<GetUserResponse>), CreateGroup, UpdateUser
- AzureIoTCentralClient (azureiotcentral) - Applications (pageable), DeviceGroups
  (pageable), Devices (pageable), DeviceTemplates, Jobs, and more
- MicrosoftFormsClient (microsoftforms) - ListForms, GetFormDetailsById,
  GetFormResponseById, GetQuestions

Files changed:
- src/Azure.Connectors.Sdk/Generated/AzureADExtensions.cs (new)
- src/Azure.Connectors.Sdk/Generated/AzureIoTCentralExtensions.cs (new)
- src/Azure.Connectors.Sdk/Generated/MicrosoftFormsExtensions.cs (new)
- src/Azure.Connectors.Sdk/Generated/ConnectorNames.cs (AzureAD, AzureIoTCentral, MicrosoftForms)
- src/Azure.Connectors.Sdk/Generated/ManagedConnectors.cs (azuread, azureiotcentral, microsoftforms)
- tests/Azure.Connectors.Sdk.Tests/AzureADClientTests.cs (new, 10 tests)
- tests/Azure.Connectors.Sdk.Tests/AzureIoTCentralClientTests.cs (new, 9 tests)
- tests/Azure.Connectors.Sdk.Tests/MicrosoftFormsClientTests.cs (new, 8 tests)
- README.md, CHANGELOG.md, .github/skills/connection-setup/SKILL.md

Tests: 569 passing (was 542)
Copilot AI review requested due to automatic review settings May 14, 2026 02:38
@daviburg daviburg requested a review from a team as a code owner May 14, 2026 02:38
Copy link
Copy Markdown

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

This PR adds three new generated connector clients (Azure AD, Azure IoT Central, Microsoft Forms) to the SDK as the 5th batch of connector additions, along with the supporting registrations and documentation updates.

Changes:

  • New generated AzureADClient, AzureIoTCentralClient, and MicrosoftFormsClient together with their model types and model factories.
  • Registers the three new connectors in ConnectorNames.cs, ManagedConnectors.cs, README.md, and the connection-setup skill doc; adds CHANGELOG entry under Unreleased/Added.
  • Adds unit tests covering construction, dispose, mocked success/error responses, and serialization round-trips for each new client.

Reviewed changes

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

Show a summary per file
File Description
src/Azure.Connectors.Sdk/Generated/AzureADExtensions.cs New generated AzureAD client + models + factory
src/Azure.Connectors.Sdk/Generated/AzureIoTCentralExtensions.cs New generated AzureIoTCentral client + extensive models
src/Azure.Connectors.Sdk/Generated/MicrosoftFormsExtensions.cs New generated MicrosoftForms client + models
src/Azure.Connectors.Sdk/Generated/ConnectorNames.cs Registers azuread/azureiotcentral/microsoftforms constants
src/Azure.Connectors.Sdk/Generated/ManagedConnectors.cs Adds new entries to AvailableConnectors and snippet comments
tests/Azure.Connectors.Sdk.Tests/AzureADClientTests.cs Unit tests for AzureADClient
tests/Azure.Connectors.Sdk.Tests/AzureIoTCentralClientTests.cs Unit tests for AzureIoTCentralClient
tests/Azure.Connectors.Sdk.Tests/MicrosoftFormsClientTests.cs Unit tests for MicrosoftFormsClient
README.md Adds new connectors to the validated/SDK-generated tables
CHANGELOG.md Adds batch 5 entry under Unreleased/Added
.github/skills/connection-setup/SKILL.md Adds new connector API names to supported list

Comment thread src/Azure.Connectors.Sdk/Generated/AzureADExtensions.cs Outdated
Comment thread src/Azure.Connectors.Sdk/Generated/ManagedConnectors.cs
Comment thread src/Azure.Connectors.Sdk/Generated/MicrosoftFormsExtensions.cs Outdated
Comment thread src/Azure.Connectors.Sdk/Generated/AzureIoTCentralExtensions.cs Outdated
Comment thread src/Azure.Connectors.Sdk/Generated/AzureIoTCentralExtensions.cs Outdated
Comment thread src/Azure.Connectors.Sdk/Generated/AzureADExtensions.cs Outdated
Comment thread src/Azure.Connectors.Sdk/Generated/AzureIoTCentralExtensions.cs Outdated
Generated from fixed CodefulSdkGenerator (BPM feature/directclient-generator-fixes):
- AzurequeuesClient - Azure Storage Queues
- AzuretablesClient - Azure Storage Tables
- DocumentdbClient - Azure Cosmos DB (connector API name: documentdb)
- EventhubsClient - Azure Event Hubs (connector API name: eventhubs)
- ExcelOnlineBusinessClient - Excel Online (Business)
- OutlookClient - Outlook
- ServicebusClient - Azure Service Bus
- WordOnlineBusinessClient - Word Online (Business)

Also updates ConnectorNames.cs, ManagedConnectors.cs, README.md, CHANGELOG.md,
and connection-setup skill with the 8 new connector names.

Closes #138, #139. Related: #135, #136, #137 (generator fixes already applied)
@daviburg daviburg changed the title feat(connectors): add AzureAD, AzureIoTCentral, MicrosoftForms clients (batch 5) feat(sdk): batch 5 — 8 new connector clients (Azure Queues, Tables, CosmosDB, Event Hubs, Excel Online Business, Outlook, Service Bus, Word Online Business) May 14, 2026
Discovered that parameterValues for non-OAuth connectors (azurequeues,
azuretables, eventhubs, servicebus, documentdb, smtp) are stored in the
Connector Namespace PUT body, but require charset=utf-8 in Content-Type
header and WriteAllText with UTF8 encoding to reliably store keys with
base64 characters (+, =, /). Must DELETE existing connection and recreate
fresh - retrying PUT on existing connection does not apply parameterValues.

Also documents the parameterNames for common credential-based connectors.
Copilot AI review requested due to automatic review settings May 14, 2026 04:58
Copy link
Copy Markdown

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 14 out of 27 changed files in this pull request and generated 6 comments.

Comment thread src/Azure.Connectors.Sdk/Generated/AzureADExtensions.cs Outdated
Comment thread src/Azure.Connectors.Sdk/Generated/ManagedConnectors.cs
Comment thread src/Azure.Connectors.Sdk/Generated/WordOnlineBusinessExtensions.cs
Comment thread README.md Outdated
Comment thread src/Azure.Connectors.Sdk/Generated/AzuretablesExtensions.cs
Comment thread src/Azure.Connectors.Sdk/Generated/EventhubsExtensions.cs Outdated
@daviburg daviburg self-assigned this May 14, 2026
- AzureADExtensions: fix DisplayName/MailNickname typed as DateTime? → string in CreateGroupResponse
- AzureADExtensions: rename AdditionalProperties → CustomProperties in UpdateUserRequest to match JSON name
- AzureADExtensions: change GetGroupMembersAsync top from int to int? so top=0 is not silently dropped
- AzureIoTCentralExtensions: rename UserCollection.Users → Value for IPageable<T> symmetry
- AzureIoTCentralExtensions: change SchemaScheduledJobAsync/SchemaUserAsync bool patch → bool? so patch=false is not silently dropped
- AzureIoTCentralExtensions: make WorkflowGetCapabilities/Components/ModulesAsync template parameter optional (= default) to match body guard behavior
- ManagedConnectors: fix alphabetical order — MicrosoftForms must appear before Mq
- MicrosoftFormsExtensions: remove responseId guard so responseId=0 is not silently dropped
- EventhubsExtensions: make SendEventsAsync partitionKey optional (= default) for parity with SendEventAsync
- README: update Validated Operations method names to match actual generated client API surface
Copy link
Copy Markdown

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 15 out of 28 changed files in this pull request and generated 9 comments.

Comment thread src/Azure.Connectors.Sdk/Generated/DocumentdbExtensions.cs Outdated
Comment thread src/Azure.Connectors.Sdk/Generated/WordOnlineBusinessExtensions.cs Outdated
Comment thread src/Azure.Connectors.Sdk/Generated/EventhubsExtensions.cs Outdated
Comment thread src/Azure.Connectors.Sdk/Generated/AzurequeuesExtensions.cs
Comment thread src/Azure.Connectors.Sdk/Generated/AzureADExtensions.cs
Comment thread CHANGELOG.md Outdated
Comment thread README.md Outdated
Comment thread src/Azure.Connectors.Sdk/Generated/ConnectorNames.cs
Comment thread src/Azure.Connectors.Sdk/Generated/ManagedConnectors.cs
…Time types, PascalCase client/factory names, README/CHANGELOG fixes, alphabetical connector order
Copy link
Copy Markdown

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 15 out of 28 changed files in this pull request and generated 4 comments.

Comment thread tests/Azure.Connectors.Sdk.Tests/ServiceBusClientTests.cs
Comment thread src/Azure.Connectors.Sdk/Generated/ConnectorNames.cs Outdated
Comment thread README.md Outdated
Comment thread src/Azure.Connectors.Sdk/Generated/EventhubsExtensions.cs
…es to PascalCase, README status to SDK Generated
Copy link
Copy Markdown

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 15 out of 28 changed files in this pull request and generated 3 comments.

Comment thread src/Azure.Connectors.Sdk/Generated/WordOnlineBusinessExtensions.cs
Comment thread src/Azure.Connectors.Sdk/Generated/AzurequeuesExtensions.cs
Comment thread src/Azure.Connectors.Sdk/Generated/AzureADExtensions.cs
…ired-param guards in DeleteMessageAsync and WordOnlineBusiness methods
Copy link
Copy Markdown

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 42 out of 55 changed files in this pull request and generated 5 comments.

Comment thread resolve1.graphql Outdated
Comment thread tests/Azure.Connectors.Sdk.Tests/AzureADClientTests.cs
Comment thread tests/Azure.Connectors.Sdk.Tests/AzureIoTCentralClientTests.cs
Comment thread src/Azure.Connectors.Sdk/Generated/AzurequeuesExtensions.cs
Comment thread src/Azure.Connectors.Sdk/Generated/AzuretablesExtensions.cs
…ist, EntityItem rename, IPageable test assertions
Copy link
Copy Markdown

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 15 out of 29 changed files in this pull request and generated no new comments.

Copy link
Copy Markdown

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 15 out of 29 changed files in this pull request and generated 6 comments.

Comment thread src/Azure.Connectors.Sdk/ConnectorServiceCollectionExtensions.cs
Comment thread CHANGELOG.md Outdated
Comment thread README.md Outdated
Comment thread README.md Outdated
Comment thread src/Azure.Connectors.Sdk/Generated/AzurequeuesExtensions.cs Outdated
Comment thread src/Azure.Connectors.Sdk/Generated/EventhubsExtensions.cs
…ayloads region, sort README table, trim validated ops, fix CHANGELOG issue refs, add missing DI registrations
Copy link
Copy Markdown

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 15 out of 29 changed files in this pull request and generated no new comments.

Copy link
Copy Markdown

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 15 out of 29 changed files in this pull request and generated 2 comments.

Comment thread src/Azure.Connectors.Sdk/Generated/WordOnlineBusinessExtensions.cs Outdated
Comment thread README.md Outdated
Copy link
Copy Markdown

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 15 out of 29 changed files in this pull request and generated 1 comment.

Comment thread src/Azure.Connectors.Sdk/ConnectorServiceCollectionExtensions.cs Outdated
Copy link
Copy Markdown

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 15 out of 29 changed files in this pull request and generated 4 comments.

Comment thread src/Azure.Connectors.Sdk/Generated/DocumentdbExtensions.cs
Comment thread src/Azure.Connectors.Sdk/Generated/AzuretablesExtensions.cs Outdated
Comment thread src/Azure.Connectors.Sdk/Generated/EventhubsExtensions.cs Outdated
Comment thread src/Azure.Connectors.Sdk/Generated/MicrosoftFormsExtensions.cs Outdated
…name, EntityData to AdditionalProperties, GetDocumentResponse extension data
Copy link
Copy Markdown

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 15 out of 29 changed files in this pull request and generated 1 comment.

Comment thread CHANGELOG.md Outdated
Copy link
Copy Markdown

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 15 out of 29 changed files in this pull request and generated no new comments.

@daviburg daviburg merged commit 04e00e9 into main May 14, 2026
14 checks passed
@daviburg daviburg deleted the feature/generator-fixes-and-batch5 branch May 14, 2026 16:16
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.

2 participants