Skip to content

Conversation

@azure-sdk
Copy link
Collaborator

@azure-sdk azure-sdk commented Feb 6, 2026

Configurations: 'specification/computebulkactions/ComputeBulkActions.Management/tspconfig.yaml', API Version: 2026-02-01-preview, SDK Release Type: beta, and CommitSHA: '1fce3d8fcfd7da372b2e98fcc75ede56b9ddf6c6' in SpecRepo: 'https://github.com/Azure/azure-rest-api-specs' Pipeline run: https://dev.azure.com/azure-sdk/internal/_build/results?buildId=5849311 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://web.powerapps.com/apps/821ab569-ae60-420d-8264-d7b5d5ef734c?release-plan-id=29a00f33-e801-f111-8406-000d3a5c49ca Submitted by: [email protected]

Release Plan Details

…Management/tspconfig.yaml', API Version: 2026-02-01-preview, SDK Release Type: beta, and CommitSHA: '1fce3d8fcfd7da372b2e98fcc75ede56b9ddf6c6' in SpecRepo: 'https://github.com/Azure/azure-rest-api-specs' Pipeline run: https://dev.azure.com/azure-sdk/internal/_build/results?buildId=5849311 Refer to https://eng.ms/docs/products/azure-developer-experience/develop/sdk-release/sdk-release-prerequisites to prepare for SDK release.
@github-actions github-actions bot added the Mgmt This issue is related to a management-plane library. label Feb 6, 2026
@github-actions
Copy link

github-actions bot commented Feb 6, 2026

API Change Check

APIView identified API level changes in this PR and created the following API reviews

@azure/arm-computebulkactions

…Management/tspconfig.yaml', API Version: 2026-02-01-preview, SDK Release Type: beta, and CommitSHA: '24902354a88f1ca5349ea3049edae370599c8e57' in SpecRepo: 'https://github.com/Azure/azure-rest-api-specs' Pipeline run: https://dev.azure.com/azure-sdk/internal/_build/results?buildId=5849429 Refer to https://eng.ms/docs/products/azure-developer-experience/develop/sdk-release/sdk-release-prerequisites to prepare for SDK release.
Copy link
Contributor

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 a new auto-generated Azure management (ARM) package @azure/arm-computebulkactions targeting API version 2026-02-01-preview (beta), along with CI plumbing and repo metadata updates needed to build and validate it in the monorepo.

Changes:

  • Introduces the new sdk/computebulkactions/arm-computebulkactions package (client, models, paging/LRO helpers, tests, configs, API reports).
  • Adds a service-level CI pipeline (sdk/computebulkactions/ci.mgmt.yml) and updates repo metadata (CODEOWNERS, link ignores).
  • Updates workspace dependency graph (pnpm-lock.yaml) to include the new package.

Reviewed changes

Copilot reviewed 48 out of 50 changed files in this pull request and generated 4 comments.

Show a summary per file
File Description
sdk/computebulkactions/ci.mgmt.yml Adds CI definition for the new service directory/package.
sdk/computebulkactions/arm-computebulkactions/vitest.esm.config.ts Adds Vitest ESM config for the package.
sdk/computebulkactions/arm-computebulkactions/vitest.config.ts Adds shared Vitest config wiring for node tests.
sdk/computebulkactions/arm-computebulkactions/vitest.browser.config.ts Adds Vitest browser config wiring for browser tests.
sdk/computebulkactions/arm-computebulkactions/tsp-location.yaml Records TypeSpec source location for generation provenance.
sdk/computebulkactions/arm-computebulkactions/tsconfig.test.node.json Adds TS config for node test compilation paths.
sdk/computebulkactions/arm-computebulkactions/tsconfig.test.json Adds TS project references for tests.
sdk/computebulkactions/arm-computebulkactions/tsconfig.src.json Adds TS config reference for source build.
sdk/computebulkactions/arm-computebulkactions/tsconfig.snippets.json Adds TS config for snippet compilation.
sdk/computebulkactions/arm-computebulkactions/tsconfig.json Adds TS project references entrypoint.
sdk/computebulkactions/arm-computebulkactions/tsconfig.browser.config.json Adds TS config for browser build/test path mapping.
sdk/computebulkactions/arm-computebulkactions/test/snippets.spec.ts Adds snippet source file used for docs snippet extraction.
sdk/computebulkactions/arm-computebulkactions/test/public/utils/recordedClient.ts Adds recorder setup utility for tests.
sdk/computebulkactions/arm-computebulkactions/test/public/sampleTest.spec.ts Adds initial sample test scaffold.
sdk/computebulkactions/arm-computebulkactions/src/static-helpers/urlTemplate.ts Adds RFC6570 URL-template expansion helper used by generated operations.
sdk/computebulkactions/arm-computebulkactions/src/static-helpers/pollingHelpers.ts Adds LRO polling helper for generated long-running operations.
sdk/computebulkactions/arm-computebulkactions/src/static-helpers/pagingHelpers.ts Adds generic paging iterator helper for list operations.
sdk/computebulkactions/arm-computebulkactions/src/static-helpers/cloudSettingHelpers.ts Adds cloud-setting to ARM endpoint mapping helper.
sdk/computebulkactions/arm-computebulkactions/src/restorePollerHelpers.ts Adds support for restoring LRO pollers from serialized state.
sdk/computebulkactions/arm-computebulkactions/src/models/index.ts Re-exports public model surface from generated models.
sdk/computebulkactions/arm-computebulkactions/src/logger.ts Adds package logger wiring.
sdk/computebulkactions/arm-computebulkactions/src/index.ts Main package exports (client, ops types, models, helpers).
sdk/computebulkactions/arm-computebulkactions/src/computeBulkActionsClient.ts Implements top-level client wrapper exposing operation groups.
sdk/computebulkactions/arm-computebulkactions/src/classic/operations/index.ts Adds classic (convenience) operations group for operations.
sdk/computebulkactions/arm-computebulkactions/src/classic/index.ts Exposes classic operation groups.
sdk/computebulkactions/arm-computebulkactions/src/classic/bulkActions/index.ts Adds classic (convenience) operations group for bulkActions.
sdk/computebulkactions/arm-computebulkactions/src/api/operations/options.ts Adds generated options type for operations.list.
sdk/computebulkactions/arm-computebulkactions/src/api/operations/operations.ts Adds generated REST operations for operations.
sdk/computebulkactions/arm-computebulkactions/src/api/operations/index.ts Exposes generated operations API surface.
sdk/computebulkactions/arm-computebulkactions/src/api/index.ts Exposes client-context factory and context types.
sdk/computebulkactions/arm-computebulkactions/src/api/computeBulkActionsContext.ts Implements REST client context creation (endpoint, pipeline, auth scopes).
sdk/computebulkactions/arm-computebulkactions/src/api/bulkActions/options.ts Adds generated options types for bulkActions operations.
sdk/computebulkactions/arm-computebulkactions/src/api/bulkActions/operations.ts Adds generated REST operations for bulkActions (including LRO + paging).
sdk/computebulkactions/arm-computebulkactions/src/api/bulkActions/index.ts Exposes generated bulkActions API surface.
sdk/computebulkactions/arm-computebulkactions/review/arm-computebulkactions-node.api.md Adds API Extractor report for the main package surface.
sdk/computebulkactions/arm-computebulkactions/review/arm-computebulkactions-models-node.api.md Adds API Extractor report for the models entrypoint.
sdk/computebulkactions/arm-computebulkactions/review/arm-computebulkactions-api-operations-node.api.md Adds API Extractor report for ./api/operations.
sdk/computebulkactions/arm-computebulkactions/review/arm-computebulkactions-api-node.api.md Adds API Extractor report for ./api.
sdk/computebulkactions/arm-computebulkactions/review/arm-computebulkactions-api-bulkActions-node.api.md Adds API Extractor report for ./api/bulkActions.
sdk/computebulkactions/arm-computebulkactions/package.json Adds package metadata, dependencies, exports map, and scripts.
sdk/computebulkactions/arm-computebulkactions/metadata.json Adds generation metadata and cross-language mapping information.
sdk/computebulkactions/arm-computebulkactions/eslint.config.mjs Adds package-level ESLint configuration.
sdk/computebulkactions/arm-computebulkactions/api-extractor.json Adds API Extractor configuration reference.
sdk/computebulkactions/arm-computebulkactions/README.md Adds package README (usage, auth, logging).
sdk/computebulkactions/arm-computebulkactions/LICENSE Adds MIT license file.
sdk/computebulkactions/arm-computebulkactions/CHANGELOG.md Adds initial changelog entry for beta.
pnpm-lock.yaml Adds workspace lock entries for the new package and deps.
eng/ignore-links.txt Adds link-check ignore entries for the new package URLs.
.github/CODEOWNERS Adds code ownership for the new package path.
Files not reviewed (1)
  • pnpm-lock.yaml: Language not supported

Comment on lines +90 to +95
urlStr: string,
method: string,
): DeserializationHelper | undefined {
const path = new URL(urlStr).pathname;
const pathParts = path.split("/");

Copy link

Copilot AI Feb 9, 2026

Choose a reason for hiding this comment

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

getDeserializationHelper calls new URL(urlStr).pathname. The poller state from @azure/core-lro can contain relative initialRequestUrl values (e.g. "path" in core-lro tests), which will cause new URL(urlStr) to throw. Use new URL(urlStr, <base>) (as done elsewhere in this PR) or otherwise handle relative URLs.

Copilot uses AI. Check for mistakes.
Comment on lines +159 to +162
function getApiVersionFromUrl(urlStr: string): string | undefined {
const url = new URL(urlStr);
return url.searchParams.get("api-version") ?? undefined;
}
Copy link

Copilot AI Feb 9, 2026

Choose a reason for hiding this comment

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

getApiVersionFromUrl uses new URL(urlStr) and will also throw if initialRequestUrl is relative (which is allowed by @azure/core-lro serialized state). Consider parsing with a base URL (e.g. new URL(urlStr, "https://microsoft.com")) so restore works for both absolute and relative URLs.

Copilot uses AI. Check for mistakes.
Comment on lines +113 to +120
if (named && varName) {
vals.push(encodeComponent(varName, reserved, op));
if (value === "") {
if (!ifEmpty) {
vals.push(ifEmpty);
}
return !vals.join("") ? undefined : `${first}${vals.join("")}`;
}
Copy link

Copilot AI Feb 9, 2026

Choose a reason for hiding this comment

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

In getNonExpandedValue, the ifEmpty handling for named parameters is inverted. For op "?" or "&", ifEmpty is "=", but the current if (!ifEmpty) branch will skip adding "=", producing ?param instead of ?param= when the value is an empty string. Flip the condition (or always append ifEmpty) so empty values serialize correctly for query/amp operators.

Copilot uses AI. Check for mistakes.
Comment on lines +36 to +48
const endpointUrl =
options.endpoint ?? getArmEndpoint(options.cloudSetting) ?? "https://management.azure.com";
const prefixFromOptions = options?.userAgentOptions?.userAgentPrefix;
const userAgentInfo = `azsdk-js-arm-computebulkactions/1.0.0-beta.1`;
const userAgentPrefix = prefixFromOptions
? `${prefixFromOptions} azsdk-js-api ${userAgentInfo}`
: `azsdk-js-api ${userAgentInfo}`;
const { apiVersion: _, ...updatedOptions } = {
...options,
userAgentOptions: { userAgentPrefix },
loggingOptions: { logger: options.loggingOptions?.logger ?? logger.info },
credentials: { scopes: options.credentials?.scopes ?? [`${endpointUrl}/.default`] },
};
Copy link

Copilot AI Feb 9, 2026

Choose a reason for hiding this comment

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

getArmEndpoint() returns cloud endpoints with a trailing slash (e.g. https://management.azure.com/), but createComputeBulkActions builds the default scope as ${endpointUrl}/.default, which will become https://management.azure.com//.default and can break AAD token acquisition. Normalize endpointUrl to not end with / (or build scopes without introducing a second slash) before calling getClient / setting credentials.scopes.

Copilot uses AI. Check for mistakes.
@kazrael2119 kazrael2119 added the Self-Service Release PR for self-service release label Feb 10, 2026
@kazrael2119
Copy link
Member

please follow this guide to resolve conflicts.

FYI, feel free to follow this guide to add some real test cases for your service,

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Mgmt This issue is related to a management-plane library. Self-Service Release PR for self-service release

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants