Skip to main content
Version: Next

Jira

Jira source connector

Description

Reads data from Jira REST APIs. The connector adds the Jira Basic authentication header from email and api_token, then uses the shared HTTP source runtime to parse the response.

Key features

tip

The Jira source is a batch-only connector. It throws an error when the job runs in streaming mode.

Options

nametyperequireddefault valuedescription
urlStringYes-Jira REST API URL.
emailStringYes-Jira account email used for Basic authentication.
api_tokenStringYes-Jira API token used for Basic authentication.
methodStringNoGETHTTP method. Supported values are GET and POST.
headersMapNo-Extra HTTP request headers. Do not put the Jira Authorization header here unless you intentionally want to override the generated header.
paramsMapNo-HTTP query parameters.
bodyStringNo-HTTP request body, usually used with POST.
formatStringNoTEXTResponse format. Use json when the response should be parsed by schema, json_field, or content_field.
schemaConfigNo-Output schema. Required when format = "json".
json_fieldConfigNo-JSONPath mapping from response fields to output columns. Must be used together with schema.
content_fieldStringNo-JSONPath used to select the array or object that should be parsed as rows.
pageingConfigNo-Pagination settings. See Pagination.
poll_interval_millisintNo-Poll interval in milliseconds. Jira source is batch-only, so this option is not useful for Jira streaming jobs.
retryintNo-Maximum retry count when the request throws IOException.
retry_backoff_multiplier_msintNo100Retry backoff multiplier in milliseconds.
retry_backoff_max_msintNo10000Maximum retry backoff in milliseconds.
json_filed_missed_return_nullbooleanNofalseReturn null when a field configured in json_field is missing.
common-optionsconfigNo-Source common options. See Source Common Options.

Authentication

Create a Jira API token from your Atlassian account and set:

  • email: the Jira account email.
  • api_token: the Jira API token.

The connector builds the Basic authentication header automatically.

Response Parsing

The default format is TEXT, which returns the whole response as one content column.

Use format = "json" and schema when you want structured output:

format = "json"
schema = {
fields {
expand = string
startAt = int
maxResults = int
total = string
}
}

Use content_field when the rows are inside a nested JSON node. Use json_field when columns need to be extracted from different JSONPath expressions.

Pagination

pageing can be used when the target API needs paging parameters.

nametyperequireddefault valuedescription
total_page_sizelongNo0Total number of pages to request.
batch_sizeintNo100Page size returned by each request.
start_page_numberlongNo1First page number.
page_fieldStringNopageRequest parameter name for page number pagination.
page_typeStringNoPageNumberPagination type. Supported values are PageNumber and Cursor.
cursor_fieldStringNo-Request parameter name for cursor pagination.
cursor_response_fieldStringNo-JSONPath field used to read the next cursor from the response.
use_placeholder_replacementbooleanNofalseUse ${field} placeholder replacement in headers, parameters, and body.

Example

env {
parallelism = 1
job.mode = "BATCH"
}

source {
Jira {
plugin_output = "jira"
url = "https://example.atlassian.net/rest/api/3/search"
email = "admin@example.com"
api_token = "replace-with-token"
method = "GET"
format = "json"
schema = {
fields {
expand = string
startAt = int
maxResults = int
total = string
}
}
}
}

sink {
Console {
plugin_input = "jira"
}
}

Changelog

Change Log
ChangeCommitVersion
[improve] http connector options (#8969)https://github.com/apache/seatunnel/commit/63ff9f910a2.3.10
[Feature][Connector-V2] Support TableSourceFactory/TableSinkFactory on http (#5816)https://github.com/apache/seatunnel/commit/6f49ec6ead2.3.4
[Improve][build] Give the maven module a human readable name (#4114)https://github.com/apache/seatunnel/commit/d7cd6010512.3.1
[Improve][Project] Code format with spotless plugin. (#4101)https://github.com/apache/seatunnel/commit/a2ab1665612.3.1
[Improve][Connector-V2][Http]Improve json parse option rule for all http connector (#3627)https://github.com/apache/seatunnel/commit/589e4161ec2.3.0
[Feature][Connector-V2][HTTP] Use json-path parsing (#3510)https://github.com/apache/seatunnel/commit/1807eb6c952.3.0
[Hotfix][OptionRule] Fix option rule about all connectors (#3592)https://github.com/apache/seatunnel/commit/226dc6a1192.3.0
[Feature][Connector-V2][Jira]Add Jira source connector (#3473)https://github.com/apache/seatunnel/commit/fb40162c072.3.0