Metadata-Version: 2.1
Name: robotframework-notifications
Version: 1.0.0
Summary: POST a message to a Slack or Mattermost channel.
Home-page: https://github.com/tlolkema/RobotNotifications
Author: Tim Lolkema
Author-email: tim@detesters.nl
License: MIT
Platform: UNKNOWN
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Description-Content-Type: text/markdown
Requires-Dist: requests

RobotNotifications
===============

Send notifications to Slack or Mattermost using Robot Framework.

Installation
------------

The recommended installation method is pip:

    pip install robotframework-notifications

Running this command installs also the latest version of Requests

Import Library
-----

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.


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

You can retrieve this webhook url in Slack or Mattermost.

Slack

> https://github.com/xyb/robotframework-debuglibrary/

Mattermost

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

Usage
-----

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--
    Suite Setup     Start Suite
    Test Teardown   Message On Failure     

    *** Keywords ***
    Start Suite
        Post Message To Channel      Testing has started!    icon_emoji=robot_face    username=Robot    
        ...                          channel=robot-notifications

    Message On Failure
        Run Keyword If Test Failed   Post Message To Channel   ${TEST_NAME}\n${TEST_MESSAGE}   
        ...                          icon_emoji=rage   username=Robot Error   channel=robot-notifications

    *** Test Cases ***
    This Test Will Pass
        Log   This Test Will Pass

    This Test Will Fail
        Log   ${ERROR}


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

You can for example use the keyword in a test teardown to post a message if the test failed containing the test name and error message.

Automatic variables

>  https://github.com/robotframework/robotframework/blob/master/doc/userguide/src/CreatingTestData/Variables.rst#automatic-variables

