Skip to main content

Send notifications to Slack or Mattermost using Robot Framework.

Project description

RobotNotifications

Send notifications to Slack or Mattermost using Robot Framework. Can be used both as library or listener.

Installation

The recommended installation method is pip:

pip install robotframework-notifications

Running this command installs also the latest version of Requests

Use as listener

robot --listener "RobotNotifications;https://webhook_url;end_test;summary" test.robot

Listeners are taken into use from the command line with the --listener option.

  • The first argument is the name of the library.
  • The second argument is the webhook url.
  • Based on your preferences pick the next argument(s) from the table

Seperate the arguments with a semicolon ;

Optional Arguments

Argument Description Example
end_suite Post suite results
summary Post a report summary
end_test Post failing tests
end_test_all Post all tests

Use as library

Besides the listener functionality this library allows you to post a custom message with the use of the keyword "Post Message To Channel"

To use RobotNotifications in Robot Framework, the library needs to be imported using the Library setting as any other library. The library needs the webhook url from Slack or Mattermost as an argument.

Example:

*** Settings ***
Library         RobotNotifications   https://hooks.slack.com/services/--your-webhook--

You can retrieve this webhook url in Slack or Mattermost.

Example 2:

*** Settings ***
Library         RobotNotifications   https://hooks.slack.com/services/--your-webhook--
...             end_suite   end_test

Write a custom message

After importing the library you have access to the keyword Post Message To Channel

This keyword has one mandatory argument which is the message to post to the channel, and several optional arguments.

Argument Description Required
text Markdown-formatted message to display in the post. YES
channel Overrides the channel the message posts in. Use the channel’s name and not the display name. Defaults to the channel set during webhook creation. NO
username Overrides the username the message posts as. Defaults to the username set during webhook creation or the webhook creator’s username if the former was not set. NO
icon_url Overrides the profile picture the message posts with. Defaults to the URL set during webhook creation or the webhook creator’s profile picture if the former was not set. NO
icon_emoji Overrides the profile picture and icon_url parameter. Defaults to none and is not set during webhook creation. NO
props Sets the post props, a JSON property bag for storing extra or meta data on the post. NO

Example:

*** Settings ***
Library         RobotNotifications   https://hooks.slack.com/services/--your-webhook--

*** Test Cases ***
Example Test
    Post Message To Channel      This is a custom message!    icon_emoji=robot_face    username=Robot    
    ...                          channel=robot-notifications

The above example shows how the Post Message To Channel can be used in Robot Framework.

Retrieve webhook

Slack

https://slack.com/intl/en-lv/help/articles/115005265063-incoming-webhooks-for-slack

Mattermost

https://docs.mattermost.com/developer/webhooks-incoming.html#simple-incoming-webhook

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

robotframework-notifications-1.2.0.tar.gz (4.1 kB view hashes)

Uploaded Source

Built Distribution

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page