You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

YouTrack工作流中如何检测自定义字段是否为Date类型?

YouTrack工作流脚本中准确判断Date类型字段的方案

在YouTrack工作流脚本里,直接通过issue.fields['字段名']获取的Date和DateTime类型字段值均为数字格式的时间戳,无法直接区分类型,且官方文档提及的dateTimeType、dateType属性返回undefined。要实现100%准确的动态判断且无需指定requirements,可以通过以下方案解决:

核心思路

利用issue对象内置的$fields元数据集合,它包含所有字段的完整类型定义信息,通过字段名称匹配对应的元数据,即可精准判断字段类型。

实现代码

function example(ctx) {
  const { issue } = ctx;
  const { fields } = issue;

  Object.entries(fields).forEach(([fieldName, fieldValue]) => {
    // 从元数据中找到对应字段的定义
    const fieldDef = issue.$fields.find(field => field.name === fieldName);
    if (fieldDef) {
      const typeName = fieldDef.type.name;
      const isPureDate = typeName === "Date";
      const isDateTime = typeName === "DateTime";
      
      // 这里可以根据判断结果执行后续逻辑
      console.log(`字段[${fieldName}]类型:${typeName}`);
      console.log(`是否为纯Date类型:${isPureDate}`);
    }
  });
}

说明

  • $fields是YouTrack工作流中issue对象的原生元数据,无需提前配置requirements即可访问
  • 通过fieldDef.type.name可以精准获取字段的类型名称,完全避免了通过时间戳数值猜测类型的误差
  • 该方案支持动态遍历所有字段,适配任意自定义或系统字段的类型判断

内容的提问来源于stack exchange,提问作者Welnyr

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.23 21:39:54