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
Specific SIL™ integrations
Predefined structures for a Stride message
Name | Field | Type |
---|---|---|
JStrideMessage | version | number |
type | string | |
content | JStrideContent[] | |
JStrideContent | type | string |
text | string | |
content | JStrideContent[] | |
marks | JStrideMarks[] | |
attrs | JStrideAttrs | |
JStrideMarks | type | string |
attrs | JStrideAttrs | |
JStrideAttrs | id | string |
localId | string | |
state | string | |
panelType | string | |
href | string | |
title | string | |
color | string | |
type | string | |
text | string | |
shortName | string |
Predefined structures for a Slack message
Name | Field | Type |
---|---|---|
JSlackMessage | channel | string |
text | string | |
attachments | JSlackAttachment[] | |
JSlackAttachment | pretext | string |
fallback | string | |
title | string | |
title_link | string | |
text | string | |
color | string |
Configuring an integration
To do this, you must have Administrator permissions.
General setup
To configure an integration, perform the following operations:
- In your Jira, go to Manage apps > cPrime Plugin Configuration > Integration Configurations, and click Add Integration.
- 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
- 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:
- Go to Stride and select your room.
- Open the Apps sidebar, click "+" > Add custom app > API tokens, and specify the app name.
- Copy conversation URL and an access token.
- 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:
- Navigate to the Slack API page.
- Click Your Apps > Create New App.
- Go to your app and click Add Features and functionality.
- Go to Permissions > Scopes and select what this app is going to do. Click Save Changes.
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.
Copy the OAuth Access Token to the Integration Configurations page and Save.
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.