Skip to end of banner
Go to start of banner

Incoming Mail Processing Functions

Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 10 Next »

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

IncomingMail

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

string name;
string value;

IncomingEmailAttachment

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

Example usage

Standard processing:

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);
}

  • No labels