Skip to content
This repository has been archived by the owner on May 7, 2019. It is now read-only.
/ hipchat_elixir Public archive

[DISCONTINUED] HipChat client library for Elixir

License

Notifications You must be signed in to change notification settings

ymtszw/hipchat_elixir

Repository files navigation

⚠️ DISCONTINUATION NOTICE

HipChat itself is discontinued by Atlassian due to their partnership with Slack.

This Elixir library is therefore no longer maintained, and goes archive. Thanks for your interest though! ❤️

hipchat_elixir

Hex.pm CircleCI

HipChat client library for Elixir.

Policy

  • Using Erlang's built-in httpc as HTTP client, for easier dependency management.
  • No state. Access tokens and other credentials should be retrieved/stored by caller applications.
  • Relying on HipChat cloud for parameter validations.
  • Covering APIs used in server side only.
  • Generating codes from Swagger (OpenAPI) specifications in ymtszw/hipchat_swagger.
    • Read more in here.

Basic Usage

  1. Add :hipchat_elixir as a dependency.
  2. Create client struct (Hipchat.ApiClient.new/3).
    • Pass access_token if the targeted API requires authentication.
    • See here for details.
  3. Pass the resultant client and other parameters to the targeted API function.
Hipchat.ApiClient.new("access_token")
|> Hipchat.V2.Rooms.send_room_notification("room_id", %{message: "Hello HipChat!"})
# {:ok, %Hipchat.Httpc.Response{body: "", headers: ..., status: 204}}

About Content-Type

Request bodies are sent as content-type: application/json or content-type: x-www-form-urlencoded depending on :serializer config value.

  • See config/config.exs for example.
  • Some HipChat APIs (implicitly) require content-type: application/json, so introducing JSON serializer is almost mandatory.
    • Currently only supports Poison.

Status

Basic chat related APIs (CRUD operation of rooms/users, sending messages/notifications, etc) are covered.

Many add-on (extension) related APIs are not covered. Since HipChat itself is sunsetting and moving toward Stride, I may not revisit to perfect these. If interested, contributions are welcomed.

Only supports HipChat cloud (not HipChat server).

License

MIT

About

[DISCONTINUED] HipChat client library for Elixir

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published