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

Jira Smart Value条件逻辑语法问题求助

Jira Smart Value条件逻辑问题排查与修复

问题描述

当前使用的Jira Smart Value代码存在两处异常:

  1. 仅前三个if条件生效,第四个判断customfield_10393.value.isBlank的分支为真时,无法输出预期的_none_
  2. 尝试使用官方文档的{{if(smartValue, "value if true", "value if false")}}语法时,直接在参数中写字段路径会报错,切换isEmpty/isNotEmpty也无法实现预期逻辑

原始Device Name代码:

Device Name: {{#if(not(lookupObjects.Device Name.isEmpty))}}*{{lookupObjects.Device Name}}* > {{/}}{{#if(lookupObjects.Device Name.isEmpty)}}_none_ > {{/}}{{#if(not(issue.customfield_10393.value.isEmpty))}}{{customfield_10393}}{{#if(issue.customfield_10393.value.isBlank)}}_none_{{/}}{{/}}

问题场景:当第一/第二个if为真、第三个if为假、第四个if为真时,输出结果为Device Name: someValue > **,既未在第三个if为真时用**包裹对应值,也未在第四个if为真时输出_none_。

尝试过的错误Asset Tag写法:

Asset Tag: {{#if(lookupObjects.Asset Tag.isNotEmpty, "lookupObjects.Asset Tag.value", "_none_")}}{{/}} > {{#if(issue.customfield_11607.isNotEmpty, "customfield_11607.value", "_none_")}}{{/}}

修复方案

1. Device Name代码修复

问题根源在于嵌套逻辑混乱、字段引用不规范,调整后代码:

Device Name: 
{{#if(not(lookupObjects.Device Name.isEmpty))}}*{{lookupObjects.Device Name}}* > {{/}}
{{#if(lookupObjects.Device Name.isEmpty)}}_none_ > {{/}}
{{#if(issue.customfield_10393.value)}}**{{issue.customfield_10393.value}}**{{/}}
{{#if(not(issue.customfield_10393.value))}}_none_{{/}}

核心调整点:

  • 拆分嵌套if为独立判断,避免逻辑层级混乱
  • 直接用issue.customfield_10393.value作为判断条件(Jira Smart Value中,非空/非空白值会被视为true)
  • 明确第三个if为真时用**包裹字段值,符合预期格式
  • 当字段值为空/空白时,独立分支触发输出_none_

2. Asset Tag代码修复

官方的{{if(smartValue, trueVal, falseVal)}}是无块级语法,不需要{{/}}闭合,且字段值不能用引号包裹(否则会被当作纯文本输出),修复后代码:

Asset Tag: {{if(lookupObjects.Asset Tag.isNotEmpty, lookupObjects.Asset Tag.value, "_none_")}} > {{if(issue.customfield_11607.isNotEmpty, issue.customfield_11607.value, "_none_")}}

核心调整点:

  • 去掉块级if的#和闭合标签{{/}},遵循无块级if的语法规则
  • 直接传入字段引用作为true分支值,不添加引号
  • 用isNotEmpty判断非空状态,为空时输出_none_

关键注意事项

  • Jira Smart Value分两种if语法:带#的块级if需要{{/}}闭合,不带#的简洁if直接使用,无需闭合
  • 字段引用不能放在字符串引号内,否则会被当作纯文本输出,而非解析字段值
  • isEmpty检测是否为null/空字符串,isBlank检测是否为null/空/全空格,按需选择判断条件
  • 避免过度嵌套if逻辑,拆分后更易维护和排查问题

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.18 10:33:23