Azure DevOps中如何用@Today匹配标签实现卡片样式规则?
解决Azure DevOps迭代样式规则中@Today匹配澳式日期标签不生效的问题
首先,我完全理解你遇到的困扰——照着官方文档给的四种日期格式试了个遍,样式规则还是没触发,确实挺闹心的。结合我自己踩过的坑和对Azure DevOps样式规则的了解,咱们一步步来排查解决:
1. 先确认项目区域设置和日期格式完全对齐
Azure DevOps里的@Today变量是严格遵循项目级区域设置的,不是你本地电脑的系统设置。你得先检查这一步:
- 进入项目设置 → 常规 → 区域设置
- 确保区域选的是「澳大利亚」,日期格式设为
dd/MM/yy(如果文档里的格式包含四位年份,也可以选dd/MM/yyyy) - 如果之前改过区域设置,别着急测试,等个几分钟让系统同步完成再试
2. 匹配系统标准的日期标签格式
官方提到的四种格式(09/11/2020、9/11/2020、11/09/2020、11/9/2020)是日/月带不带前导零的变体,但这里有个容易忽略的点:
@Today会自动转换成项目区域设置对应的标准格式,比如如果项目设的是dd/MM/yyyy,那@Today对应的就是09/11/2020,而不是不带前导零的9/11/2020- 你可以先看一下Azure DevOps里工作项的「创建日期」或「到期日期」字段的显示格式,完全照搬这个格式来做标签(比如系统显示
09/11/20,那标签就用09/11/20,别用四位年份的版本)
3. 检查样式规则的配置细节
有时候问题出在规则本身的设置上:
- 试试把「Tags Contains」改成「Tags Equals」——毕竟你要匹配的是完整的日期标签,不是包含该字符串的标签,精准匹配反而更靠谱
- 确认规则的应用范围:是不是选对了迭代路径、工作项类型?比如规则只应用在「用户故事」上,但你的卡片是「任务」,那肯定不会生效
- 检查样式设置:是不是把背景色设成了红色?别不小心只改了文字颜色,有时候颜色设置错了会看起来没生效
4. 排除时区和缓存问题
澳大利亚有多个时区,Azure DevOps的@Today是按项目设置的时区计算的,不是你本地时区:
- 进入项目设置 → 常规 → 时区,确认时区和你本地一致(比如「澳大利亚东部标准时间」)
- 刷新浏览器页面,或者清一下浏览器缓存再打开Azure DevOps——旧的样式缓存有时候会导致规则不生效
5. 快速验证的测试方法
要是还是摸不准问题在哪,你可以做个简单测试:
- 新建一个工作项,标签用今天的日期(完全照搬系统日期字段的显示格式)
- 编辑样式规则,把条件暂时改成「Tags Equals [你刚才输入的日期标签]」
- 保存规则后刷新页面,看卡片是否变红。如果变红,说明问题出在
@Today的格式匹配上,调整项目区域设置或标签格式就行;如果还是不变红,那大概率是规则的应用范围或样式设置有问题
内容的提问来源于stack exchange,提问作者Benjamin
相关产品推荐
相关产品推荐

