Perform searches with LDAP
The following solution was kindly provided by Stefano Gevinti.
Problem
When creating an issue, you want to first assign it to the manager of the current user, to enable them to review it. However, the manager role is not natively defined in Jira (for example, as a project admin). This makes it necessary to access the Lightweight Directory Access Protocol (LDAP).
Solution
Enter the below script.
This workflow action (post function) should be the last in the call chain when creating an issue.
create_postfunction.sil
string mgr = ldapUserRecord("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 = ldapUserRecord("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);
}
Now configure the LDAP.
This solution assumes that the Windows account name is the same one used to access Jira. This depends on the AD setup.
Table of Contents
Peacock