Logo

0x5a.live

for different kinds of informations and explorations.

GitHub - ymtszw/hipchat_elixir: [DISCONTINUED] HipChat client library for Elixir

[DISCONTINUED] HipChat client library for Elixir. Contribute to ymtszw/hipchat_elixir development by creating an account on GitHub.

Visit SiteGitHub - ymtszw/hipchat_elixir: [DISCONTINUED] HipChat client library for Elixir

GitHub - ymtszw/hipchat_elixir: [DISCONTINUED] HipChat client library for Elixir

[DISCONTINUED] HipChat client library for Elixir. Contribute to ymtszw/hipchat_elixir development by creating an account on GitHub.

Powered by 0x5a.live ๐Ÿ’—

:warning: 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! :heart:

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

Elixir Resources

are all listed below.

Resources

listed to get explored on!!

Made with โค๏ธ

to provide different kinds of informations and resources.