slack
Skyline can be integrated with slack in terms of alerts and making automatic updates to slack alert threads, informing you that a training data page has been reviewed, a features profile has been created or learnt and validated.
To use slack with Skyline you need to create a slack skyline app and a bot user.
On slack:
Create a Slack App
Basic Information > Building Apps for Slack > Add features and functionality > Bots
Bot User click Add a Bot User
Set Display name and Default username to skyline
And Save Changes
In the left hand Settings menu for the skyline app, click Basic Information
In App Credentials click Add features and functionality > Permissions
Under OAuth Tokens & Redirect URLs click Install App to Workspace and click Authorize
Copy the Bot User OAuth Access Token and add it to
settings.SLACK_OPTS
as the value for bot_user_oauth_access_tokenIf you want to add the Skyline icon to the app, in the left hand Settings menu for the skyline app, click Basic Information Under Display Information > App icon & Preview and click and add: https://github.com/earthgecko/skyline/blob/master/docs/images/slack.skyline.app.icon.png
Create a new channel called skyline and invite the skyline bot user.
Skyline slack settings
In settings.py set
SLACK_ENABLED = True
And update the the SLACK_OPTS as appropriate for your metrics. Note that even if you map multiple channels to a metric namespace, only ONE, the first channel, will get slack updates to the thread. Also note the channels are parsed in order and the first match will be the channel/s were alerts are sent.
SLACK_OPTS = {
# Bot User OAuth Access Token
'bot_user_oauth_access_token': 'YOUR_slack_bot_user_oauth_access_token',
# list of slack channels to notify about each anomaly
# (similar to SMTP_OPTS['recipients'])
# channel names - you can either pass the channel name (#general) or encoded
# ID (C024BE91L)
'channels': {
'skyline': ('#skyline',),
'skyline_test.alerters.test': ('#skyline',),
'horizon.udp.test': ('#skyline'),
},
'icon_emoji': ':chart_with_upwards_trend:',
# Your default slack Skyline channel name e.g. '#skyline'
'default_channel': 'YOUR_default_slack_channel',
# Your default slack Skyline channel id e.g. 'C0XXXXXX'
'default_channel_id': 'YOUR_default_slack_channel_id',
# Whether to update slack message threads on any of the below events
'thread_updates': True,
'message_on_training_data_viewed': True,
'message_on_training_data_viewed_reaction_emoji': 'eyes',
'message_on_features_profile_created': True,
'message_on_features_profile_created_reaction_emoji': 'thumbsup',
'message_on_features_profile_learnt': True,
'message_on_features_profile_learnt_reaction_emoji': 'heavy_check_mark',
'message_on_features_profile_disabled': True,
'message_on_features_profile_disabled_reaction_emoji': 'x',
'message_on_validated_features_profiles': True,
}