Hi,
if someone was wondering how do get values from AD with Scriptrunner, f.e. get manager of Reporter, here you have:
1. You must configure connection with your AD in Scriptrunner - tab Resources.
2. Create Custom Field to display value (in my script is "Przełożony" field)
3. Add script in Listeners:
import com.atlassian.jira.issue.Issue
import com.atlassian.jira.issue.ModifiedValue
import com.atlassian.jira.issue.util.DefaultIssueChangeHolder
import com.atlassian.jira.component.ComponentAccessor
import com.onresolve.scriptrunner.ldap.LdapUtil
import org.springframework.ldap.core.AttributesMapper
import javax.naming.directory.SearchControls
import javax.naming.directory.Attributes
import com.atlassian.jira.issue.CustomFieldManager
import com.atlassian.jira.component.ComponentAccessor
import com.atlassian.jira.issue.ModifiedValue
def Reporter = event.issue.reporter?.displayName
def cf_Manager = LdapUtil.withTemplate('Picker from LDAP') { template ->
template.search("", "cn=$Reporter", SearchControls.SUBTREE_SCOPE, { Attributes attributes ->
attributes.get('manager').get()
} as AttributesMapper<String>)
}
def issue = event.issue as Issue
def customFieldManager = ComponentAccessor.getCustomFieldManager()
def cf_Przelozony = customFieldManager.getCustomFieldObjects(event.issue).find {it.name == "Przełożony"}
def changeHolder = new DefaultIssueChangeHolder()
cf_Przelozony.updateValue(null, issue, new ModifiedValue(issue.getCustomFieldValue(cf_Przelozony), cf_Manager.toString()),changeHolder)