README.md

# ExJira

A JIRA client library for Elixir using <a href="https://github.com/tim/erlang-oauth/" target="_blank">erlang-oauth</a> to call the <a href="https://docs.atlassian.com/jira/REST/latest/" target="_blank">JIRA REST API</a>.

A non-trivial project to help me get started using Elixir - Currently WIP.


### Usage

#### 1. Add dependencies

Add the following to the deps section in `mix.exs`.

```elixir
defp deps do
  [
    {:oauth, github: "tim/erlang-oauth"},
    {:extwitter, "~> 0.1"}
  ]
end
```

#### 2. Setup OAuth parameters

Use `ExJira.configure` to setup the JIRA OAuth parameters. See the Configuration section below for further details.

#### 3. Access JIRA endpoints

Call the functions in the ExJira module (e.g. `ExJira.projects` to return all projects or `ExJira.project("KEY")` to return a specifc one).


### Configuration

There are three ways to configure ExJira:

#### Using config.exs

In `config/config.exs` add the following:

```elixir
config :ex_jira, [
  site: "http://youraccount.atlassian.net",
  private_key_file: "private_key.pem"
  consumer_key: ""
]
```

#### Across the application at runtime

```elixir
ExJira.configure([consumer_key: "", ...])
```

#### For the current process at runtime

```elixir
ExJira.configure(:process, [consumer_key: "", ...])
```