azure-rest-api-specs icon indicating copy to clipboard operation
azure-rest-api-specs copied to clipboard

[Microsoft.StorageMover] [v2024-07-01] Extract `JobRunStatus` Enum to Its Own Definition to be Reused by `JobDefinitionProperties` + `JobRunProperties`

Open InbalZim opened this issue 1 year ago • 6 comments

ARM (Control Plane) API Specification Update Pull Request

[!TIP] Overwhelmed by all this guidance? See the Getting help section at the bottom of this PR description.

PR review workflow diagram

Please understand this diagram before proceeding. It explains how to get your PR approved & merged.

spec_pr_review_workflow_diagram

Purpose of this PR

What's the purpose of this PR? Check the specific option that applies. This is mandatory!

  • [ ] New resource provider.
  • [ ] New API version for an existing resource provider. (If API spec is not defined in TypeSpec, the PR should have been created in adherence to OpenAPI specs PR creation guidance).
  • [ ] Update existing version for a new feature. (This is applicable only when you are revising a private preview API version.)
  • [ ] Update existing version to fix OpenAPI spec quality issues in S360.
  • [x] Other, please clarify:
    • Update new version (not yet released) - extracting an enum definition used by 2 models to its own definition.

Due diligence checklist

To merge this PR, you must go through the following checklist and confirm you understood and followed the instructions by checking all the boxes:

  • [x] I confirm this PR is modifying Azure Resource Manager (ARM) related specifications, and not data plane related specifications.
  • [x] I have reviewed following Resource Provider guidelines, including ARM resource provider contract and REST guidelines (estimated time: 4 hours).
    I understand this is required before I can proceed to the diagram Step 2, "ARM API changes review", for this PR.

Additional information

Viewing API changes

For convenient view of the API changes made by this PR, refer to the URLs provided in the table in the Generated ApiView comment added to this PR. You can use ApiView to show API versions diff.

Suppressing failures

If one or multiple validation error/warning suppression(s) is detected in your PR, please follow the suppressions guide to get approval.

Getting help

  • First, please carefully read through this PR description, from top to bottom. Please fill out the Purpose of this PR and Due diligence checklist.
  • If you don't have permissions to remove or add labels to the PR, request write access per aka.ms/azsdk/access#request-access-to-rest-api-or-sdk-repositories
  • To understand what you must do next to merge this PR, see the Next Steps to Merge comment. It will appear within few minutes of submitting this PR and will continue to be up-to-date with current PR state.
  • For guidance on fixing this PR CI check failures, see the hyperlinks provided in given failure and https://aka.ms/ci-fix.
  • For help with ARM review (PR workflow diagram Step 2), see https://aka.ms/azsdk/pr-arm-review.
  • If the PR CI checks appear to be stuck in queued state, please add a comment with contents /azp run. This should result in a new comment denoting a PR validation pipeline has started and the checks should be updated after few minutes.
  • If the help provided by the previous points is not enough, post to https://aka.ms/azsdk/support/specreview-channel and link to this PR.

InbalZim avatar Jun 27 '24 10:06 InbalZim

Next Steps to Merge

Next steps that must be taken to merge this PR:
  • ❌ This PR is in purview of the ARM review (label: ARMReview). This PR must get ARMSignedOff label from an ARM reviewer.
    This PR is not ready for ARM review (label: NotReadyForARMReview). This PR will not be reviewed by ARM until relevant problems are fixed. Consult the rest of this Next Steps to Merge comment for details.
    Once the blocking problems are addressed, add to the PR a comment with contents /azp run. Automation will re-evaluate this PR and if everything looks good, it will add WaitForARMFeedback label which will put this PR on the ARM review queue.
    For details of the ARM review, see aka.ms/azsdk/pr-arm-review
  • ❌ This PR is NotReadyForARMReview because it has the BreakingChangeReviewRequired label.
  • ❌ This PR has at least one breaking change (label: BreakingChangeReviewRequired).
    To unblock this PR, follow the process at aka.ms/brch.
  • ❌ The required check named Swagger BreakingChange has failed. To unblock this PR, follow the process at aka.ms/brch.

Swagger Validation Report

️❌BreakingChange: 3 Errors, 0 Warnings failed [Detail]
Compared specs (v0.10.12) new version base version
storagemover.json 2024-07-01(f1ada7c) 2024-07-01(main)
Rule Message
1017 - ReferenceRedirection The '$ref' property points to different models in the old and new versions.
New: Microsoft.StorageMover/stable/2024-07-01/storagemover.json#L2388:9
Old: Microsoft.StorageMover/stable/2024-07-01/storagemover.json#L2388:9
1017 - ReferenceRedirection The '$ref' property points to different models in the old and new versions.
New: Microsoft.StorageMover/stable/2024-07-01/storagemover.json#L2512:9
Old: Microsoft.StorageMover/stable/2024-07-01/storagemover.json#L2526:9
1020 - AddedEnumValue The new version is adding enum value(s) 'PausedByBandwidthManagement' from the old version.
New: Microsoft.StorageMover/stable/2024-07-01/storagemover.json#L2388:9
Old: Microsoft.StorageMover/stable/2024-07-01/storagemover.json#L2388:9
️️✔️Breaking Change(Cross-Version) succeeded [Detail] [Expand]
There are no breaking changes.
️️✔️CredScan succeeded [Detail] [Expand]
There is no credential detected.
️⚠️LintDiff: 0 Warnings warning [Detail]
Compared specs (v2.2.2) new version base version
package-2024-07 package-2024-07(f1ada7c) package-2024-07(main)

The following errors/warnings exist before current PR submission:

Only 30 items are listed, please refer to log for more details.

Rule Message
ResourceNameRestriction The resource name parameter 'storageMoverName' should be defined with a 'pattern' restriction.
Location: Microsoft.StorageMover/stable/2024-07-01/storagemover.json#L154
PutResponseCodes Synchronous and long-running PUT operations must have responses with 200, 201 and default return codes. They also must not have other response codes.
Location: Microsoft.StorageMover/stable/2024-07-01/storagemover.json#L195
DeleteResponseCodes Long-running delete operations must have responses with 202, 204 and default return codes. They also must have no other response codes.
Location: Microsoft.StorageMover/stable/2024-07-01/storagemover.json#L291
LroLocationHeader A 202 response should include an Location response header.
Location: Microsoft.StorageMover/stable/2024-07-01/storagemover.json#L320
ResourceNameRestriction The resource name parameter 'storageMoverName' should be defined with a 'pattern' restriction.
Location: Microsoft.StorageMover/stable/2024-07-01/storagemover.json#L339
ResourceNameRestriction The resource name parameter 'storageMoverName' should be defined with a 'pattern' restriction.
Location: Microsoft.StorageMover/stable/2024-07-01/storagemover.json#L387
ResourceNameRestriction The resource name parameter 'agentName' should be defined with a 'pattern' restriction.
Location: Microsoft.StorageMover/stable/2024-07-01/storagemover.json#L387
PutResponseCodes Synchronous and long-running PUT operations must have responses with 200, 201 and default return codes. They also must not have other response codes.
Location: Microsoft.StorageMover/stable/2024-07-01/storagemover.json#L434
DeleteResponseCodes Long-running delete operations must have responses with 202, 204 and default return codes. They also must have no other response codes.
Location: Microsoft.StorageMover/stable/2024-07-01/storagemover.json#L542
LroLocationHeader A 202 response should include an Location response header.
Location: Microsoft.StorageMover/stable/2024-07-01/storagemover.json#L574
ResourceNameRestriction The resource name parameter 'storageMoverName' should be defined with a 'pattern' restriction.
Location: Microsoft.StorageMover/stable/2024-07-01/storagemover.json#L593
ResourceNameRestriction The resource name parameter 'storageMoverName' should be defined with a 'pattern' restriction.
Location: Microsoft.StorageMover/stable/2024-07-01/storagemover.json#L638
ResourceNameRestriction The resource name parameter 'endpointName' should be defined with a 'pattern' restriction.
Location: Microsoft.StorageMover/stable/2024-07-01/storagemover.json#L638
PutResponseCodes Synchronous and long-running PUT operations must have responses with 200, 201 and default return codes. They also must not have other response codes.
Location: Microsoft.StorageMover/stable/2024-07-01/storagemover.json#L691
PatchBodyParametersSchema Properties of a PATCH request body must not be required, property:endpointType.
Location: Microsoft.StorageMover/stable/2024-07-01/storagemover.json#L791
DeleteResponseCodes Long-running delete operations must have responses with 202, 204 and default return codes. They also must have no other response codes.
Location: Microsoft.StorageMover/stable/2024-07-01/storagemover.json#L811
LroLocationHeader A 202 response should include an Location response header.
Location: Microsoft.StorageMover/stable/2024-07-01/storagemover.json#L843
ResourceNameRestriction The resource name parameter 'storageMoverName' should be defined with a 'pattern' restriction.
Location: Microsoft.StorageMover/stable/2024-07-01/storagemover.json#L862
ResourceNameRestriction The resource name parameter 'storageMoverName' should be defined with a 'pattern' restriction.
Location: Microsoft.StorageMover/stable/2024-07-01/storagemover.json#L907
ResourceNameRestriction The resource name parameter 'projectName' should be defined with a 'pattern' restriction.
Location: Microsoft.StorageMover/stable/2024-07-01/storagemover.json#L907
PutResponseCodes Synchronous and long-running PUT operations must have responses with 200, 201 and default return codes. They also must not have other response codes.
Location: Microsoft.StorageMover/stable/2024-07-01/storagemover.json#L951
DeleteResponseCodes Long-running delete operations must have responses with 202, 204 and default return codes. They also must have no other response codes.
Location: Microsoft.StorageMover/stable/2024-07-01/storagemover.json#L1053
LroLocationHeader A 202 response should include an Location response header.
Location: Microsoft.StorageMover/stable/2024-07-01/storagemover.json#L1085
ResourceNameRestriction The resource name parameter 'storageMoverName' should be defined with a 'pattern' restriction.
Location: Microsoft.StorageMover/stable/2024-07-01/storagemover.json#L1104
ResourceNameRestriction The resource name parameter 'projectName' should be defined with a 'pattern' restriction.
Location: Microsoft.StorageMover/stable/2024-07-01/storagemover.json#L1104
ResourceNameRestriction The resource name parameter 'storageMoverName' should be defined with a 'pattern' restriction.
Location: Microsoft.StorageMover/stable/2024-07-01/storagemover.json#L1152
ResourceNameRestriction The resource name parameter 'projectName' should be defined with a 'pattern' restriction.
Location: Microsoft.StorageMover/stable/2024-07-01/storagemover.json#L1152
ResourceNameRestriction The resource name parameter 'jobDefinitionName' should be defined with a 'pattern' restriction.
Location: Microsoft.StorageMover/stable/2024-07-01/storagemover.json#L1152
PutResponseCodes Synchronous and long-running PUT operations must have responses with 200, 201 and default return codes. They also must not have other response codes.
Location: Microsoft.StorageMover/stable/2024-07-01/storagemover.json#L1199
DeleteResponseCodes Long-running delete operations must have responses with 202, 204 and default return codes. They also must have no other response codes.
Location: Microsoft.StorageMover/stable/2024-07-01/storagemover.json#L1307
️️✔️Avocado succeeded [Detail] [Expand]
Validation passes for Avocado.
️️✔️SwaggerAPIView succeeded [Detail] [Expand]
️️✔️TypeSpecAPIView succeeded [Detail] [Expand]
️️✔️ModelValidation succeeded [Detail] [Expand]
Validation passes for ModelValidation.
️️✔️SemanticValidation succeeded [Detail] [Expand]
Validation passes for SemanticValidation.
️️✔️PoliCheck succeeded [Detail] [Expand]
Validation passed for PoliCheck.
️️✔️SpellCheck succeeded [Detail] [Expand]
Validation passes for SpellCheck.
️️✔️Lint(RPaaS) succeeded [Detail] [Expand]
Validation passes for Lint(RPaaS).
️️✔️PR Summary succeeded [Detail] [Expand]
Validation passes for Summary.
️️✔️Automated merging requirements met succeeded [Detail] [Expand]
Posted by Swagger Pipeline | How to fix these errors?

Swagger Generation Artifacts

️️✔️ApiDocPreview succeeded [Detail] [Expand]
 Please click here to preview with your @microsoft account. 
️⚠️ azure-sdk-for-python warning [Detail]
    For more instructions, please refer to the FAQ .
  • ⚠️Warning in generating from feafdc02a9bb4174c1d824231faf980a6f3293e3. SDK Automation 14.0.0
    command	sh scripts/automation_init.sh ../azure-sdk-for-python_tmp/initInput.json ../azure-sdk-for-python_tmp/initOutput.json
    cmderr	[automation_init.sh] W: Target Packages (main/binary-amd64/Packages) is configured multiple times in /etc/apt/sources.list.d/azure-cli.list:1 and /etc/apt/sources.list.d/azure-cli.sources:1
    cmderr	[automation_init.sh] W: Target Packages (main/binary-all/Packages) is configured multiple times in /etc/apt/sources.list.d/azure-cli.list:1 and /etc/apt/sources.list.d/azure-cli.sources:1
    cmderr	[automation_init.sh] W: Target Translations (main/i18n/Translation-en) is configured multiple times in /etc/apt/sources.list.d/azure-cli.list:1 and /etc/apt/sources.list.d/azure-cli.sources:1
    cmderr	[automation_init.sh] W: Target CNF (main/cnf/Commands-amd64) is configured multiple times in /etc/apt/sources.list.d/azure-cli.list:1 and /etc/apt/sources.list.d/azure-cli.sources:1
    cmderr	[automation_init.sh] W: Target CNF (main/cnf/Commands-all) is configured multiple times in /etc/apt/sources.list.d/azure-cli.list:1 and /etc/apt/sources.list.d/azure-cli.sources:1
    cmderr	[automation_init.sh] WARNING: Skipping azure-nspkg as it is not installed.
    cmderr	[automation_init.sh] npm notice
    cmderr	[automation_init.sh] npm notice New minor version of npm available! 10.7.0 -> 10.8.1
    cmderr	[automation_init.sh] npm notice Changelog: https://github.com/npm/cli/releases/tag/v10.8.1
    cmderr	[automation_init.sh] npm notice To update run: npm install -g [email protected]
    cmderr	[automation_init.sh] npm notice
    command	sh scripts/automation_generate.sh ../azure-sdk-for-python_tmp/generateInput.json ../azure-sdk-for-python_tmp/generateOutput.json
  • ️✔️azure-mgmt-storagemover [Preview SDK Changes]
    info	[Changelog]
️️✔️ azure-sdk-for-java succeeded [Detail] [Expand]
    For more instructions, please refer to the FAQ .
  • ️✔️Succeeded in generating from feafdc02a9bb4174c1d824231faf980a6f3293e3. SDK Automation 14.0.0
    command	./eng/mgmt/automation/init.sh ../azure-sdk-for-java_tmp/initInput.json ../azure-sdk-for-java_tmp/initOutput.json
    command	./eng/mgmt/automation/generate.py ../azure-sdk-for-java_tmp/generateInput.json ../azure-sdk-for-java_tmp/generateOutput.json
  • ️✔️azure-resourcemanager-storagemover [Preview SDK Changes]
    info	[Changelog]
️️✔️ azure-sdk-for-go succeeded [Detail] [Expand]
    For more instructions, please refer to the FAQ .
  • ️✔️Succeeded in generating from feafdc02a9bb4174c1d824231faf980a6f3293e3. SDK Automation 14.0.0
    command	sh ./eng/scripts/automation_init.sh ../../../../../azure-sdk-for-go_tmp/initInput.json ../../../../../azure-sdk-for-go_tmp/initOutput.json
    command	generator automation-v2 ../../../../../azure-sdk-for-go_tmp/generateInput.json ../../../../../azure-sdk-for-go_tmp/generateOutput.json
  • ️✔️sdk/resourcemanager/storagemover/armstoragemover [Preview SDK Changes]
    info	[Changelog] ### Other Changes
    info	[Changelog]
    info	[Changelog] Total 0 breaking change(s), 0 additive change(s).
️️✔️ azure-sdk-for-js succeeded [Detail] [Expand]
    For more instructions, please refer to the FAQ .
  • ️✔️Succeeded in generating from feafdc02a9bb4174c1d824231faf980a6f3293e3. SDK Automation 14.0.0
    command	sh .scripts/automation_init.sh ../azure-sdk-for-js_tmp/initInput.json ../azure-sdk-for-js_tmp/initOutput.json
    warn	Warning: File azure-sdk-for-js_tmp/initOutput.json not found to read. Please re-run the pipeline if the error is transitient error or report this issue through https://aka.ms/azsdk/support/specreview-channel.
    command	sh .scripts/automation_generate.sh ../azure-sdk-for-js_tmp/generateInput.json ../azure-sdk-for-js_tmp/generateOutput.json
    cmderr	[automation_generate.sh] [ERROR] Cannot generate changelog because the codes of local and npm may be the same.
  • ️✔️@azure/arm-storagemover [Preview SDK Changes]
    info	[Changelog]
    error	breakingChangeTracking is enabled, but version or changelogItem is not found in output.
️❌ azure-resource-manager-schemas failed [Detail]
    For more instructions, please refer to the FAQ .
  • Code Generator Failed in generating from feafdc02a9bb4174c1d824231faf980a6f3293e3. Schema Automation 14.0.0
    command	.sdkauto/initScript.sh ../azure-resource-manager-schemas_tmp/initInput.json ../azure-resource-manager-schemas_tmp/initOutput.json
    cmderr	[initScript.sh] Submodule 'bicep-types-az' (https://github.com/Azure/bicep-types-az) registered for path 'bicep-types-az'
    cmderr	[initScript.sh] Cloning into '/mnt/vss/_work/1/s/azure-resource-manager-schemas/bicep-types-az'...
    cmderr	[initScript.sh] Submodule 'bicep-types' (https://github.com/Azure/bicep-types) registered for path 'bicep-types-az/bicep-types'
    cmderr	[initScript.sh] Cloning into '/mnt/vss/_work/1/s/azure-resource-manager-schemas/bicep-types-az/bicep-types'...
    cmderr	[initScript.sh] npm notice
    cmderr	[initScript.sh] npm notice New minor version of npm available! 10.7.0 -> 10.8.1
    cmderr	[initScript.sh] npm notice Changelog: https://github.com/npm/cli/releases/tag/v10.8.1
    cmderr	[initScript.sh] npm notice To update run: npm install -g [email protected]
    cmderr	[initScript.sh] npm notice
    error	Script return with result [failed] code [1] signal [null] cwd [azure-resource-manager-schemas]: .sdkauto/initScript.sh
    warn	Warning: File azure-resource-manager-schemas_tmp/initOutput.json not found to read. Please re-run the pipeline if the error is transitient error or report this issue through https://aka.ms/azsdk/support/specreview-channel.
    command	.sdkauto/generateScript.sh ../azure-resource-manager-schemas_tmp/generateInput.json ../azure-resource-manager-schemas_tmp/generateOutput.json
    cmderr	[generateScript.sh] /mnt/vss/_work/1/a/unified-pipeline-runtime/common/temp/node_modules/.pnpm/[email protected][email protected]/node_modules/ts-node/src/index.ts:500
    cmderr	[generateScript.sh]     return new TSError(diagnosticText, diagnosticCodes)
    cmderr	[generateScript.sh]            ^
    cmderr	[generateScript.sh] TSError: ⨯ Unable to compile TypeScript:
    cmderr	[generateScript.sh] cmd/generateall.ts(6,20): error TS2307: Cannot find module 'colors' or its corresponding type declarations.
    cmderr	[generateScript.sh] cmd/generateall.ts(10,19): error TS2307: Cannot find module 'yargs' or its corresponding type declarations.
    cmderr	[generateScript.sh] cmd/generateall.ts(11,18): error TS2307: Cannot find module 'path' or its corresponding type declarations.
    cmderr	[generateScript.sh] cmd/generateall.ts(13,35): error TS2307: Cannot find module 'fs' or its corresponding type declarations.
    cmderr	[generateScript.sh] cmd/generateall.ts(14,23): error TS2307: Cannot find module 'strip-ansi' or its corresponding type declarations.
    cmderr	[generateScript.sh] cmd/generateall.ts(42,9): error TS2584: Cannot find name 'console'. Do you need to change your target library? Try changing the 'lib' compiler option to include 'dom'.
    cmderr	[generateScript.sh] cmd/generateall.ts(53,9): error TS2584: Cannot find name 'console'. Do you need to change your target library? Try changing the 'lib' compiler option to include 'dom'.
    cmderr	[generateScript.sh] cmd/generateall.ts(69,67): error TS7006: Parameter 'x' implicitly has an 'any' type.
    cmderr	[generateScript.sh] cmd/generateall.ts(70,49): error TS7006: Parameter 'f' implicitly has an 'any' type.
    cmderr	[generateScript.sh] cmd/generateall.ts(94,21): error TS2584: Cannot find name 'console'. Do you need to change your target library? Try changing the 'lib' compiler option to include 'dom'.
    cmderr	[generateScript.sh] cmd/generateall.ts(105,21): error TS2584: Cannot find name 'console'. Do you need to change your target library? Try changing the 'lib' compiler option to include 'dom'.
    cmderr	[generateScript.sh] cmd/generateall.ts(106,21): error TS2584: Cannot find name 'console'. Do you need to change your target library? Try changing the 'lib' compiler option to include 'dom'.
    cmderr	[generateScript.sh] cmd/generateall.ts(157,13): error TS2591: Cannot find name 'process'. Do you need to install type definitions for node? Try `npm i --save-dev @types/node` and then add 'node' to the types field in your tsconfig.
    cmderr	[generateScript.sh]     at createTSError (/mnt/vss/_work/1/a/unified-pipeline-runtime/common/temp/node_modules/.pnpm/[email protected][email protected]/node_modules/ts-node/src/index.ts:500:12)
    cmderr	[generateScript.sh]     at reportTSError (/mnt/vss/_work/1/a/unified-pipeline-runtime/common/temp/node_modules/.pnpm/[email protected][email protected]/node_modules/ts-node/src/index.ts:504:19)
    cmderr	[generateScript.sh]     at getOutput (/mnt/vss/_work/1/a/unified-pipeline-runtime/common/temp/node_modules/.pnpm/[email protected][email protected]/node_modules/ts-node/src/index.ts:739:36)
    cmderr	[generateScript.sh]     at Object.compile (/mnt/vss/_work/1/a/unified-pipeline-runtime/common/temp/node_modules/.pnpm/[email protected][email protected]/node_modules/ts-node/src/index.ts:955:32)
    cmderr	[generateScript.sh]     at Module.m._compile (/mnt/vss/_work/1/a/unified-pipeline-runtime/common/temp/node_modules/.pnpm/[email protected][email protected]/node_modules/ts-node/src/index.ts:1043:43)
    cmderr	[generateScript.sh]     at Module._extensions..js (node:internal/modules/cjs/loader:1422:10)
    cmderr	[generateScript.sh]     at Object.require.extensions.<computed> [as .ts] (/mnt/vss/_work/1/a/unified-pipeline-runtime/common/temp/node_modules/.pnpm/[email protected][email protected]/node_modules/ts-node/src/index.ts:1046:12)
    cmderr	[generateScript.sh]     at Module.load (node:internal/modules/cjs/loader:1203:32)
    cmderr	[generateScript.sh]     at Function.Module._load (node:internal/modules/cjs/loader:1019:12)
    cmderr	[generateScript.sh]     at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:128:12)
    error	Script return with result [failed] code [1] signal [null] cwd [azure-resource-manager-schemas]: .sdkauto/generateScript.sh
    warn	Warning: Package processing is skipped as the SDK generation fails. Please look into the above generation errors or report this issue through https://aka.ms/azsdk/support/specreview-channel.
Posted by Swagger Pipeline | How to fix these errors?

Generated ApiView

Language Package Name ApiView Link
Go sdk/resourcemanager/storagemover/armstoragemover There is no API change compared with the previous version
JavaScript @azure/arm-storagemover There is no API change compared with the previous version
Java azure-resourcemanager-storagemover There is no API change compared with the previous version
Swagger Microsoft.StorageMover https://apiview.dev/Assemblies/Review/ac07067eddfe4c09a052b40760e21269?revisionId=eaa9bc3521ad4e20b7c514a3ad3c13b2

/azp run

InbalZim avatar Jun 30 '24 07:06 InbalZim

Azure Pipelines successfully started running 3 pipeline(s).

azure-pipelines[bot] avatar Jun 30 '24 07:06 azure-pipelines[bot]

Hi, @InbalZim. Your PR has no update for 14 days and it is marked as stale PR. If no further update for over 14 days, the bot will close the PR. If you want to refresh the PR, please remove no-recent-activity label.

Hi, @InbalZim. The PR will be closed since the PR has no update for 28 days. If you still need the PR review to proceed, please reopen it and @ mention PR assignee.