Class EmailHeaderBuilders.MessageIdBuilder

java.lang.Object
com.atlassian.jira.mail.threading.EmailHeaderBuilders.MessageIdBuilder
Enclosing class:
EmailHeaderBuilders

public static class EmailHeaderBuilders.MessageIdBuilder extends Object
Responsible for building the Message-Id string values to be included in JIRA's issue email notifications.

This has to be globally unique and can only contain certain ASCII characters. Used to distinguish between different emails. sequence and System.currentTimeMillis() are used to make the Message-ID unique.

JIRA.${issue-id}.${created-date-millis}.${sequence-id}.${current-time-millis}@${host}

These message-ids are parsed by MailThreadManager.getAssociatedIssueObject(javax.mail.Message)

  • Constructor Details

    • MessageIdBuilder

      public MessageIdBuilder(Issue issue)
  • Method Details

    • setSequence

      public EmailHeaderBuilders.MessageIdBuilder setSequence(int sequence)
    • setHostName

      public EmailHeaderBuilders.MessageIdBuilder setHostName(String hostName)
    • setDropMillis

      public EmailHeaderBuilders.MessageIdBuilder setDropMillis(boolean dropMillis)
    • build

      public String build()
      sequence and hostname are required for this method to work, since they are needed for the returned String to be valid as a Message-ID for JIRA's purposes. It is important that the resulting String is NOT wrapped in angle brackets, even though email spec requires this, since this is the responsibility of the caller (in contrast to InReplyToHeaderBuilder).
      Returns:
      a String representation of a Message-ID to be used as an email header value.