Slack Integration

JFrog Pipelines Documentation

Products
JFrog Pipelines
Content Type
User Guide
ft:sourceType
Paligo

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).Artifactory and Xray Integration with Slack

Creating a Slack 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

int_<integration-name>_url

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 onStartandonExecutenotifications.

  • 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