我是使用Velocity的新手,但这正是我试图做的。
基于问题类型"服务请求"和自定义字段选项' a'设置描述以显示' x'
基于问题类型"服务请求"和自定义字段选项' b'设置描述以显示' y'
基于问题类型"服务请求"和自定义字段选项' c'设置描述以显示' z'
我已经使用了以下内容
if (($issue.key == '') & ($issue.type().getname == 'service request') & ($customfieldmanager().getcustomfieldoption = '11504') & ($id == 'a'))
set ($description = 'x')
elseif ($id == 'b')
set ($description = 'y')
else ($id == 'c')
set ($description = 'z')
似乎无法识别自定义字段ID或自定义字段选择ID。
任何人都会推荐这里可能出现的问题,我没有运气,尝试了几种不同的方法,并花了几天时间尝试解决这个问题。
帮助将不胜感激。
答案 0 :(得分:0)
对于逻辑" AND"使用"&&"相反"&"。请看这里:http://velocity.apache.org/engine/devel/user-guide.html#relationalandlogicaloperators
如果,否则,set应该有"#"在前面。
如果还需要"结束":https://click.apache.org/docs/velocity/user-guide.html#conditionals
在您的示例中,issue和customfieldmanager应该在速度范围内。所以JIRA(或你的JIRA插件)动作应该有适当的getIssue()和getCustomFieldManager()方法,你可以在速度中以$ issue和$ customFieldManager(或$ getIssue()和$ getCustomFieldManager())访问它们。注意案例和括号。与getname和getcustomfieldoption类似的情况。请看这里:https://stackoverflow.com/a/17069545/1537800
我不确定方法名称中的大写/小写,但更正的版本可能如下所示:
#if ($issue.key == '' && $issue.getType().getName() == 'service request' && $customFieldManager.getCustomFieldOption() == '11504' && $id == 'a')
#set ($description = 'x')
#elseif ($id == 'b')
#set ($description = 'y')
#else ($id == 'c')
#set ($description = 'z')
#end