diff --git a/README.md b/README.md index ddadf8a..d78e7ab 100644 --- a/README.md +++ b/README.md @@ -23,6 +23,7 @@ Required Embulk version >= 0.9.20 - **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) +- **expand** Use [expand](https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-issue-search/#api-rest-api-3-search-get) to include additional information about issues in the response (array, optional) - **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) diff --git a/src/main/java/org/embulk/input/jira/JiraInputPlugin.java b/src/main/java/org/embulk/input/jira/JiraInputPlugin.java index 148b2c9..d76f55d 100644 --- a/src/main/java/org/embulk/input/jira/JiraInputPlugin.java +++ b/src/main/java/org/embulk/input/jira/JiraInputPlugin.java @@ -79,6 +79,10 @@ public interface PluginTask @ConfigDefault("null") public Optional getJQL(); + @Config("expand") + @ConfigDefault("[]") + public List getExpand(); + @Config("columns") public SchemaConfig getColumns(); diff --git a/src/main/java/org/embulk/input/jira/client/JiraClient.java b/src/main/java/org/embulk/input/jira/client/JiraClient.java index b4f139f..66aea8f 100644 --- a/src/main/java/org/embulk/input/jira/client/JiraClient.java +++ b/src/main/java/org/embulk/input/jira/client/JiraClient.java @@ -254,6 +254,11 @@ private String createSearchIssuesBody(final PluginTask task, final int startAt, final JsonArray fields = new JsonArray(); fields.add("*all"); body.add("fields", fields); + final JsonArray expand = new JsonArray(); + task.getExpand().forEach(e -> { + expand.add(e); + }); + body.add("expand", expand); return body.toString(); } }