Skip to content

Post process information to the slack without clogging up the channel with a bunch of messages. Easyly update status, see when operation started / finished and how much time it took.

License

Notifications You must be signed in to change notification settings

haru-mamburu/slackops

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

31 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SlackOps

Post process information to the slack without clogging up the channel with a bunch of messages. Easily update status, see when operation started / finished and how much time it took.

PyPI version

Installation

$ pip install slackops

Table of contents

Basic usage

import slackops

slack = slackops.Operation(token=SLACK_BOT_TOKEN, channel=CHANNEL_NAME)

slack.start("Application update", "Backup")

1. Start

slack.update("2. Updating application")

2. Updating application"

slack.update("3. Healthchecks")

3. Healthchecks

slack.finish("4. Application successfully updated!")

4. Application successfully updated!

Operation statuses also posted to thread:

Thread messages

Simple message

Note: any formatting you see in 'Message' template (header, text, context), can also be used with 'Operation' template you seen before.

slack = slackops.Message(token=SLACK_BOT_TOKEN, channel=CHANNEL_NAME)

slack.post(
    text="Example message",
    severity="error", # info | success | warning | error
    header="Header",
    context=["from ip: 192.162.1.1"],
)

message

Formatting. Default and persistent values

You can set default values:

slack.tmpl.default.set(context=["default context - from ip: 192.162.1.1"])
slack.tmpl.default.set(severity="success")

slack.post("If no value is passed, the default value will be used (if available).")

default values

And persistent values:

slack.tmpl.persistent.set(header="API event: ")
slack.tmpl.persistent.set(text="*Details:*\n")

slack.post("username: haru\n ", header="new user!")

persistent values

AWS Lambda

To use 'Operation' template beetwen different lamdas, you can do following:

  1. Export in first lambda:
packed_operation = slack.pack()
  1. And import in second lambda:
slack = slackops.Operation(packed_operation=packed_operation)

About

Post process information to the slack without clogging up the channel with a bunch of messages. Easyly update status, see when operation started / finished and how much time it took.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages