Integration with Stride and Slack

Looking for the documentation on the newest versions of SIL Engine and the Simple Issue Language for Jira 8 for Server/Data Center? Click here !

Contents

Starting with version 4.0.13 of Power Scripts™, we have added the ability to use SIL™ scripts in order to send messages to Stride and Slack.

Specific SIL™ integrations

Predefined structures for a Stride message

NameFieldType
JStrideMessageversionnumber
typestring
contentJStrideContent[]
JStrideContenttypestring
textstring
contentJStrideContent[]
marksJStrideMarks[]
attrsJStrideAttrs
JStrideMarkstypestring
attrsJStrideAttrs
JStrideAttrsidstring
localIdstring
statestring
panelTypestring
hrefstring
titlestring
colorstring
typestring
textstring
shortNamestring


Predefined structures for a Slack message

NameFieldType
JSlackMessagechannelstring
textstring
attachmentsJSlackAttachment[]
JSlackAttachmentpretextstring
fallbackstring
titlestring
title_linkstring
textstring
colorstring


Configuring an integration

To do this, you must have Administrator permissions.

General setup

To configure an integration, perform the following operations:

  1. In your Jira, go to Manage apps > cPrime Plugin Configuration > Integration Configurations, and click Add Integration.



  2. Fill in the necessary fields:
    • Name - Name of the integration, it should be unique from other integrations
    • Type - Integration type 
    • Access token
    • Conversation URL - you need to specify this for Stride integration only



  3. Save the integration. After saving the added integration, a new entry is added to the table on the Integration Configurations page. 

To edit or remove a configuration, click Edit/Delete.

For security reasons, on the cloud version the token is only visible at the creation moment, not after.


Configuring notifications to go from Jira to Stride

In order to send a message to a Stride room, add an integration to the Integration Configurations page. To generate an access token and a conversation URL you have to:

  1. Go to Stride and select your room.
  2. Open the Apps sidebar, click "+" > Add custom app > API tokens, and specify the app name.



  3. Copy conversation URL and an access token



  4. Insert these to the corresponding fields on the Integration Configurations page.



Now your configuration is ready to be used in a script.

Configuring notifications to go from Jira to Slack

In order to send a message to a Slack room, add an integration configuration to the Integration Configurations page using new Slack apps functionality. To get an access token, perform the following operations:

  1. Navigate to the Slack API page.
  2. Click Your Apps > Create New App.
  3. Go to your app and click Add Features and functionality.



  4. Go to Permissions > Scopes and select what this app is going to doClick Save Changes.



  5. Go to Permissions > OAuth & Permissions. Install your app to the workspace. When you install the app, the tokens are automatically generated. Otherwise,  in order to generate your OAuth tokens, request the approval to install this app on your workspace. Click Request Approval to send the request to Slack admins.

    Optionally, you can Manage distribution for your app and enable other workspaces to install your app using OAuth.

  6. Copy the OAuth Access Token to the Integration Configurations page and Save.



  7. That's it. Your configuration is ready.

    You can read more about internal integrations in Slack here.

Examples

Send a message to Slack when a ticket is created

To send a message to Slack when an issue is created, add a post-function on the create transition in Jira with the following code:

JSlackAttachment att1;
att1.pretext = "Optional text that appears above the attachment block";
att1.title = "This is an example of attachment ...";
att1.text = "*Bold* ~strike~ text";
att1.color = "#4286f4";
 
JSlackAttachment att2;
att2.title = "This is an example of attachment with code.";
att2.text = "`var i = 0; doSomethingWith(i);`";
att2.color = "#f45641";
 
JSlackMessage message;
message.channel = "C9S2LC24T";
message.text = "Test slack message with attachment...";
message.attachments = {att1, att2};
 
 
return sendIntegrationMessage("SLACK", message);


Send a message to Stride when an issue is created

To send a message to Stride when an issue is created, add a post-function on the create transition in Jira with the following code:

JStrideContent reporter;
reporter.type = "text";
reporter.text = key.reporter + "created ";

JStrideAttrs attrs;
attrs.href = getIssueURL(key);
attrs.title = key;

JStrideMarks link;
link.type = "link";
link.attrs = attrs;

JStrideContent issueKey;
issueKey.type = "text";
issueKey.marks = {link};
issueKey.text = key;

JStrideContent summary;
summary.type = "text";
summary.text = " : " + key.summary;

JStrideContent paragraph;
paragraph.type = "paragraph";
paragraph.content = {reporter, issueKey, summary};

JStrideMessage message;
message.version = 1;
message.type = "doc";
message.content = {paragraph};

return sendIntegrationMessage("PS", message);

Here's an example of how such notification can look like in Stride.

See also

sendIntegrationMessage — Sends a message to integration.