Skip to content

Conversation

@raych1
Copy link
Member

@raych1 raych1 commented Nov 26, 2025

Fixed #12507

Key Changes:

  • added a new function to return full package name
  • pass through the groupId when dealing with the dev ops work item
  • updated Get-PkgProperties to match both of the name and groupId if Group exists

Copilot AI review requested due to automatic review settings November 26, 2025 00:40
@raych1 raych1 requested a review from a team as a code owner November 26, 2025 00:40
@raych1 raych1 self-assigned this Nov 26, 2025
@raych1 raych1 requested a review from weshaggard November 26, 2025 00:41
Copilot finished reviewing on behalf of raych1 November 26, 2025 00:41
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 enhances package identification for Java packages by using the full package name (groupId+artifactName) in DevOps work items and related operations.

Key changes:

  • Introduces Get-FullPackageName function to return full package names with proper format for different contexts
  • Updates Get-PkgProperties to filter by both package name and GroupId when GroupId is provided
  • Adds GroupId parameter handling across multiple scripts for consistent Java package identification

Reviewed changes

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

Show a summary per file
File Description
eng/common/scripts/Verify-ChangeLog.ps1 Adds GroupId parameter and passes it to Get-PkgProperties for proper package filtering
eng/common/scripts/Validate-All-Packages.ps1 Uses Get-FullPackageName to ensure correct package names in DevOps work items and validation outputs
eng/common/scripts/Update-ChangeLog.ps1 Adds GroupId parameter support for consistent package identification
eng/common/scripts/Prepare-Release.ps1 Adds GroupId prompting for Java packages and uses full package names in API review and DevOps updates, fixes typo in prompt message
eng/common/scripts/Package-Properties.ps1 Enhances Get-PkgProperties to filter by GroupId when provided for accurate package matching
eng/common/scripts/Helpers/Package-Helpers.ps1 Introduces Get-FullPackageName helper function with support for different separator formats
eng/common/pipelines/templates/steps/verify-changelog.yml Adds GroupId parameter to YAML template for pipeline consistency
Comments suppressed due to low confidence (1)

eng/common/scripts/Validate-All-Packages.ps1:199

  • Line 199 assigns $pkgName to $fullPackageName but this value is immediately overwritten on line 205. This line serves no purpose and should be removed to improve code clarity.
    $fullPackageName = $pkgName

@azure-sdk
Copy link
Collaborator

The following pipelines have been queued for testing:
java - template
java - template - tests
js - template
net - template
net - template - tests
python - template
python - template - tests
You can sign off on the approval gate to test the release stage of each pipeline.
See eng/common workflow

@azure-sdk
Copy link
Collaborator

The following pipelines have been queued for testing:
java - template
java - template - tests
js - template
net - template
net - template - tests
python - template
python - template - tests
You can sign off on the approval gate to test the release stage of each pipeline.
See eng/common workflow

@azure-sdk
Copy link
Collaborator

The following pipelines have been queued for testing:
java - template
java - template - tests
js - template
net - template
net - template - tests
python - template
python - template - tests
You can sign off on the approval gate to test the release stage of each pipeline.
See eng/common workflow

@azure-sdk
Copy link
Collaborator

The following pipelines have been queued for testing:
java - template
java - template - tests
js - template
net - template
net - template - tests
python - template
python - template - tests
You can sign off on the approval gate to test the release stage of each pipeline.
See eng/common workflow

return
}
$pkgName = $pkg.Package
$pkgGroupId = if ($pkg.PSObject.Properties.Name -contains "GroupId") { $pkg.GroupId } else { $pkg.Group }
Copy link
Member Author

Choose a reason for hiding this comment

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

package csv uses GroupId as the name while PackageInfo and work item use Group. We might want to make them consistent in the future.

Copy link
Member

Choose a reason for hiding this comment

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

I would prefer to call this GroupId for the new field if possible to make this consistent. Ideally we would also update the PackageProps to rename that to GroupId as well but that might be a little more work.

Copy link
Member Author

Choose a reason for hiding this comment

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

If that's the direction, let's make the new field called GroupId in work item. I will create an issue for tracking the future update on the PackageProps.

Copy link
Member Author

Choose a reason for hiding this comment

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

Created #13226

@azure-sdk
Copy link
Collaborator

The following pipelines have been queued for testing:
java - template
java - template - tests
js - template
net - template
net - template - tests
python - template
python - template - tests
You can sign off on the approval gate to test the release stage of each pipeline.
See eng/common workflow

@azure-sdk
Copy link
Collaborator

The following pipelines have been queued for testing:
java - template
java - template - tests
js - template
net - template
net - template - tests
python - template
python - template - tests
You can sign off on the approval gate to test the release stage of each pipeline.
See eng/common workflow

@azure-sdk
Copy link
Collaborator

The following pipelines have been queued for testing:
java - template
java - template - tests
js - template
net - template
net - template - tests
python - template
python - template - tests
You can sign off on the approval gate to test the release stage of each pipeline.
See eng/common workflow

$fields = @()
$fields += "`"Language=${lang}`""
$fields += "`"Package=${pkgName}`""
$fields += "`"GroupId=${pkgGroupId}`""
Copy link
Member

Choose a reason for hiding this comment

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

Should we only include this clause if groupId isn't null?

Copy link
Member Author

Choose a reason for hiding this comment

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

I'd rather keeping it updated to the input value even if it's null.

else {
$pkgProps = $allPkgProps.Where({
($_.Name -eq $PackageName -or $_.ArtifactName -eq $PackageName) -and
($_.PSObject.Properties.Name -contains "Group" -and $_.Group -eq $GroupId)
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
($_.PSObject.Properties.Name -contains "Group" -and $_.Group -eq $GroupId)
($_.PSObject.Properties.Name -contains "GroupId" -and $_.GroupId -eq $GroupId)

Copy link
Member

Choose a reason for hiding this comment

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

Nevermind this looks to be a packageprops/info so I guess it would still be Group.

Copy link
Member Author

Choose a reason for hiding this comment

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

The input object comes from the PackageProps type and we have to access it by Group.

Copy link
Member

@weshaggard weshaggard left a comment

Choose a reason for hiding this comment

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

Couple potential clean-ups but otherwise looks good.

@azure-sdk
Copy link
Collaborator

The following pipelines have been queued for testing:
java - template
java - template - tests
js - template
net - template
net - template - tests
python - template
python - template - tests
You can sign off on the approval gate to test the release stage of each pipeline.
See eng/common workflow

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

Labels

None yet

Projects

Development

Successfully merging this pull request may close these issues.

Update scripts of processing release plan work items to use full name for Java libraries

4 participants