Confluence message format

Default Message Template

{
  "text":"<eventType> in <spaceLink> by <userLink>",
  "attachments": [
    {
      "color": "#205081",
      "title": "<contentTitle>",
      "title_link": "<contentLink>",
      "text": "<contentBody>"
    }
  ]
}

Slack Advanced Message Formatting
Messages are sent to the Slack API as JSON objects. The Slack message format is defined in the Slack API Documentation.

You can test advanced message formatting with the Slack Message Builder before bringing your message into the Slack Connector add-on and configuring your template keys.

Advanced Templating

The JSoft Slack Connectors use the StringTemplate library to integrate data from your Atlassian application into Slack message objects. Please see the StringTemplate Cheat Sheet for an introduction to this syntax and the various features it provides.

Each message has a variety of attributes provided to it by the Slack Connector that can be easily accessed with StringTemplate syntax. Additionally, some StringTemplate attributes may be entire Java objects whose properties can be traversed with the StringTemplate syntax to extract exactly the data you need.

When using object attributes, StringTemplate automatically calls get, is, and toString methods on the object when you specify property names. You can learn which properties are available from Atlassian's object documentation.

Basic Template Keys

These are available on all actions:

KeyDataDescription

<spaceLink>

<Test Space Name|http://localhost:1990/confluence/display/TEST>
A link to the space, formatted for inclusion in a Slack message.

<spaceKey>

TESTA space key

<contentTitle>

  • This is a page title (Page)
  • Re: This is a page title (Comment)
A page, blogpost title, task, question

<contentLink>

http://localhost:1990/confluence/display/TEST/This+is+a+page+titleA URL to the page, blog, task, or question
<contentBody>This is some example page content.An excerpt of page, blog, task, comment

<userLink>

<admin|http://localhost:1990/confluence/display/~admin>A link to the user, formatted for a Slack message

<userName>

adminA username
<fullName>AdminA user full name

<eventType>

  • New page has created in Space
  • Updated page in Space
  • Commented in Space
Text describing the current action.
<event>EventType_CreatedPageAn event code

Advanced Template Object Attributes

AttributeActionsDescriptionExample Usage

isNewPage

isNewBlogpost

isNewComment

AllReturns a boolean that can be used with StringTemplate if statement expressions.
  • <if(isNewPage)>New Page<else>Updated Page<endif>
  • <if(isNewBlogpost)>New Blogpost<else>Updated blog post<endif>
  • <if(isNewComment)>New comment<else>Updated comment<endif>
page

Page Created
Page Updated

A page object

<if(page.versionCommentAvailable)><page.versionComment><else>(no comment)<endif>

  • page.versionComment is the "What did you change?" message that can be saved with every page edit.
blogpost

Blog post Created
Blog post Updated

A blogpost object
spaceAllA space object
comment

Comment Created
Comment Updated

A comment object

<comment.container.title>

  • Gets the title of the page the comment is on (without the "Re:" present in contentTitle).
question

Questions Created
Questions Answered 

A question object
answer

Questions Created
Questions Answered

A answer object
task

Task Created
Task Completed

A task object