README.md
[![Build Status](https://travis-ci.org/treasure-data/embulk-input-jira.svg)](https://travis-ci.org/treasure-data/embulk-input-jira)
[![Code Climate](https://codeclimate.com/github/treasure-data/embulk-input-jira/badges/gpa.svg)](https://codeclimate.com/github/treasure-data/embulk-input-jira)
[![Test Coverage](https://codeclimate.com/github/treasure-data/embulk-input-jira/badges/coverage.svg)](https://codeclimate.com/github/treasure-data/embulk-input-jira/coverage)
[![Gem Version](https://badge.fury.io/rb/embulk-input-jira.svg)](https://badge.fury.io/rb/embulk-input-jira)
# Jira input plugin for Embulk
embulk-input-jira is the Embulk input plugin for [JIRA](https://www.atlassian.com/software/jira).
## Overview
Required Embulk version >= 0.10.19
* **Plugin type**: input
* **Resume supported**: no
* **Cleanup supported**: no
* **Guess supported**: yes
## Configuration
**Since JIRA is going to deprecate the basic authentication with passwords and cookie-based authentication to their APIs, we highly recommend you to use email and API key to authenticate to JIRA APIs. [Deprecated notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-basic-auth-and-cookie-based-auth/)**
- **username** JIRA username or email (string, required)
- **password** JIRA password or API keys (string, required)
- **uri** JIRA API endpoint (string, required)
- **jql** [JQL](https://confluence.atlassian.com/display/JIRA/Advanced+Searching) for extract target issues (string, required)
- **dynamic_schema** Used it to refresh the schema each time ingestion (boolean, default: `false`)
- **columns** target issue attributes. You can generate this configuration by `guess` command (array, required)
- **retry_initial_wait_sec**: Wait seconds for exponential backoff initial value (integer, default: 1)
- **retry_limit**: Try to retry this times (integer, default: 5)
## Example
```yaml
in:
type: jira
username: USERNAME
password: PASSWORD
uri: http://localhost:8090
jql: project = PRO AND summary~Fix
columns:
- {name: id, type: long}
- {name: key, type: string}
- {name: project.name, type: string}
- {name: summary, type: string}
- {name: assignee.name, type: string}
```
## Build
```
$ ./gradlew checkstyle test jacocoTestReport; ./gradlew gem;
```
## Build and Test With Local File
```
$ rm -rf build; ./gradlew gem; embulk guess -L ./build/gemContents/ {path_to_yaml_file}
```
## Publish
```
$ rm -rf build; ./gradlew gem; ./gradlew publishMavenPublicationToMavenCentralRepository
```