Skip to content

[AutoPR azure-iot-deviceregistry-softwareupdate]-generated-from-SDK Generation - Java-6715900 - #50179

Open
azure-sdk-automation[bot] wants to merge 2 commits into
mainfrom
sdkauto/azure-iot-deviceregistry-softwareupdate-6715900
Open

[AutoPR azure-iot-deviceregistry-softwareupdate]-generated-from-SDK Generation - Java-6715900#50179
azure-sdk-automation[bot] wants to merge 2 commits into
mainfrom
sdkauto/azure-iot-deviceregistry-softwareupdate-6715900

Conversation

@azure-sdk-automation

Copy link
Copy Markdown
Contributor

Configurations: 'specification/deviceupdate/data-plane/sudeviceregistry/tspconfig.yaml', SDK Release Type: beta, and CommitSHA: 'be4f14d4492f9f60eb6cabf3a93cce8a7cef803c' in SpecRepo: 'https://github.com/Azure/azure-rest-api-specs' Pipeline run: https://dev.azure.com/azure-sdk/internal/_build/results?buildId=6715900 Refer to https://eng.ms/docs/products/azure-developer-experience/develop/sdk-release/sdk-release-prerequisites to prepare for SDK release. Release plan link: https://azsdk-releaseplan-dashboard-hveph5aqhhcfhtgu.westus-01.azurewebsites.net/?releaseplan=36134 Submitted by: wuaustin@microsoft.com

Copilot AI lite review requested due to automatic review settings August 18, 2026 19:01
@azure-sdk-automation
azure-sdk-automation Bot requested a review from a team as a code owner August 18, 2026 19:01
@azure-sdk-automation azure-sdk-automation Bot added the auto-release When merged to main, release pipelines for this PR's changed packages trigger automatically. label Aug 18, 2026
@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines:
Successfully started running 1 pipeline(s).
35 pipeline(s) were filtered out due to trigger conditions.
There may be pipelines that require an authorized user to comment /azp run to run.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Adds a new Java SDK module for Device Registry Software Update and wires it into the deviceregistry aggregate build, CI, and versioning.

Changes:

  • Added new Maven module azure-iot-deviceregistry-softwareupdate with generated clients, models, and supporting resources.
  • Updated deviceregistry parent pom.xml and pipeline ci.yml to include and release the new module.
  • Registered the new artifact in eng/versioning/version_client.txt for versioning automation.

Reviewed changes

Copilot reviewed 42 out of 43 changed files in this pull request and generated 5 comments.

Show a summary per file
File Description
sdk/deviceregistry/pom.xml Adds the new module to the deviceregistry multi-module build.
sdk/deviceregistry/ci.yml Adds a pipeline release toggle and release metadata for the new artifact.
sdk/deviceregistry/azure-iot-deviceregistry-softwareupdate/tsp-location.yaml Introduces TypeSpec/spec location metadata for codegen provenance.
sdk/deviceregistry/azure-iot-deviceregistry-softwareupdate/src/samples/java/com/azure/iot/deviceregistry/softwareupdate/ReadmeSamples.java Adds a placeholder snippet class for README samples.
sdk/deviceregistry/azure-iot-deviceregistry-softwareupdate/src/main/resources/azure-iot-deviceregistry-softwareupdate.properties Adds build-time properties needed for SDK name/version lookup.
sdk/deviceregistry/azure-iot-deviceregistry-softwareupdate/src/main/resources/META-INF/azure-iot-deviceregistry-softwareupdate_metadata.json Adds generator metadata used by tooling for API mapping.
sdk/deviceregistry/azure-iot-deviceregistry-softwareupdate/src/main/java/module-info.java Declares JPMS module exports/opens for the new library.
sdk/deviceregistry/azure-iot-deviceregistry-softwareupdate/src/main/java/com/azure/iot/deviceregistry/softwareupdate/package-info.java Adds package-level Javadoc for the public client package.
sdk/deviceregistry/azure-iot-deviceregistry-softwareupdate/src/main/java/com/azure/iot/deviceregistry/softwareupdate/models/package-info.java Adds package-level Javadoc for the models package.
sdk/deviceregistry/azure-iot-deviceregistry-softwareupdate/src/main/java/com/azure/iot/deviceregistry/softwareupdate/models/UpdateOperation.java Adds generated model and JSON (de)serialization for operations.
sdk/deviceregistry/azure-iot-deviceregistry-softwareupdate/src/main/java/com/azure/iot/deviceregistry/softwareupdate/models/UpdateInfo.java Adds generated model and JSON (de)serialization for update info.
sdk/deviceregistry/azure-iot-deviceregistry-softwareupdate/src/main/java/com/azure/iot/deviceregistry/softwareupdate/models/UpdateId.java Adds generated model and JSON (de)serialization for update identifiers.
sdk/deviceregistry/azure-iot-deviceregistry-softwareupdate/src/main/java/com/azure/iot/deviceregistry/softwareupdate/models/UpdateFileDownloadHandler.java Adds generated model and JSON (de)serialization for download handler metadata.
sdk/deviceregistry/azure-iot-deviceregistry-softwareupdate/src/main/java/com/azure/iot/deviceregistry/softwareupdate/models/UpdateFileBase.java Adds generated base model and JSON (de)serialization for file metadata.
sdk/deviceregistry/azure-iot-deviceregistry-softwareupdate/src/main/java/com/azure/iot/deviceregistry/softwareupdate/models/UpdateFile.java Adds generated model and JSON (de)serialization for update files.
sdk/deviceregistry/azure-iot-deviceregistry-softwareupdate/src/main/java/com/azure/iot/deviceregistry/softwareupdate/models/Update.java Adds generated model and JSON (de)serialization for update metadata.
sdk/deviceregistry/azure-iot-deviceregistry-softwareupdate/src/main/java/com/azure/iot/deviceregistry/softwareupdate/models/StepType.java Adds generated expandable enum for instruction step types.
sdk/deviceregistry/azure-iot-deviceregistry-softwareupdate/src/main/java/com/azure/iot/deviceregistry/softwareupdate/models/Step.java Adds generated model and JSON (de)serialization for install steps.
sdk/deviceregistry/azure-iot-deviceregistry-softwareupdate/src/main/java/com/azure/iot/deviceregistry/softwareupdate/models/OperationState.java Adds generated expandable enum for operation status values.
sdk/deviceregistry/azure-iot-deviceregistry-softwareupdate/src/main/java/com/azure/iot/deviceregistry/softwareupdate/models/Instructions.java Adds generated model and JSON (de)serialization for instructions container.
sdk/deviceregistry/azure-iot-deviceregistry-softwareupdate/src/main/java/com/azure/iot/deviceregistry/softwareupdate/models/ImportUpdateRequest.java Adds generated model and JSON (de)serialization for import requests.
sdk/deviceregistry/azure-iot-deviceregistry-softwareupdate/src/main/java/com/azure/iot/deviceregistry/softwareupdate/models/ImportUpdateInputItem.java Adds generated model and JSON (de)serialization for import input items.
sdk/deviceregistry/azure-iot-deviceregistry-softwareupdate/src/main/java/com/azure/iot/deviceregistry/softwareupdate/models/ImportManifestMetadata.java Adds generated model and JSON (de)serialization for manifest metadata.
sdk/deviceregistry/azure-iot-deviceregistry-softwareupdate/src/main/java/com/azure/iot/deviceregistry/softwareupdate/models/FileImportMetadata.java Adds generated model and JSON (de)serialization for file import metadata.
sdk/deviceregistry/azure-iot-deviceregistry-softwareupdate/src/main/java/com/azure/iot/deviceregistry/softwareupdate/models/DeviceClassProperties.java Adds generated model and JSON (de)serialization for device class properties.
sdk/deviceregistry/azure-iot-deviceregistry-softwareupdate/src/main/java/com/azure/iot/deviceregistry/softwareupdate/models/DeviceClass.java Adds generated model and JSON (de)serialization stub for device classes.
sdk/deviceregistry/azure-iot-deviceregistry-softwareupdate/src/main/java/com/azure/iot/deviceregistry/softwareupdate/models/Compatibility.java Adds generated “additionalProperties” compatibility model handling.
sdk/deviceregistry/azure-iot-deviceregistry-softwareupdate/src/main/java/com/azure/iot/deviceregistry/softwareupdate/models/BestCompatibleUpdate.java Adds generated model and JSON (de)serialization for best compatible update.
sdk/deviceregistry/azure-iot-deviceregistry-softwareupdate/src/main/java/com/azure/iot/deviceregistry/softwareupdate/implementation/package-info.java Adds package-level Javadoc for generated implementation package.
sdk/deviceregistry/azure-iot-deviceregistry-softwareupdate/src/main/java/com/azure/iot/deviceregistry/softwareupdate/implementation/DeviceRegistrySoftwareUpdateClientImpl.java Adds generated inner service client wiring for operation groups.
sdk/deviceregistry/azure-iot-deviceregistry-softwareupdate/src/main/java/com/azure/iot/deviceregistry/softwareupdate/implementation/DeviceClassesImpl.java Adds generated REST proxy implementation for DeviceClasses operations.
sdk/deviceregistry/azure-iot-deviceregistry-softwareupdate/src/main/java/com/azure/iot/deviceregistry/softwareupdate/SoftwareUpdateClient.java Adds generated synchronous client surface and convenience methods.
sdk/deviceregistry/azure-iot-deviceregistry-softwareupdate/src/main/java/com/azure/iot/deviceregistry/softwareupdate/SoftwareUpdateAsyncClient.java Adds generated async client surface and convenience methods.
sdk/deviceregistry/azure-iot-deviceregistry-softwareupdate/src/main/java/com/azure/iot/deviceregistry/softwareupdate/DeviceRegistrySoftwareUpdateServiceVersion.java Adds generated service API version enum used by clients.
sdk/deviceregistry/azure-iot-deviceregistry-softwareupdate/src/main/java/com/azure/iot/deviceregistry/softwareupdate/DeviceRegistrySoftwareUpdateClientBuilder.java Adds generated builder with pipeline/auth configuration and client factories.
sdk/deviceregistry/azure-iot-deviceregistry-softwareupdate/src/main/java/com/azure/iot/deviceregistry/softwareupdate/DeviceClassesClient.java Adds generated synchronous client for DeviceClasses.
sdk/deviceregistry/azure-iot-deviceregistry-softwareupdate/src/main/java/com/azure/iot/deviceregistry/softwareupdate/DeviceClassesAsyncClient.java Adds generated async client for DeviceClasses.
sdk/deviceregistry/azure-iot-deviceregistry-softwareupdate/pom.xml Introduces Maven project for the new artifact and dependencies.
sdk/deviceregistry/azure-iot-deviceregistry-softwareupdate/assets.json Adds assets repository tagging config for release automation.
sdk/deviceregistry/azure-iot-deviceregistry-softwareupdate/README.md Adds initial README with dependency snippet and placeholders.
sdk/deviceregistry/azure-iot-deviceregistry-softwareupdate/CHANGELOG.md Adds initial changelog for the new module.
eng/versioning/version_client.txt Registers the new artifact for centralized version management.
Suppressed comments (3)

sdk/deviceregistry/azure-iot-deviceregistry-softwareupdate/src/main/java/com/azure/iot/deviceregistry/softwareupdate/models/UpdateInfo.java:1

  • UpdateInfo.fromJson reads description and friendlyName, but toJson only writes updateId. This makes JSON round-tripping lossy and inconsistent with the rest of the models. Include description and friendlyName fields in toJson.
    sdk/deviceregistry/ci.yml:1
  • This new release toggle defaults to true, while the existing deviceregistry release toggle defaults to false. If this pipeline is used broadly, this increases the risk of unintentionally including the new module in batch releases. Consider defaulting to false for consistency, unless there is a specific reason to always release this artifact.
    sdk/deviceregistry/azure-iot-deviceregistry-softwareupdate/tsp-location.yaml:1
  • additionalDirectories is declared but has no value, which parses as null in YAML and can break tooling that expects a list (even if empty). Set it to an explicit empty list (e.g., additionalDirectories: []) or remove the key entirely if unused.

💡 Add a code-review agent skill for context-aware, tailored reviews. Learn more in the docs.

@Generated
@Override
public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
jsonWriter.writeStartObject();
Comment on lines +525 to +536
private List<BinaryData> getValues(BinaryData binaryData, String... path) {
try {
Object value = binaryData.toObject(Map.class);
for (String segment : path) {
value = ((Map<?, ?>) value).get(segment);
}
List<?> values = (List<?>) value;
return values.stream().map(BinaryData::fromObject).collect(Collectors.toList());
} catch (RuntimeException e) {
return null;
}
}
Comment on lines +9 to +16
### Breaking Changes

### Bugs Fixed

### Other Changes
### Features Added

- Initial release for the azure-iot-deviceregistry-softwareupdate Java SDK.
Comment on lines +202 to +204
* @param importUpdateRequest The update to be imported (see schema
* https://json.schemastore.org/azure-deviceupdate-import-manifest-5.0.json for
* details).
Comment on lines +214 to +215
public SyncPoller<BinaryData, BinaryData> beginImportUpdate(BinaryData importUpdateRequest,
RequestOptions requestOptions) {
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

auto-release When merged to main, release pipelines for this PR's changed packages trigger automatically.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants