创建 TFS 自定义签入策略:检查注释是不是包含特定字符串

Posted

技术标签:

【中文标题】创建 TFS 自定义签入策略:检查注释是不是包含特定字符串【英文标题】:Creating TFS Custom Check-in Policy: Check Comment if it contains certain string创建 TFS 自定义签入策略:检查注释是否包含特定字符串 【发布时间】:2020-02-19 02:19:45 【问题描述】:

已关注https://blog.devart.com/creating-tfs-custom-check-in-policy-part-1.html

我已添加注册表项和值,但无法看到正在应用的门控策略。

我还启用了门控签入策略,允许在 TFS 上构建每个签入。

我的假设是 TFS 应该在显示门控签入弹出窗口之前阻止您(根据当前正在实施的策略显示警告/错误)。

任何帮助将不胜感激。

【问题讨论】:

嗨,你好,从你的文章中你引用了 reg 文件添加到 Visual Studio (v11) 版本 2012 的注册表中,如果你希望它适用于版本 2015 使用 14。请参阅此站点以获取 Visual Studio版本号en.wikipedia.org/wiki/Microsoft_Visual_Studio#History。希望这会有所帮助。 我已将注册表项添加到 v14,因为该文件夹存在于注册表中。我想知道是否需要重新启动或其他什么。 最有可能是 Studio 的,但如果不起作用,请确定尝试计算机。您可能还想查看 Jesse 的帖子jessehouwing.net/…。他似乎使它适用于 VS 2017 【参考方案1】:

是的,入住政策是如下图所示的警告。仅当存在未决更改且不符合策略时。 Visual Studio 将生成一个名为 Policy Warnings 的行:

不满足以下入住政策:

你必须.......

如果您忽略警告并坚持签入,您将失败并且没有签入。

只有在您满足签入政策后,才会弹出门控签入对话框并要求您进行构建。一旦构建通过验证,您的本地待处理更改最终将被签入。


如果您的自定义签入策略不起作用,请确保它已添加到源代码管理设置中并已启用。

希望清楚。

【讨论】:

我不认为对评论进行了检查。从技术上讲,我想要的是以字符串开头的评论(例如 USXXXXX:插入评论)。因此,如果用户只输入评论而不是相关的字母数字文本,我希望出现错误。 您好,根据您的描述,您真正想要的是预填充待更改中的评论部分?没有内置的方法可以做到这一点。而且我不认为你可以按照你想要的方式做到这一点。签入策略是单向的,因为您只能读取数据并进行验证,但不能更新 Pending Changes 对话框中的内容。您不应该直接与 Visual Studio 的挂起更改对话框进行交互。但如果你只是想确保签入评论是强制性的,签入期间并不难实现。 我不想自动填写 cmets 字段,但就像您说的那样,而是验证该字段是否与我定义的规则集匹配。我已经添加了您上面所说的规则并添加了注册表项。我想可能有一个外部因素在起作用,不允许正确设置策略。 是的,您可能需要调试您的代码以及为什么它不起作用。此外,如果您只是想确保有签入评论,并且由于您仍在使用 Visual Studio 2015。您也可以尝试使用电动工具,并且有一个 changeset comment policy ,用于详情看这个博客:mdaslam.wordpress.com/2015/08/12/…

以上是关于创建 TFS 自定义签入策略:检查注释是不是包含特定字符串的主要内容,如果未能解决你的问题,请参考以下文章

在TFS签入后自定义事件/操作

TFS 策略 - 当代码不符合自定义准则时阻止签入

TFS 2015 - 自定义路径策略实施?

是否有自动为您格式化代码的 TFS 签入策略?

TFS2010:如果存在代码分析警告,则阻止签入

重新拾取:TFS2017钉钉机器人源代码签入通知