VSTS API を使用してアイテムのすべての親リンクを削除し、それらの親を関連アイテムとして設定しようとしています。
https://www.visualstudio.com/en-us/docs/integrate/api/wit/work-items#update-work-items
リレーションを削除するために必要な「パス」がどのように機能するかを完全には理解していません。一貫性のない結果が得られ、機能する場合と機能しない場合があります (したがって、明らかに間違っています)。
私は、単にAPI によって返された順序であると仮定しています。たとえば、次のようになります。
- インデックス[0] アイテム
- 索引[1]項目
Index[2] 項目 <- これは削除したい項目なので、index 2 を使用します
public void RemoveParentLink(int pathIndex, int itemToUpdate, string link) { JsonPatchDocument patchDocument = new JsonPatchDocument(); patchDocument.Add( new JsonPatchOperation() { Operation = Operation.Remove, Path = $"/relations/{pathIndex}" } ); WorkItem result = witClient.UpdateWorkItemAsync(patchDocument, itemToUpdate).Result; }
ドキュメントには、パスが次のように記載されています。
追加、置換、削除、またはテストする値へのパス。特定の関係については、「関係/ID」を使用します。すべての関係について、「/relations/-」を使用します。
もちろん、インデックスはIDではありませんが、関係/IDを正確に取得するにはどうすればよいですか?