Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
We've encountered an issue exporting this macro. Please try exporting this page again later.
Child pages (Children Display)
depth1
allChildrentrue
stylesortAndReverse
excerptTypesimple
first0
sortAndReverse

As opposed to the server routines, we use here full structures because we have access to the whole email.

IncomingMail

Code Block
string subject;
string body;
string htmlBody;
string [] to;
string [] cc;
string [] from;
string [] replyTo;
IncomingEmailHeader [] headers;
IncomingEmailAttachment [] attachments;
string contentType;
date sentAt;
date receivedAt;
int size;
IncomingMail [] embeddedMessages;

IncomingEmailHeader

Code Block
string name;
string value;

IncomingEmailAttachment

Code Block
string fileName;
string contentType;
int size;
byte [] content;

Example usage

Standard processing:

Code Block
IncomingEmail mail = getIncomingEmail();

string issueKey = mail.subject;
if(issueExists(issueKey)) {
    // add comment

    string commentText = mail.body;
    string userCommenting = getUserByEmail(mail.from).key;
    
    addComment(issueKey, userCommenting, commentText);
    attachAllFilesFromEmail(issueKey);
    
} else {
    // create issue
    
    string summary = mail.subject;
    string description = mail.body;
    
    string [] fields = {};
    fields += {"reporter", getUserByEmail(mail.from).key};
    
    createIssue("SCRUM", "", "Task", summary , "Minor", description, {}, "", "", fields);
}