Message format

Support ANTLR

ANTLR (ANother Tool for Language Recognition) is a powerful parser generator for reading, processing, executing, or translating structured text or binary files. It's widely used to build languages, tools, and frameworks. From a grammar, ANTLR generates a parser that can build and walk parse trees.

String template Syntax

For more details in how to edit message format, please refer Issue data tool

Basic format
{
  "text":"${eventType} ${issueLink} in ${projectLink} by ${userLink}"
}

New format

{
  "text":"<eventType> <issueLink> in <projectLink> by <userLink>"
}
Advance format
{
  "text":"${eventType} ${issueLink} in ${projectLink} by ${userLink}",
  "attachments": [
    {
      "color": "${issuePriorityColor}",
      "text": "${eventMessageBody}",
      "fields": [
        {
          "title": "Type",
          "value": "${issueType}",
          "short": true
        },
        {
          "title": "Assignee",
          "value": "${issueAssignee}",
          "short": true
        },
        {
          "title": "Creator",
          "value": "${issueCreator}",
          "short": true
        }
      ]
    }
  ]
}

New format

{
  "text":"<eventType> <issueLink> in <projectLink> by <userLink>",
  "attachments": [
    {
      "color": "<issuePriorityColor>",
      "text": "<eventMessageBody>",
      "fields": [
        {
          "title": "Type",
          "value": "<issueType>",
          "short": true
        },
        {
          "title": "Assignee",
          "value": "<issueAssignee>",
          "short": true
        },
        {
          "title": "Creator",
          "value": "<issueCreator>",
          "short": true
        }
      ]
    }
  ]
}

Metadata

KeyDescriptionExample data

${eventType}

<eventType>


E.g : "New issue created"
${issueLink}

<issueLink>

It uses issue summary for displaying
${issueKeyLink}

<issueKeyLink>

It uses issue key for displaying

${issueKey}

<issueKey>

<issue.key>

<issue.priorityObject.name>


This is issue keye.g : TEST-1

${issueSummary}

<issueSummary>

<issue.summary>

This is issue summarye.g : Cannot find attachment

<project.key>

<project.name>

You can access all properties of project object

TEST

Development

${projectLink}

<projectLink>

This is project link

<user.key>

<user.displayName>

You can access all properties of action user object
${userLink}

<userLink>

It is action user on issue
${issuePriorityColor}

<issuePriorityColor>

a color code of issue priority , you can change that in JIRA
${eventMessageBody}

<eventMessageBody>

issue description or comment
${issueAttachments}

<issueAttachments>

number of attachments in issue1
${issueAssignee}

<issueAssignee>

<issue.assignee.key>

current assignee
${issueCreator}

<issueCreator>

<issue.creator.key>

issue creator
${issueResolution}

<issueResolution>

Fixed, Won't Fix ... . You can define resolution data in JIRA
${issueResolutionDate}

<issueResolutionDate>



${issueDueDate}

<issueDueDate>



${issueStatus}

<issueStatus>

"Done,Open"
${issueLabels}

<issueLabels>

"Bug,Improvement,Feedbacks"
${issueType}

<issueType>

e.g : Task, Story, Epic, Subtask

<comment.author>

<comment.body>

A comment object if given event is comment event
<workLog>https://docs.atlassian.com/jira/server/com/atlassian/jira/issue/worklog/Worklog.html
<changeLog>

custom field

<fvDeveloper>

<foDeveloper>

a value of custom field which has named 'Developer'

a custom field object


/wiki/spaces/JS/pages/43618844
<issueComponents>a list of components of current issue . e.g : UI,Development