Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Table of Content Zone
Table of Contents

Summary

Slack is a cloud-based collaboration tool used to communicate teams. JEMHCloud supports Slack notifications from Issue Events and Post Functions. You will be able to notify your Slack Channels when JEMHC detects an issue change.

Configuring the Slack Connection

In order to send Slack notifications from Issue and Post function events, you need to set up a Slack connection first. The connection knows how to send Slack messages via Slack Rest APIs.

To create a Slack Connection:

  1. Log into your Slack's Team

  2. Go to JEMH Cloud → Slack Connection → Connect To Slack

    Image RemovedImage Added
  3. Authorize JEMHC to be installed to Slack as an App. This allows communication from JEMHCloud to Slack

    Image RemovedImage Added



  4. Check out new Slack Connection on the screen.

    Image RemovedImage Added

Once you have the connection created, you can set Slack Notification Mappings to drive Slack notifications from Issue Created/Updated/Deleted events or Slack Post Functions to drive Slack notifications from transition events.

Send Slack notifications from issue events

Like Email and SMS Notification Mapping, Slack Notification Mapping is in charge of sending Slack messages from Issue events through the Slack Connection.

Creating a Slack Notification Mapping:

  1. Go to JEMH Cloud → Notifications → Slack → Create

  2. Complete the form, select the nominated projects, select the Slack Connection you want to use and the channel that will receive Slack messages. Enter a velocity script if you wat to modify the notification behavior at runtime (more below).

    Image RemovedImage Added
  3. On Submit, you should see the new Slack mapping

    Image RemovedImage Added
  4. To test the mapping, create an issue in the nominated project and go to Auditing → Events

  5. You should see the issue created event in the queue. When event has been processed, the configured channel in the mapping should have received an Slack message.

    Image RemovedImage Added

    Image Removed


    Image Added
  6. The report of the event should confirm the message sent 

    Image RemovedImage Added
  7. In Auditing → Outbound Messages → Type Slack, the table should show the Slack messages sent and the cog icon should show their contents.

    Image RemovedImage Added

    Image Removed


    Image Added


Send Slack Notifications from Post Functions

JEMHCloud allows you to send Slack notifications when Issue transitions are performed through JIRA Post Functions.

Adding the Slack Notification Post Function to workflow transition:

  1. Go to right corner Cog → JIRA Administration → Issue → Workflows. Edit the workflow of the project you want to add the Post Function
    Image Modified

  2. Click on the transition you want to change and select the Post Functions tab. Click on Add post function
    Image Modified

  3. Select Send Slack Notification by JEMHCloud and click Add

    Image RemovedImage Added
  4. Set the Slack Connection, Chanel and Velocity script if necessary. Press Add/Update

    Image RemovedImage Added
  5. Move the Post Function to last position and publish the workflow draft.

    Image RemovedImage Added
  6. Remember to publish the workflow change draft! 

  7. To test the post function, go to an issue and perform the transition.

    Image RemovedImage Added
  8. Post function event should appear in JEMH Cloud → Notifications → Events.

    Image RemovedImage Added
  9. The event report:

    Image RemovedImage Added
  10. The message in Slack:

    Image RemovedImage Added
  11. In Auditing → Outbound Messages, the table should show the SLACK messages sent and the cog icon should show their contents.

    Image RemovedImage Added

    Image Removed


    Image Added

Filter Scripts

Both Slack Notification Mapping and Slack Post Function behavior can be changed at runtime with a Velocity Script. The script can use the event data or be time-based to change how notifications are performed.

Change Channel

...

Change channel when Critical
Code Block
#if ($context.issue.fields.priority.name.textValue() != 'Critical')
  $slackNotificationUtils.setChannel('AnotherChannelNameOrId') ## JEMHC looks for the channel by either name or id
#end

Restrict notifications to specific time ranges

...

Notify only after hours
Code Block
#if (!$dateTimeUtils.betweenHours("18:00", "06:00"))
   $slackNotificationUtils.inhibitNotification() ## Slack messages are not sent during business hours **
#end

Restrict by priority

No Formatcode
#if ($context.issue.fields.priority.name.textValue() != 'Blocker')
   $slackNotificationUtils.inhibitNotification()
#end

...

Warning

Velocity Script cannot be validated at configuration time (for example the dynamic channel). You should test the script by re-executing events in Auditing → Events

Related articles

Filter by label (Content by label)
showLabelsfalse
max5
spacesJEMHC
sortmodified
showSpacefalse

...

reversetrue
typepage
cqllabel in ( "events" , "notifications" ) and type = "page" and space = "JEMHC"
labelsnotifications events
Page Properties
hiddentrue


Related issues