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.

You can send a direct message by using the ‘mention name’ of a user instead of a room name:

```bash echo “You are great” | hipcat @FriendlyDave

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.1.0.tar.gz (5.3 kB view details)

Uploaded Source

Built Distribution

hipcat-0.1.0-py3-none-any.whl (7.1 kB view details)

Uploaded Python 3

File details

Details for the file hipcat-0.1.0.tar.gz.

File metadata

  • Download URL: hipcat-0.1.0.tar.gz
  • Upload date:
  • Size: 5.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for hipcat-0.1.0.tar.gz
Algorithm Hash digest
SHA256 204e68438723e49b5489325dc877ca758dc5f8d1e55956471ff90089c3f530f1
MD5 2122b9b3c10e2575852f5824ef7f4270
BLAKE2b-256 f936ad874dfdd475c8481546334c1a09a822762a96f2dfd26d75526e83d0423a

See more details on using hashes here.

File details

Details for the file hipcat-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for hipcat-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 123060007e58f5747b35b9fc0b1a47a19465e0bb125cdb69d217ce96c2822c0b
MD5 d42322d0cc233f9bd8eb6023c1c9794b
BLAKE2b-256 357c55fdcb4a29d31ef85e9f3301ea3a74bd446abbf4792ad0bb61cc120335cc

See more details on using hashes here.

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