@PublicApi
public interface MailThreadManager
Modifier and Type | Interface and Description |
---|---|
static class |
MailThreadManager.MailAction
Indicates an action in response to an incoming email.
|
Modifier and Type | Method and Description |
---|---|
Issue |
findIssueFromMessageId(String messageId)
Looks for an issue associated with the given message by inspecting the "Message-ID" header of the message.
|
List<Issue> |
findIssuesFromMessageId(String messageId)
Looks for issues associated with the given message by inspecting the "Message-ID" header of the message.
|
Issue |
getAssociatedIssueObject(javax.mail.Message message)
Looks for an issue associated with the given message by inspecting the "In-Reply-To" header of the message.
|
List<Issue> |
getAssociatedIssueObjects(javax.mail.Message message)
Looks for issues associated with the given message by inspecting the "In-Reply-To" header of the message.
|
int |
removeAssociatedEntries(Long issueId)
Removes rows from NotificationInstance table associated with the given issue.
|
void |
storeIncomingMessageId(String messageId,
String senderAddress,
Issue issue,
MailThreadManager.MailAction action)
Remembers that given messageId has been used to either create or comment on an Issue.
|
void |
threadNotificationEmail(Email email,
Issue issue)
Thread the given email which is related to the given issue.
|
void storeIncomingMessageId(String messageId, String senderAddress, Issue issue, MailThreadManager.MailAction action)
This creates an entry in "NotificationInstance" table that will only be removed in two cases
removeAssociatedEntries(Long)
messageId
- The incoming Message-IDsenderAddress
- The senderissue
- the issue that was affected (created or commented)action
- Issue created or Issue commentedvoid threadNotificationEmail(Email email, Issue issue)
email
- the email to be sentissue
- the issue that the email is about@Nullable Issue getAssociatedIssueObject(javax.mail.Message message)
Notifications sent from JIRA have a special form that allows us to parse out the Issue ID. We also remember the incoming Message-IDs so we can tell if another recipient replies to that message, but we assume only one issue can be associated with an incoming message ID.
message
- message to analyse@Nonnull List<Issue> getAssociatedIssueObjects(javax.mail.Message message)
Notifications sent from JIRA have a special form that allows us to parse out the Issue ID, there should only be a single associated message in this case. We also remember the incoming Message-IDs so we can tell if another recipient replies to that message.
message
- message to analyse@Nullable Issue findIssueFromMessageId(String messageId)
messageId
- Message-ID to be checked@Nonnull List<Issue> findIssuesFromMessageId(String messageId)
messageId
- Message-ID to be checkedint removeAssociatedEntries(Long issueId)
issueId
- the issueCopyright © 2002-2022 Atlassian. All Rights Reserved.