Jira Reader
Jira is an issue tracking system by Atlassian intended for bug tracking and project management. The Striim Jira Reader uses Jira REST APIs to read data from a Jira instance. Jira Reader ingests Jira data and emits WAEvents that can be processed with continuous queries or directed to a Striim target.
You can read from Jira and write to any target supported by Striim.
Summary information and supported objects
APIs used/data supported | Jira REST API 9.11 |
Data supported | Standard Jira objects (see the programmers reference for the full list). |
Supported targets | Any Striim target that accepts WAEvents |
Security and authentication | OAuth or API token |
Operations / modes supported |
|
Schema management | The Jira Reader supports initial schema creation. |
Resilience / recovery | At-once-processing (A1P) recovery supported. A1P recoveries can result in duplicate entries after recovery. |
Performance | Striim Platform-supported parallel execution |
Programmability |
|
Metrics and auditing | Key metrics available through Striim monitoring |
Key limitations |
|
Programmer's reference for Jira Reader
This section provides a reference for the specific objects that the Jira Reader supports and a guide to the Jira Reader's properties.
In TQL, specify Global.JiraReader as the source type and configure its properties as needed.
Jira Reader properties
Property | Type | Default value | Notes |
|---|---|---|---|
Authentication mode | Select list
| Used to connect to a Jira account. | |
Client ID | String | Client ID of an app created in the Atlassian developer console. Used with OAuth. | |
Client secret | Password | Client secret for the app specified by Client ID. Used with OAuth. | |
Refresh token | Password | Refresh token that generates new access tokens. Used with OAuth. | |
Username | String | User name for the Atlassian account. Used with API token. | |
API token | Password | API token for the Atlassian account. Used with API token mode. | |
Endpoint URL | String | Base URL to access Jira Cloud, for example | |
Tables | String | Semicolon-delimited ( | |
Excluded tables | String | List of tables to exclude. Useful when | |
Mode | Select list
| Controls adapter behavior. Automated mode performs initial load then incremental polling. | |
Include custom fields | Boolean | False | When set to True, custom fields defined in your Jira instance are included as additional columns in the Issues table. Custom fields of type People or User Picker are mapped to two columns per field, with |
Return HTML content | Boolean | False | When set to True, rich text fields are returned as HTML content instead of raw Jira wiki markup. This preserves formatting such as bold, italics, lists, tables, and links so that data rendered in a browser at the target retains the same appearance as in Jira. Affected fields include When set to False, content is returned as-is with Jira wiki markup syntax. |
Incremental load marker | String | ID | Unique incremental column used for incremental load. Prefer a timestamp-based marker when available. In some tables, the effective "ID" may not monotonically increase, which can lead to data loss if used. |
Start position | String | %=-1 | Initial offset for incremental reads. The |
Polling interval | String | 5m | Interval as an integer plus unit ( |
Migrate schema | Boolean | False | Available in Initial Load and Automated mode. Creates initial target schema. |
Thread pool count | Integer | 10 | Parallel threads. Increase with care and align with connection capacity. The |
Connection pool size | Integer | 20 | Maximum simultaneous active connections. |
Supported objects
The Jira Reader supports the following tables.
AdvancedSettings
ApplicationRoles
Attachments
Audit
BoardConfiguration
BoardIssues
Boards
BoardSprints
Comments
Configuration
CustomFieldContext
Dashboards
Epics
FavouriteFilters
Fields
Filters
Groups
IssueAffectedVersions
IssueChangelogs
IssueComponents
IssueCustomFieldOptions
IssueCustomFields
IssueFixVersions
IssueLinks
IssueLinkTypes
IssueNavigatorDefaultColumns
IssuePriorities
IssueResolutions
Issues
IssueSubtasks
IssueTransitions
IssueTypes
Permissions
ProjectCategories
ProjectComponents
ProjectRoleActors
ProjectRoles
Projects
ProjectsIssueTypes
ProjectTypes
ProjectVersions
RoleActors
Roles
SecurityLevels
SecuritySchemes
SprintIssues
Sprints
Statuses
TimeTrackingProviders
Users
Votes
Watchers
Workflows
WorkflowStatusCategories
WorkflowStatuses
WorklogDeleted
Worklogs
The Sprints table requires the read:sprint:jira-software scope. The RoleActors and Roles tables require either the manage:jira-configuration scope or this set of scopes: read:user:jira, read:group:jira, read:project-role:jira, read:project:jira, read:avatar:jira, read:project-category:jira. All other tables typically require the read:jira-user and read:jira-work scopes.
Operational considerations for Jira Reader
The following guidance and metrics can help you deploy and operate Jira integrations in Striim.
Metrics monitored by the Jira Reader
Metric | Description |
|---|---|
Number of deletes | Number of delete operations |
Number of DDLs | Number of data definition language operations |
Number of PKUpdates | Number of primary key update operations |
Number of updates | Number of update operations |
Number of inserts | Number of insert operations |
Jira Reader limitations
The Jira Reader does not capture DELETE events.
Records for objects that do not support incremental load are synced at every poll, which can create duplicate records. To avoid this, enable Merge mode for the targets of data streams likely to contain records from such objects.
When Striim cannot determine the time of last update for an object, records for that object are duplicated at the target at every poll (for example, if the object lacks a suitable incremental marker).
If the
Idcolumn is of String datatype in some tables, a full re-sync will be done at every poll.When
IncludeCustomFieldsis enabled, Initial Load throughput for the Issues table is approximately 2.5 times slower compared to when the property is disabled.If a custom field's display name is modified in Jira while the pipeline is running, the Jira Reader does not detect the column name change. Data for the modified field continues to populate in the target column using the original column name.
Changes to custom field data types during application runtime are not supported.
When
ReturnHTMLContentis enabled, certain Jira formatting is not converted to HTML by the Jira API. Tables with merged cells are returned as JSON rather than HTML. Superscript and subscript formatting, checkboxes (action items), and inline images or attachments are not rendered as HTML.Enabling
ReturnHTMLContentintroduces additional processing overhead. Initial load throughput is approximately 7 to 10% slower without custom fields, and approximately 20% slower with custom fields enabled.