Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: wrote some advanced templating information
Excerpt

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.

Please see the documentation for your connector to find exactly what template attributes are available:

Default Message Template

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

...

KeyDescriptionSample data

<spaceLink>

a link of Confluence spacehttp://localhost:1990/confluence/display/TEST

<spaceKey>

<space.key>

a space keyTEST

<contentTitle>

a page, blogpost title, task, questionThis is demo page

<contentLink>

a link of page , blog, task, questionhttp://localhost:1990/confluence/display/TEST/This+is+demo+page?focusedCommentId=884788#comment-884788
<contentBody>an excerpt of page,blog,task,commentThis is demo content page

<contentBody; format="substring_2">

<contentBody; format="substring_2_4">

Use substring function to get string from index 2 to length

Use substring function to get string from index 2 to 4 (if string length <4 , it will get length)


<if(isNewPage)>is new page<endif>Conditional <if><else><endif> which only works with booleanExpression

<if(isNewPage>New Page <else> updated Page<endif>

<if(isNewBlogpost>New Blogpost <else> updated Blogpost<endif>

<if(isNewComment>New comment <else> updated comment<endif>

<userLink>

an user linkhttp://localhost:1990/confluence/display/~admin

<userName>

an usernameadmin

<eventType>

a context of current contenteventType= "New page has created in Space"
<event>An event codeEventType_CreatedPage
<page>If you are working on a pagehttps://docs.atlassian.com/confluence/5.9.7/com/atlassian/confluence/pages/Page.html
<blogpost>A blogpost objecthttps://docs.atlassian.com/confluence/5.9.7/com/atlassian/confluence/pages/BlogPost.html
<space>A space objecthttps://docs.atlassian.com/confluence/5.9.7/com/atlassian/confluence/spaces/Space.html
<comment>A comment objecthttps://docs.atlassian.com/confluence/5.9.7/com/atlassian/confluence/pages/Comment.html
<question>A question objecthttps://docs.atlassian.com/confluence/5.9.7/com/atlassian/confluence/content/CustomContentEntityObject.html
<answer>A answer objecthttps://docs.atlassian.com/confluence/5.9.7/com/atlassian/confluence/content/CustomContentEntityObject.html
<task>A task objecthttps://docs.atlassian.com/confluence/5.9.7/com/atlassian/confluence/core/ContentEntityObject.html

Advanced Template Keys and Formatting

...