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

时间:2016-09-07 14:08:55

标签: visual-studio azure-devops user-stories

我可以删除用户故事和任务,没问题,但我无法弄清楚如何从VSTS用户故事中的讨论中删除评论。

3 个答案:

答案 0 :(得分:12)

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

答案 1 :(得分:1)

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

答案 2 :(得分:0)

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

假设它是 ID 为 4004 的用户故事(或任务,或其他)。下面 [WorkItemLongTexts] 表的 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

请注意,此表中您最关心的列是 [Words](这是注释)和 [AddedDate],我将它们用作您要“修复”的行的索引。

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

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

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