de.jplanets.jira.listener
Class SimpleMailToCustomFieldListener

java.lang.Object
  extended by de.jplanets.jira.listener.SimpleMailToCustomFieldListener
All Implemented Interfaces:
com.atlassian.jira.event.issue.IssueEventListener, com.atlassian.jira.event.JiraListener, java.util.EventListener

public class SimpleMailToCustomFieldListener
extends java.lang.Object
implements com.atlassian.jira.event.JiraListener, com.atlassian.jira.event.issue.IssueEventListener

This listener queues an email to the address given in the specified custom field to the mail queue.
The custom field has to be a field returning a String value. If the custom field value is null or empty, nothing will be queued. If the issue type is not associated to the custom field nothing will be queued. This listener will queue on each event.
The listener does a rough check if the custom field value is a vaild email address (some kind of x@y.z (found a regexp at http://www.regular-expressions.info/email.html)). If not, nothing will be queued.
Look into the logs if you miss mails.

Author:
alexxismachine, Ulrich David

Field Summary
static java.lang.String PARAM_CUSTOM_FIELD_ID
          The parameter for the custom field id.
 
Constructor Summary
SimpleMailToCustomFieldListener()
          Default constructor needed to edit the parameters.
SimpleMailToCustomFieldListener(com.atlassian.jira.issue.CustomFieldManager customFieldManager, com.atlassian.jira.mail.IssueMailQueueItemFactory issueMailQueueItemFactory)
          The constructor used by plexus.
 
Method Summary
 void customEvent(com.atlassian.jira.event.issue.IssueEvent issueevent)
           
 java.lang.String[] getAcceptedParams()
          Returns the possible parameters.
 java.lang.String getDescription()
           
 void init(java.util.Map map)
           
 boolean isInternal()
           
 void issueAssigned(com.atlassian.jira.event.issue.IssueEvent issueevent)
           
 void issueClosed(com.atlassian.jira.event.issue.IssueEvent issueevent)
           
 void issueCommented(com.atlassian.jira.event.issue.IssueEvent issueevent)
           
 void issueCreated(com.atlassian.jira.event.issue.IssueEvent issueevent)
           
 void issueDeleted(com.atlassian.jira.event.issue.IssueEvent issueevent)
           
 void issueGenericEvent(com.atlassian.jira.event.issue.IssueEvent issueevent)
           
 void issueMoved(com.atlassian.jira.event.issue.IssueEvent issueevent)
           
 void issueReopened(com.atlassian.jira.event.issue.IssueEvent issueevent)
           
 void issueResolved(com.atlassian.jira.event.issue.IssueEvent issueevent)
           
 void issueStarted(com.atlassian.jira.event.issue.IssueEvent issueevent)
           
 void issueStopped(com.atlassian.jira.event.issue.IssueEvent issueevent)
           
 void issueUpdated(com.atlassian.jira.event.issue.IssueEvent issueevent)
           
 void issueWorkLogged(com.atlassian.jira.event.issue.IssueEvent issueevent)
           
 boolean isUnique()
           
 void workflowEvent(com.atlassian.jira.event.issue.IssueEvent issueevent)
          Queue each event to be mailed if the value of the configured custom field seems to be an email address.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

PARAM_CUSTOM_FIELD_ID

public static final java.lang.String PARAM_CUSTOM_FIELD_ID
The parameter for the custom field id. Must be a long value.

See Also:
Constant Field Values
Constructor Detail

SimpleMailToCustomFieldListener

public SimpleMailToCustomFieldListener()
Default constructor needed to edit the parameters.


SimpleMailToCustomFieldListener

public SimpleMailToCustomFieldListener(com.atlassian.jira.issue.CustomFieldManager customFieldManager,
                                       com.atlassian.jira.mail.IssueMailQueueItemFactory issueMailQueueItemFactory)
The constructor used by plexus.

Parameters:
customFieldManager - inject that field.
issueMailQueueItemFactory - inject that field.
Method Detail

getAcceptedParams

public java.lang.String[] getAcceptedParams()
Returns the possible parameters.

Specified by:
getAcceptedParams in interface com.atlassian.jira.event.JiraListener
See Also:
JiraListener.getAcceptedParams()

getDescription

public java.lang.String getDescription()
Specified by:
getDescription in interface com.atlassian.jira.event.JiraListener
See Also:
JiraListener.getDescription()

init

public void init(java.util.Map map)
Specified by:
init in interface com.atlassian.jira.event.JiraListener
See Also:
JiraListener.init(java.util.Map)

isInternal

public boolean isInternal()
Specified by:
isInternal in interface com.atlassian.jira.event.JiraListener
See Also:
JiraListener.isInternal()

isUnique

public boolean isUnique()
Specified by:
isUnique in interface com.atlassian.jira.event.JiraListener
See Also:
JiraListener.isUnique()

customEvent

public void customEvent(com.atlassian.jira.event.issue.IssueEvent issueevent)
Specified by:
customEvent in interface com.atlassian.jira.event.issue.IssueEventListener
See Also:
IssueEventListener.customEvent(com.atlassian.jira.event.issue.IssueEvent)

issueAssigned

public void issueAssigned(com.atlassian.jira.event.issue.IssueEvent issueevent)
Specified by:
issueAssigned in interface com.atlassian.jira.event.issue.IssueEventListener
See Also:
IssueEventListener.issueAssigned(com.atlassian.jira.event.issue.IssueEvent)

issueClosed

public void issueClosed(com.atlassian.jira.event.issue.IssueEvent issueevent)
Specified by:
issueClosed in interface com.atlassian.jira.event.issue.IssueEventListener
See Also:
IssueEventListener.issueClosed(com.atlassian.jira.event.issue.IssueEvent)

issueCommented

public void issueCommented(com.atlassian.jira.event.issue.IssueEvent issueevent)
Specified by:
issueCommented in interface com.atlassian.jira.event.issue.IssueEventListener
See Also:
IssueEventListener.issueCommented(com.atlassian.jira.event.issue.IssueEvent)

issueCreated

public void issueCreated(com.atlassian.jira.event.issue.IssueEvent issueevent)
Specified by:
issueCreated in interface com.atlassian.jira.event.issue.IssueEventListener
See Also:
IssueEventListener.issueCreated(com.atlassian.jira.event.issue.IssueEvent)

issueDeleted

public void issueDeleted(com.atlassian.jira.event.issue.IssueEvent issueevent)
Specified by:
issueDeleted in interface com.atlassian.jira.event.issue.IssueEventListener
See Also:
IssueEventListener.issueDeleted(com.atlassian.jira.event.issue.IssueEvent)

issueGenericEvent

public void issueGenericEvent(com.atlassian.jira.event.issue.IssueEvent issueevent)
Specified by:
issueGenericEvent in interface com.atlassian.jira.event.issue.IssueEventListener
See Also:
IssueEventListener.issueGenericEvent(com.atlassian.jira.event.issue.IssueEvent)

issueMoved

public void issueMoved(com.atlassian.jira.event.issue.IssueEvent issueevent)
Specified by:
issueMoved in interface com.atlassian.jira.event.issue.IssueEventListener
See Also:
IssueEventListener.issueMoved(com.atlassian.jira.event.issue.IssueEvent)

issueReopened

public void issueReopened(com.atlassian.jira.event.issue.IssueEvent issueevent)
Specified by:
issueReopened in interface com.atlassian.jira.event.issue.IssueEventListener
See Also:
IssueEventListener.issueReopened(com.atlassian.jira.event.issue.IssueEvent)

issueResolved

public void issueResolved(com.atlassian.jira.event.issue.IssueEvent issueevent)
Specified by:
issueResolved in interface com.atlassian.jira.event.issue.IssueEventListener
See Also:
IssueEventListener.issueResolved(com.atlassian.jira.event.issue.IssueEvent)

issueStarted

public void issueStarted(com.atlassian.jira.event.issue.IssueEvent issueevent)
Specified by:
issueStarted in interface com.atlassian.jira.event.issue.IssueEventListener
See Also:
IssueEventListener.issueStarted(com.atlassian.jira.event.issue.IssueEvent)

issueStopped

public void issueStopped(com.atlassian.jira.event.issue.IssueEvent issueevent)
Specified by:
issueStopped in interface com.atlassian.jira.event.issue.IssueEventListener
See Also:
IssueEventListener.issueStopped(com.atlassian.jira.event.issue.IssueEvent)

issueUpdated

public void issueUpdated(com.atlassian.jira.event.issue.IssueEvent issueevent)
Specified by:
issueUpdated in interface com.atlassian.jira.event.issue.IssueEventListener
See Also:
IssueEventListener.issueUpdated(com.atlassian.jira.event.issue.IssueEvent)

issueWorkLogged

public void issueWorkLogged(com.atlassian.jira.event.issue.IssueEvent issueevent)
Specified by:
issueWorkLogged in interface com.atlassian.jira.event.issue.IssueEventListener
See Also:
IssueEventListener.issueWorkLogged(com.atlassian.jira.event.issue.IssueEvent)

workflowEvent

public void workflowEvent(com.atlassian.jira.event.issue.IssueEvent issueevent)
Queue each event to be mailed if the value of the configured custom field seems to be an email address.

Specified by:
workflowEvent in interface com.atlassian.jira.event.issue.IssueEventListener
See Also:
IssueEventListener.workflowEvent(com.atlassian.jira.event.issue.IssueEvent)


Copyright © 2009 alexxismachine. All Rights Reserved.