有没有办法从 VSTS 中的用户故事中删除评论?

Is there a way to delete a comment from a user story in VSTS?

我可以删除用户故事和任务,没问题,但我不知道如何从 VSTS 用户故事的讨论中删除评论。

你不能。工作项历史记录是不可变的。

不,无法删除评论。但是,您总是可以 post 第二条评论说不要阅读第一条,并用红色突出显示第二条评论。这将导致所有用户忽略原始评论,就好像它已被删除一样。

编辑: 现在可以删除和编辑评论。编辑和删除可能会或可能不会出现在历史记录中。不过,我最初的回答在当时是一个很好的解决方法。

如果您足够勇敢并且可以访问底层数据库,请按照以下方式从 TFS 2017 用户故事中“删除”一个讨论项。我并没有真正删除讨论项目本身,我只是将用户将看到的实际单词从发布的原始单词替换为其他内容。我也不知道这个table在以后的TFS版本中是否还是一样的格式

假设它是 ID 为 4004 的用户故事(或任务,或其他)。下面 [WorkItemLongTexts] table 的 ID 列已编入索引并匹配正在讨论的项目的 ID .这是对与此项目 ID 相关的所有 WorkItemLongTexts 行的查询。在这里,我什至进一步缩小了范围,只查找包含您想要查找并使用 [Words] 列上的 LIKE 子句消除的一些冒犯性文本的行:

SELECT TOP (1000) *
  FROM [dbo].[WorkItemLongTexts]
  WHERE ID = 4004 AND [Words] LIKE '%<stuff you dont like>%'
  ORDER BY [AddedDate] DESC

请注意,您在此 table 中最关心的列是 [Words](这是评论)和 [AddedDate],我将其用作您要 'fix'.

然后我将攻击性文本更新为该行中的新内容,如下所示,将您要从上面的查询中修复的行的 AddedDate 粘贴到 WHERE 子句中。 AddedDate 应该是唯一的,您可以首先使用该日期时间在 AddedDate 上使用 SELECT 进行验证,以保证您只会更改一行。这是更新示例:

UPDATE [dbo].[WorkItemLongTexts] SET [Words] = '-- removed comment --'
  where [AddedDate] = '2021-05-28 16:59:37.367'

我不保证这样做不会有副作用。我不认为会有,我没有经历过。在过去的 4 年里,我已经成功完成了两次,没有任何问题......我们仍然在本地托管这个 TFS 数据库,所以我可以通过这种方式手动更新数据库。