WorkItem REST API 中是不是有 WorkItem.Save(SaveFlags.MergeAll) 的类似物?

Posted

技术标签:

【中文标题】WorkItem REST API 中是不是有 WorkItem.Save(SaveFlags.MergeAll) 的类似物?【英文标题】:Is there an analogue to WorkItem.Save(SaveFlags.MergeAll) in WorkItem REST API?WorkItem REST API 中是否有 WorkItem.Save(SaveFlags.MergeAll) 的类似物? 【发布时间】:2020-07-05 05:01:14 【问题描述】:

我们最近完全迁移了旧的胖 (Microsoft.TeamFoundation.WorkItemTracking.Client) 客户端代码,改为使用 WorkItem REST API。

问题是我们的旧代码使用 WorkItem.Save(SaveFlags.MergeAll) 调用保存了 WorkItems

WorkItem.Save(SaveFlags.MergeAll)

这对兼容的并发更改具有弹性。

虽然新代码很简单

WiClient.UpdateWorkItemAsync(updates, Id, expand: WorkItemExpand.All)

不幸的是,有时会导致

Microsoft.VisualStudio.Services.Common.VssServiceException:TF26071:此工作项在您打开后已被其他人更改。您将需要刷新它并放弃您的更改。 在 Microsoft.VisualStudio.Services.WebApi.VssHttpClientBase.d__53.MoveNext()

因为一些不相关的并发更改。

那么,是否有类似 WorkItem.Save(SaveFlags.MergeAll) 的 REST API,还是我们必须在适当的地方手动处理此类故障?

P.S.:嗯,我知道可能有 no 类似物,但是......

【问题讨论】:

bypassRules = true 没有帮助? @ShaykiAbramczyk 据我了解,它仅处理 WI 验证规则(例如字段只能具有 A、B、C 值),而不涉及任何并发冲突。 你是对的,但我认为也许值得一试...... 【参考方案1】:

很遗憾,REST API 没有这个功能。您只需尝试重新运行您的 api。

如果您确实需要此功能,您可以在以下网站提交用户语音:

https://developercommunity.visualstudio.com/content/idea/post.html?space=21

【讨论】:

以上是关于WorkItem REST API 中是不是有 WorkItem.Save(SaveFlags.MergeAll) 的类似物?的主要内容,如果未能解决你的问题,请参考以下文章

workitem.open() KeyNotFoundException TFS 2013

为啥我的 WorkItem 由于未处理的访问冲突错误而失败?

php 将'yoast'SEO数据添加到REST API w / og&twitter meta fallbacks ...

REST API 是不是有任何命名约定准则? [关闭]

QuickBlox REST 是不是具有获取消息总数的 API?

如果通过rest api发布资源,是不是必须存储资源?