The following solution was kindly provided by Stefano Gevinti.
Problem
When creating an issue, you want to initially assign it to the current user's manager for review. However, Jira lacks a predefined manager role (for example, as a project admin). To address this, you need to access the Lightweight Directory Access Protocol (LDAP).
Solution
Enter the script provided below:
create_postfunction.sil
string mgr = ldapUserAttr("manager", "(sAMAccountName=" + currentUser() + ")"); //get the current user's manager DN
string cnUser = substring(mgr, 0, indexOf(mgr,",")); //establish the cn, this is the manager user (that may depend on your setup)
string mgrUserName = ldapUserAttr("sAMAccountName", cnUser); //again, a lookup in the Active Directory to get the manager
//Note: these LDAP calls are automatically cached, so performance gets better if it is found in cache
if(userExists(mgrUserName)) { //make sure this is defined in JIRA
assignee = mgrUserName;
} else {
//fallback to project admin
assignee = projectPM(project);
}
In this script, we used the preferred ldapUserAttr routine but you can also use the deprecated ldapUserRecord routine.
When creating an issue, make sure that this post function is the final step in the call chain.