Skip to content

Latest commit

 

History

History
94 lines (70 loc) · 2.9 KB

README.md

File metadata and controls

94 lines (70 loc) · 2.9 KB

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)