Product Promotion
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
[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
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
- Add
:hipchat_elixir
as a dependency. - Create client struct (
Hipchat.ApiClient.new/3
).- Pass
access_token
if the targeted API requires authentication. - See here for details.
- Pass
- 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
.
- Currently only supports
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.
Made with โค๏ธ
to provide different kinds of informations and resources.