Skip to content

kennep/killjoy-notifier-slack

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

33 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

killjoy Notifier: Slack

Generate slack notifications on behalf of killjoy.

killjoy is a systemd unit monitoring application. It discovers systemd units and tracks their states. When a unit changes to a state of interest, killjoy contacts notifiers. This application is a notifier which, upon being contacted by killjoy, will post a Slack message using a webhook.

The code for this notifier was based in part on https://github.com/Ichimonji10/killjoy-notifier-notification.

Concepts

First, read the concepts section in the killjoy documentation.

When properly installed, this application will be auto-started whenever a D-Bus message is sent to it. When started, this application will consume all messages (presumably from killjoy) in its message queue, and then idle.

Installation

Rust developers may install this app from source. Note that libdbus must be installed. (On Ubuntu, this is provided by the libdbus-1-dev package.)

git clone https://github.com/kennep/killjoy-notifier-slack.git
cd killjoy-notifier-notification
cargo build

Note: no systemd unit scripts or installation scripts are included. The scripts from e.g. https://github.com/Ichimonji10/killjoy-notifier-notification can be used as a starting point.

Configuration

This notifier expects a configuration file called slack-notifier.json to be installed in the same directory as the main killjoy configuration file.

Here is an example configuration file with all configuration keys populated:

{
    "webhook_url": "https://hooks.slack.com/services/YOUR_UNIQUE_WEBOOOK_URL",
    "username": "My user",
    "channel": "Channel name",
    "icon_emoji": ":robot_face:"
}

The webhook_url key is required, and contains your Slack webhook URL. The username, channel and icon_emoji keys are optional. If present, they specify the username to post as, the channel to post in and the emoji to use.

If username or channel are not present, the defaults for the Slack webhook URL is used. If icon_emoji is not present, then :robot_face: is used as the emoji.

Usage

Define a notifier in killjoy's configuration file:

"slack": {
    "bus_type": "session",
    "bus_name": "com.wangpedersen.KilljoyNotifierSlack1"
}

Then, list it in a rule's list of notifiers.

When this application receives a message, it will generate a slack message.

Changelog

See annotated git tags.

License

This application is licensed under the GPLv3 or any later version.

About

Slack notifier for Killjoy (systemd monitor)

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages