JIRA月度自动化克隆任务:日期匹配失败问题求助
JIRA月度自动化规则可靠日期匹配方案
核心改进思路
别再用日期字符串相等的判断逻辑了,改用计算起始日期与当前日期的天数差值做整数匹配。这种方式不受时区转换时的字符串格式细微差异影响,稳定性更强。
JIRA自动化中可以用ChronoUnit.DAYS.between()方法直接计算两个日期的天数差,同时统一时区彻底规避偏差。
四个标签的匹配条件表达式
针对每个标签的时间要求,直接使用以下高级条件(注意替换Start Date为你的自定义字段键,字段键可在JIRA字段设置中查看,用字段键比字段名更可靠):
标签A(起始日期为30天前)
{{ChronoUnit.DAYS.between(issue.Start Date.setTimeZone("America/Los_Angeles").toInstant(), now.setTimeZone("America/Los_Angeles").toInstant())}} == 30
标签B(起始日期为60天前)
{{ChronoUnit.DAYS.between(issue.Start Date.setTimeZone("America/Los_Angeles").toInstant(), now.setTimeZone("America/Los_Angeles").toInstant())}} == 60
标签C(起始日期为180天前)
{{ChronoUnit.DAYS.between(issue.Start Date.setTimeZone("America/Los_Angeles").toInstant(), now.setTimeZone("America/Los_Angeles").toInstant())}} == 180
标签D(起始日期为365天前)
{{ChronoUnit.DAYS.between(issue.Start Date.setTimeZone("America/Los_Angeles").toInstant(), now.setTimeZone("America/Los_Angeles").toInstant())}} == 365
克隆与原字段更新配置
- 克隆需求:在自动化规则的操作中选择「克隆问题」,在「字段映射」里配置需要复制的字段,或者直接设置固定值(比如将克隆后的需求状态设为「待处理」)。
- 更新原需求起始日期:添加「编辑问题」操作,将「Start Date」字段设置为
{{now.setTimeZone("America/Los_Angeles").jiraDate}},确保时区与匹配逻辑一致。
关键注意事项
- 确认「Start Date」的字段键正确,改用
customfield_XXXX格式的字段键(可在JIRA管理后台的「自定义字段」中查询),避免因字段名空格或别名导致表达式失效。 - 规则触发时间保持每月指定日期凌晨1点(洛杉矶时区),避免跨天导致天数差计算偏差。
- 测试时可手动触发规则,验证匹配逻辑、克隆字段填充、原字段更新是否符合预期。
内容的提问来源于stack exchange,提问作者Jason Weddell
相关产品推荐
相关产品推荐

