Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Allow to Update-VSTeamWorkItem to add relations with other work items #535

Open
wants to merge 20 commits into
base: trunk
Choose a base branch
from

Conversation

mnieto
Copy link
Contributor

@mnieto mnieto commented May 29, 2023

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

@SebastianSchuetze
Copy link
Collaborator

I guess you are still in development, correct?

@mnieto
Copy link
Contributor Author

mnieto commented May 30, 2023

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

@SebastianSchuetze
Copy link
Collaborator

SebastianSchuetze commented May 30, 2023

Yes. I didn't see the draft part. 😎

@mnieto mnieto marked this pull request as ready for review September 17, 2023 17:39
@SebastianSchuetze
Copy link
Collaborator

I will review it as soon as I can make time. Thank you for the contribution already!

@SebastianSchuetze SebastianSchuetze self-requested a review November 5, 2023 12:58
@SebastianSchuetze
Copy link
Collaborator

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.

@mnieto
Copy link
Contributor Author

mnieto commented Aug 5, 2024

@SebastianSchuetze Do will finally merge this PR? Do you need some clarification or changes from my side before accepting the PR?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants