如何在YouTrack中配置自定义计算字段:工单创建天数统计
实现“工单创建至今的天数”自定义计算字段
一、优先用低代码方式实现(不用写JS)
多数主流工单系统(比如ServiceNow、Zendesk)都自带日期计算能力,不用写代码就能搞定:
- 进入系统的自定义字段设置页面,新建一个「计算/公式类型」的字段,命名为“工单创建至今的天数”
- 在公式配置里,选当前日期函数(一般叫
Now()或「当前日期」)减去工单创建日期字段(比如Created Date),然后把结果类型设为「天数」 - 保存后系统会自动实时计算,比如2020-12-17减2020-12-12会直接出5天的结果
如果用工作流构造器的话,这么配置:
- 建一个触发条件为「工单创建/更新时」的工作流
- 加一个「更新字段」的动作,把“工单创建至今的天数”的值设为
当前日期 - 工单创建日期的天数差 - 开自动触发,保证每次工单变动或查看时字段值都是最新的
二、低代码不行再用JavaScript实现
要是系统内置功能搞不定,就写JS脚本:
- 找到系统的自定义脚本/工作流脚本入口(比如ServiceNow的Business Rule,或者其他系统的自定义动作脚本)
- 核心逻辑代码参考:
// 获取工单创建日期(替换成你系统里的创建日期字段名) const createdDate = new Date(current.created_at); // 获取当前日期 const currentDate = new Date(); // 毫秒转天数,取整数 const timeDiff = currentDate - createdDate; const daysDiff = Math.floor(timeDiff / (1000 * 60 * 60 * 24)); // 赋值给自定义字段(替换成你的字段名) current.days_since_created = daysDiff;
- 设置脚本触发时机:选「工单加载时」或「工单更新时」,确保打开工单就自动更新天数
- 保存后测试,核对计算结果是否正确
之前操作失败的常见排查点
- 别搞混字段:确认用的是「工单创建日期」,不是更新日期
- 日期格式要兼容:有些系统日期是字符串,得先转成Date对象再计算
- 工作流触发条件不对:要确保工作流在工单创建、查看或更新时都能触发
内容的提问来源于stack exchange,提问作者Виктор Казаков
相关产品推荐
相关产品推荐

