vsteam
vsteam copied to clipboard
Allow to Update-VSTeamWorkItem to add relations with other work items
PR Summary
This PR is related to #518 Adding the below changes around the Update-VSTeamWorkItem to enable adding relations to another workitems. This could be achived using:
- Update-VSTeamWorkItem: allows mix field changes and relations changes
- *-VSTeamWorkItemLink: allow a simplified way to manage relations of a work item
Proposed added/modified cmdlets:
- Update-VSTeamWorkItem: add a -Relations parameter
-
Get-VSTeamWorkItemRelationTypes: list Relations types. Paramerters:
- Usage: All|resourceLink|workItemLink. Default workItemLink
-
New-VSTeamWorkItemRelation: Helper cmdlet that creates an in-memory object to facilitate building the -Relations parameter in Update-VSTeamWorkIte. Parameters:
- Id Work item to be modified
- RelationType: Values got from dynamic parameter
- RelatedWorkItemId Related work item id
- Operation Add|Remove|Replace
-
Add-VSTeamWorkItemLink Parameters:
- Id workitem to be modified
- RelationType: Values get from dynamic parameter
- RelatedWorkItemId Related work item id
-
Get-VSTeamWorkItemLink Parameters
- Id workitem to be modified
- RelationType Optional. If not specified, return all relations in -Id
-
Remove-VSTeamWorkItemLink Parameters
- Id workitem to be modified
- RelatedWorkItemId Related work item id
All the above cmdlets will work internally with a JsonPatchDocument or compatible object. Also, below cmdlets will return this object/collection of objects respectively. Using this aproach, the -Relations paramter in the Update-VSTeamWorkItem can be built with the help of New-VSTeamWorkItemRelation or directly as the example at the very beginning of this thread.
- New-VSTeamWorkItemRelation
- Get-VSTeamWorkItemLink
PR Checklist
- [ ] Write Help
- [ ] Write Unit Test
- [ ] Update CHANGELOG.md
I guess you are still in development, correct?
I guess you are still in development, correct?
Yes, this is the first of multiple commits. Once it's ready I'll change the PR from draft
Yes. I didn't see the draft part. 😎
I will review it as soon as I can make time. Thank you for the contribution already!
Merged Pull Request from Miguel Nieto the following:
- Feat: added work ittems relationship management with the below new/modified CmdLets
- Add-VSTeamWorkItemRelation: Adds a relationship between different workitems
- Get-VSTeamWorkItemRelation: Retrieves a list of relations from a single work item
- Get-VSTeamWorkItemRelationType: Returns a list of the different relation types between work items and links inside the same work item
- New-VSTeamWorkItemRelation: Helper cmdlet that creates an in-memory Relation object to facilitate relationship management
- Remove-VSTeamWorkItemRelation: Removes the relation from one or more workitems and one or more related workitems
- Switch-VSTeamWorkItemParent: Replaces the parent of one or more work items
- Update-VSTeamWorkItem: Added -Relations parameter
I removed this from the changelog. I exclusively changed to GH native way of doing a changelog. So CHANGELOG.md is not used anymore, but rather but into the squash message when merged to trunk.
@SebastianSchuetze Do will finally merge this PR? Do you need some clarification or changes from my side before accepting the PR?