Skip to content

Instantly share code, notes, and snippets.

@danriti
Last active July 19, 2021 10:49
Show Gist options
  • Star 75 You must be signed in to star a gist
  • Fork 15 You must be signed in to fork a gist
  • Save danriti/7345074 to your computer and use it in GitHub Desktop.
Save danriti/7345074 to your computer and use it in GitHub Desktop.
HipChat API v2 - Send a message to a room using cURL
#!/bin/bash
# Set the ROOM_ID & AUTH_TOKEN variables below.
# Further instructions at https://www.hipchat.com/docs/apiv2/auth
ROOM_ID=XXX
AUTH_TOKEN=XXX
MESSAGE="Hello world!"
curl -H "Content-Type: application/json" \
-X POST \
-d "{\"color\": \"purple\", \"message_format\": \"text\", \"message\": \"$MESSAGE\" }" \
https://api.hipchat.com/v2/room/$ROOM_ID/notification?auth_token=$AUTH_TOKEN
@gmcmillan
Copy link

If you want to send the token in the Auth header instead, you can do this:

curl -H "Content-type: application/json" \
-H "Authorization: Bearer $AUTH_TOKEN" \
-X POST \
-d "{\"color\": \"purple\", \"message_format\": \"text\", \"message\": \"$MESSAGE\"}" \
https://api.hipchat.com/v2/room/$ROOM_ID/notification

@DI-DaveGoodine
Copy link

Has anyone gotten this to work using a group notification token?

@fizerkhan
Copy link

It does not work for me. It throws

{
  "error": {
    "code": 401,
    "message": "Authenticated requests only. See https://www.hipchat.com/docs/apiv2/auth for more information.",
    "type": "Unauthorized"
  }
}

@dkarter
Copy link

dkarter commented Dec 8, 2014

It worked for me with personal auth token. Otherwise I was getting

{
  "error": {
    "code": 401,
    "message": "Invalid OAuth session",
    "type": "Unauthorized"
  }
}

any idea how to get it to work with a room notification token?

@bvulaj
Copy link

bvulaj commented Jan 14, 2015

If you generate a token for a specific room, this script works.

https://your-company.hipchat.com/rooms/tokens/XXXX

@henrikakselsen
Copy link

It's quite weird that it doesn't work with an admin token, isn't it?

@buren
Copy link

buren commented Jan 26, 2015

This works for me..:

ROOM_ID=yourroomname
OWNER_ID=XXXYYYX
AUTH_TOKEN=XXXYYYXXX
MESSAGE="Hello world!"

curl --header "content-type: application/json" --header "Authorization: Bearer $AUTH_TOKEN" -X POST \
  -d "{\"name\":\"dev\",\"privacy\":\"private\",\"is_archived\":false,\"is_guest_accessible\":false,\"topic\":\"cURL\",\"message\":\"Message sent to HipChat from cURL\",\"color\":\"green\",\"owner\":{\"id\":$OWNER_ID}}" https://api.hipchat.com/v2/room/$ROOM_ID/notification

@JesusCastellanos
Copy link

Also can't get Auth Token i keep getting the 401 code.

Anybody know how to get this token back correctly?

edit: @bvulaj was right. you can just generate a token by trying to go to:

https://your-company.hipchat.com/rooms/tokens/XXXX

cheers!

@josephfusco
Copy link

Would I be able to alert a hipchat room via analytics unique visitor?

@saurabh-hirani
Copy link

Thanks for posting this - it's a useful example

@udomsak
Copy link

udomsak commented Aug 19, 2015

Thank you for sharing but i can't not follow your scripted.

@regsmith
Copy link

regsmith commented Sep 8, 2015

Any luck sending attachments with curl?

@Richzendy
Copy link

Thanks a lot, works fine

@mihahribar
Copy link

Had to generate a token for that specific room, then it worked for me. 👍

Copy link

ghost commented Feb 28, 2016

Thanks for posting this.

Works great using a room api ID. If the room name has an embedded "/" in it, it doesn't seem to work even if I URL encode the room name.

@rquadling
Copy link

@ronjons
Copy link

ronjons commented Nov 28, 2017

What would be the syntax to send it to a single user: @username or @ALL in a room? Or is that not possible?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment