A Slack integration is required to send notifications to Slack channels or rooms for pipeline events (to learn more about the Slack integration, see Artifactory and Xray Integration with Slack).
Creating an Integration
Follow instructions in the Slack docs to create an incoming webhook. While you should specify a default or popular channel while creating the webhook, it can be overriden in your pipeline source when needed.
Copy the text in the Webhook URL section. It looks like this:
https://hooks.slack.com/services/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
To add your integration, follow steps on the Managing Pipelines Integrations page.
Here is the information you need to create this integration:
Name -- choose a friendly name for the integration
Webhook url -- Webhook URL to your Slack channel
Usage
The Slack integration can be added directly to a step in the integrations
section.
The send_notification utility function can be used with a Slack integration to send a notification message.
For more information, see Sending Notifications from Pipelines.
Default Environment Variables
When you add this integration to a step, a set of environment variables is automatically made available.
Environment variable | Description |
---|---|
| Webhook URL to your Slack channel |
Example
This example uses a Slack integration named
mySlack
.The send_notification utility function is used to send the
onStart
andonExecute
notifications.The YAML for this example is available in this repository in the JFrog GitHub account.
Sending notifications
pipelines: - name: pipe1 steps: - name: test_step_1 type: Bash configuration: integrations: - name: mySlack # This is the name of the Slack integration you created in your test instance execution: onStart: - send_notification mySlack --text "starting test_step_1" # replace 'mySlack' with the name of your Slack integration onExecute: - send_notification mySlack --text "onExecute, past test commands" # replace 'mySlack' with the name of your Slack integration onSuccess: - send_notification mySlack # without '--text' to send a generic notification that includes the pipeline name and step name