Email This Issue provides two types of API components that makes it possible to integrate it with other addons or external services.
Table of Contents |
---|
REST API
Send emails
The REST API is a RESTFul service method that will send emails.
...
Content-Type:application/json
...
What Jira REST API offers
See details in the documentation
...
- 200: if email is composed and sent successfully
- 500: if an error occured while composing and sending the email
Request Body Json
Request Body must be a well formatted Json object with the following structure.
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
{
"issue":"BD-1",
"to":["joe@foocompany.com","admin","g:jira-administrators","r:10000"],
"cc":["mary@anothercompany.com", "o:lead", "o:watchers"],
"bcc":[],
"emailSubject":"This is the email's subject as if the user entered it",
"emailBody":"This is the email body",
"addAttachments":"ALL",
"emailTemplate":"Acknowledge Issue",
"emailOptions":
{
"addToWatchers":"true",
"replyToMe":"true",
"mailAsMe":"false",
"addComments":"true",
"suppressCommentEvent":"true",
"emailFormat":"text",
"commentVisibility":"g:jira-administrators",
"richHtml":"false"
},
"payload":{"pay1":"val1"}
} |
FIelds in the Json object is explained below.
...
Array of recipients:
- email addresses
- Jira user names
- Jira participants with prefix "o:"
- group names with prefix "g:"
- project role IDs with prefix "r:"
- custom field IDs with prefix "cf:"
...
Participant examples:
- o:me - current user
- o:reporter - issue reporter
- o:assignee - issue assignee
- o:watchers - issue watchers
- o:lead - project lead
Group examples:
- g:jira-administrators
Role exmaples:
- r:10000, where 10000 is the numeric ID of the role
Custom Field examples:
- cf:customfield_10010
...
emailSubject
...
emailBody
...
addAttachments
Specifies how to select issue attachments to be added to the email
...
- ALL: all issue attachments
- NONE: none of the attachments
LATEST: newest version of all attachment
ADDED_LAST: most recently added attachments
...
emailTemplate
...
Email template ID or name, email will be generated using this template.
If not given, the template selected in the issue's Context will be used.
...
emailOptions
Email options to control various aspects of the email.
- addToWatchers: if true, JETI will add email user recipients as watchers of the issue
- replyToMe: if true, JETI will set the current user's email address as the Reply-To header in the email
- mailAsMe: if true, JETI will set the current user's email address as the From Address in the email
- addComments: if true, JETI will add a comment to the issue.
- suppressComment: if true, JETI will not fire an Issue Commented event
- commentVisibility: if provided, JETI will secure the comment it adds to the issue.
- richHtml: if true, JETI will interpret emailBody as a HTML content
...
"emailOptions":
{
"addToWatchers":"true",
"replyToMe":"true",
"mailAsMe":"false",
"addComments":"true",
"suppressCommentEvent":"true",
"emailFormat":"text",
"commentVisibility":"g:jira-administrators",
"richHtml":"false"
}
...
payload
...
Key-Value map of values that will be added to the Velocity Context used to generate email body.
Email template may refer to these values and may render them in the email.
Request Statistics
The REST API is a RESTFul service method that will return the number of email items from the audit log.
...
Content-Type:application/json
...
What Jira REST API offers
See details in the documentation
...
issueKey - Key of the issue whose email audit log is queried
issueId - Id of the issue whose email audit log is queried
mailHandlerId - ID of the Email This Issue Mail Handler to limit the query to incoming emails processed by this handler
type - Type of the email items to query (either of OUTGOING, INCOMING_ISSUE, INCOMING_COMMENT)
...
- 200: if email is composed and sent successfully
- 500: if an error occured while composing and sending the email
- 401: if the calling user account is not authorized to request the details
...
Request Email Items from the Audit Log
The REST API is a RESTFul service method that will return email items from the audit log matching the query parameters.
...
Content-Type:application/json
...
What Jira REST API offers
See details in the documentation
...
issueKey - Key of the issue whose email audit log is queried
issueId - Id of the issue whose email audit log is queried
limit- Limit the number of email items to return (max 1000)
type - Type of the email items to query (either of OUTGOING, INCOMING_ISSUE, INCOMING_COMMENT)
from - Date emails were sent or processed after (required format is dd/MM/yyyy)
to - Date emails were sent or processed before (required format is dd/MM/yyyy)
source - Trigger of the outgoing email (either of OPERATION, BULK, EVENT, WORKFLOW, AUTOREPLY, TEST, API, PREVIEW)
...
- 200: if email is composed and sent successfully
- 500: if an error occured while composing and sending the email
- 401: if the calling user account is not authorized to request the details
...
Response structure
Code Block |
---|
[
{
"issueId": 22900,
"subject": "(IT-349) Új request by customer \"Hello WORLD\"",
"body": <email body>,
"to": <to recipients>,
"cc":<cc recipients>,
"from": <sender email address>,
"format": <email format>,
"actorUserKey": <user key>,
"type": <type of email item>,
"source": <trigger of the email>,
"date": <date and time the email was sent or processed>
},]
|
Queue Statistics
Status | ||||
---|---|---|---|---|
|
OSGi Component API
In case, your Jira add-on want to use JETI's email capabilities, you can build an integration between your add-on and Email This Issue.
Simply import the OSGi component Email This Issue publishes and call its methods.
...
com.metainf.jira.plugin.emailissue.api.EmailService
...
Code Block | ||
---|---|---|
| ||
void sendEmail(com.metainf.jira.plugin.emailissue.api.EmailDefinitionApi emailDefinition) throws Exception |
...
Code Block | ||
---|---|---|
| ||
Collection<EmailLog> queryEmailLog(com.metainf.jira.plugin.emailissue.api.EmailLogQuery emailLogQuery) throws Exception |
Email Parameters
...
language | java |
---|
...
Expertisefinder redirect | ||||||||
---|---|---|---|---|---|---|---|---|
|