Packages

Jiraffe is an Elixir client library for interacting with Atlassian's Jira REST API.

Current section

Files

Jump to
jiraffe lib jiraffe.ex
Raw

lib/jiraffe.ex

defmodule Jiraffe do
@moduledoc """
Documentation for `Jiraffe`.
"""
use Tesla
@type auth_params() ::
[
basic:
%{email: String.t(), token: String.t()}
| %{username: String.t(), password: String.t()},
oauth2: %{access_token: String.t()},
personal_access_token: String.t(),
token: String.t()
]
| String.t()
@type client_t() :: Jiraffe.Client.t()
@doc """
Reteruns a Tesla client with correct Base URL and Authorization headers
Jiraffe.client("https://example.atlassian.net", aouth2: %{access_token: "a-token"})
%Tesla.Client{}
"""
@spec client(base_url :: String.t(), auth_params :: auth_params()) :: client_t()
defdelegate client(base_url, auth_params),
to: Jiraffe.Client,
as: :new
end