验证
select jiraaccount,displayname from mcigeneralname where jiraaccount = ?
搜索sql
select jiraaccount,displayname from mcigeneralname
where lower(jiraaccount) like lower(?) || '%'
配置脚本:
import com.atlassian.jira.issue.Issue
import com.atlassian.jira.issue.customfields.option.Option
import com.onresolve.scriptrunner.canned.jira.fields.editable.database.SqlWithParameters
import com.atlassian.jira.component.ComponentAccessor;
def userinfousername = ComponentAccessor.getJiraAuthenticationContext().getLoggedInUser().getUsername()
String userinfo = userinfousername
getSearchSql = { String inputValue, Issue issue, String originalValue ->
new SqlWithParameters(
"select jiraaccount,displayname from mcigeneralname where jiraaccount like ? || '%' and jiraaccount = ?",
[inputValue,userinfo]
)
}
getValidationSql = { String id, Issue issue,String originalValue ->
new SqlWithParameters("""
select jiraaccount,displayname from mcigeneralname
where displayname = ? and jiraaccount = ?
"""
, [id, userinfo])
}
当 userinfo 变量设置为字符串时,它可以工作,但是当当前用户传递给脚本时,它不起作用
例如 userinfo = 'm.moeini'
如何传递当前用户的配置脚本?
我的第一个建议是不要直接访问数据库,因为可能会导致不同的错误,而且在具有不同节点的 DC 实例中,获得的信息并不总是 100% 真实。 为了能够提供帮助,您想实现什么目标?
谢谢,伊万。