Velocity,检查自定义字段是否具有特定值

时间:2017-06-09 07:09:25

标签: jira velocity

我正在使用插件“通过电子邮件发送此问题”来自定义电子邮件通知。我需要添加一些带有标签的自定义字段。如果字段(字符串)为空,我想省略标签。

这是我的主题:

$!issue.summary#if($!mailSubject) $!mailSubject#end EU:#renderCustomField($issue, 'customfield_12752') RES:#renderCustomField($issue, 'customfield_11734') DIS:#renderCustomField($issue, 'customfield_11735')

如果自定义字段为空字符串或null,则应省略相应的标签。

示例:自定义字段1275和11735为空。

这是我的主题结果:

summary mailsubject EU: RES: xyz DIS:

这是受试者的结果:

summary mailsubject RES: xyz

2 个答案:

答案 0 :(得分:0)

从输入中你必须要检查的是,如果空的话,你不应该打印标签。为了避免你必须在标签周围放置if条件。

#if($!val){
Your value:val
}

检查您的更改您必须按照jira提供的建议,按照网址herethis进行操作。此issue

给出的另一个链接建议

因此,您的代码必须遵循这种方式来处理您的情况

$!issue.summary
            #if($!mailSubject)
                $!mailSubject
             #end
          // You can set the value to a variable and check the null condition      
            #set($eu = $!jetiFieldRenderer.renderCustomField($issue, 'customfield_12752')))
              //In in this cass if null it will go to inside
                #if($!eu)
                    EU:#renderCustomField($issue, 'customfield_12752')
                #end
               #set($res= $!jetiFieldRenderer.renderCustomField($issue, 'customfield_11734'))
                #if($res)
                    RES:#renderCustomField($issue, 'customfield_11734')
                #end
            #set($dis=$!jetiFieldRenderer.renderCustomField($issue, 'customfield_11735'))
               #if($dis)
               #end
            DIS:#renderCustomField($issue, 'customfield_11735')
         #end

答案 1 :(得分:0)

这对我有用

    #set ($ln = $customFieldManager.getCustomFieldObjectByName('CustomTextField'))
    #if($issue.getCustomFieldValue($ln))
    $issue.getCustomFieldValue($ln)
    #end

希望有帮助