Developer's F.A.Q
Does HelpDesk have an API?
No API so far.
HelpDesk and the issue.getReporter() method
As far as a helpdesk-user may not have the permissions to create issues in Jira (and perform any other actions as well) – the Reporter of an issue created from the Portal, My Issues section or from the HelpDesk mail handler is initially the HD-superuser. Then, they can be automatically replaced with the real author (according to the settings).
But what if you have to get the real issue author right in the moment of issues been created? The issue.getReporter() method will return you the HD-superuser.
Use the following code example to get the real issue reporter:
import com.atlassian.jira.issue.Issue
import com.atlassian.jira.component.ComponentAccessor
import com.atlassian.plugin.PluginAccessor
import org.apache.log4j.Logger
import org.apache.log4j.Level
def log = Logger.getLogger("ru.helpdesk.jira.plugins.HelpdeskUtils")
log.setLevel(Level.DEBUG)
log.debug "hd test"
def issue = event.issue as Issue
Class hduclass = ComponentAccessor.getPluginAccessor().getClassLoader().findClass("ru.helpdesk.jira.plugins.HelpdeskUtils")
def hdu = ComponentAccessor.getOSGiComponentInstanceOfType(hduclass)
def author = hdu.getIssueCreator(issue)
log.debug "hd author: " + author
HelpDesk issue create screen & scripts
HelpDesk supports issue events and workflow post-functions processing. You cannot set behavior for the issue creation screen on a Customer Portal.