Skip to main content

Pipe text to HipChat

Project description

Pipe things to HipChat from the command-line!

Inspired by Slackcat!

Installation

You will need a working installation of Python 3 (you probably already have this if you’re on Linux or OSX) and PIP.

pip3 install hipcat

Go to https://www.hipchat.com/account/api and create a new token. It only needs the ‘Send Message’ scope, but this may change in future.

Create a file at ~/.hipcat.ini that looks a bit like this:

[hipchat]
access_token = <put-your-token here>

Using hipcat

You can get help by running hipcat --help, but the basics look like this:

# Pipe output from one command to HipChat:
echo 'This is my message' | hipcat 'Room Name'

If you don’t want to pass the message via a pipe, you can instead provide it as a parameter:

# Run a long running command and then notify on HipChat
my-long-task && hipcat 'Notifications' -m "The long-running task is done"

If the text you are sending to HipChat is formatted, use the -q flag to prefix with /quote, and if it should be syntax-highlighted code, use the -c flag to prefix with /code.

Notifications

The message you are sending may also be treated as a room notification via the --notification flag. The following additional options and flags are then recognized by hipcat:

  • --color to specify background color for the message. Valid values: yellow, green, red, purple, gray, random. Defaults to yellow.

  • --sender to specify a label to be shown in addition to the sender’s name. Defaults to hipcat if --notify (see below) is specified as well.

  • --notify to ensure this message triggers a user notification.

# Send a message "Message" with a purple background, from "BOT" and with a
# user notification:
hipcat 'Notifications' --notification --notify -m "Message" --color=purple --sender="BOT"

Contributing to hipcat

You want to contribute? Love you!

There’s some stuff you should know:

  • Please don’t backport it to Python 2. Yes, I know it’s easy. We should all be writing Python 3 now.

  • Please treat other contributors and commenters with respect.

  • Please ensure that any changes follow PEP-8.

  • When I add tests (there aren’t any yet!) I plan to use py.test. If you want to help by addind tests, let’s talk about it first.

To Do

  • Add a flag to send the output to HipChat line-by-line rather than at the end.

  • Allow message posting to individuals as well as rooms.

  • Allow uploading content as a file rather than inline text.

  • Err… post a GitHub issue if you want to see a new feature, and we’ll talk!

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

hipcat-0.0.11.tar.gz (5.1 kB view hashes)

Uploaded Source

Built Distribution

hipcat-0.0.11-py3-none-any.whl (6.9 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page