JiraBatch
JiraBatch is a Python CLI for creating multiple Jira issues in batches via a YAML definition.
Installation
pip3 install jirabatch
Usage
Create a configuration file, e.g. jirabatch.yaml, and then create an issues file, e.g. issues.yaml .
Run jirabatch with specified config file and issues file:
jirabatch --conf-file jirabatch.yaml --issues-file issues.yaml
Show help guide:
jirabatch --help
Configuration
These are the configuration properties that you can use with jirabatch CLI.
Some example configuration files are available on examples folder.
Jira Batch configuration properties:
| Property | Type | Required | Description | Example |
|---|---|---|---|---|
url |
String | Yes | The base URL of the Jira server | https://someorg.atlassian.net |
user |
String | Yes | The Jira username or email address | someuser@example.com |
api_token |
String | Yes* | The Jira API token used for authentication. Takes precedence over password |
sometoken12345 |
password |
String | Yes* | The Jira account password. Used as fallback when api_token is not set |
somepassword |
Issues configuration properties:
| Property | Type | Required | Description | Example |
|---|---|---|---|---|
defaults |
Object | No | Default field values merged into every entry in issues[] |
{ project: "KAN", issuetype: "Task" } |
issues[] |
Array | Yes | List of Jira issues to create | [{ summary: "Issue summary" }] |
issues[].project |
String | Yes* | Jira project key | ENG |
issues[].issuetype |
String | Yes* | Jira issue type name | Task |
issues[].summary |
String | Yes* | Jira issue summary | Rotate SSH key |
issues[].description |
String | No | Jira issue description | Rotate SSH key before expiry |
issues[].reporter |
String | No | Reporter account ID | 5b10a2844c20165700ede21g |
issues[].assignee |
String | No | Assignee account ID | 5b10ac8d82e05b22cc7d4ef5 |
issues[].priority |
String | No | Priority name | High |
issues[].labels[] |
Array[String] | No | Labels to assign | ["infra", "security"] |
issues[].components[] |
Array[String] | No | Component names | ["Cloud", "Backend"] |
issues[].versions[] |
Array[String] | No | Affects version names | ["2026.1"] |
issues[].fixVersions[] |
Array[String] | No | Fix version names | ["2026.2"] |
issues[].environment |
String | No | Environment field value | Production AWS us-east-1 |
issues[].duedate |
String | No | Due date (sent as string) | 2026-04-01 |
issues[].timetracking |
Object | No | Jira timetracking object | { originalEstimate: "3d", remainingEstimate: "2d" } |
issues[].security |
String | No | Security level name | Internal |
issues[].parent |
String | No | Parent issue key | KAN-100 |
issues[].epic |
String | No | Epic issue key (normalized to parent) | KAN-10 |
issues[].customFields |
Object | No | Map of Jira custom field IDs to values | { customfield_10100: "Platform Team" } |
issues[].subtasks[] |
Array[Object] | No | Subtasks created after parent issue succeeds. Subtasks belong to the same project as the parent issue | [{ summary: "Subtask 1" }] |
issues[].subtasks[].summary |
String | Yes* | Subtask summary | Update cert in service A |
issues[].subtasks[].description |
String | No | Subtask description | Roll out cert to service A |
issues[].subtasks[].issuetype |
String | No | Must be a Jira subtask issue type name. Defaults to Subtask; set explicitly to your project subtask type (for example Sub-task) |
Sub-task |
FAQ
How to find reporter and assignee values?
reporter and assignee must be Jira accountId values, not display names or email addresses.
Visit https://<id>.atlassian.net/rest/api/3/user/search?query=<user_name_or_email>
and you will receive a JSON response:
[
{
"accountId": "5b10a2844c20165700ede21g",
"displayName": "Some User",
...
}
]
Copy the accountId value and use it in your issues file:
issues:
- summary: Some Jira issue
reporter: "5b10a2844c20165700ede21g"
assignee: "5b10a2844c20165700ede21g"
Colophon
Build reports:
Metadata
Release files for jirabatch 1.0.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| jirabatch-1.0.0.tar.gz | 11.1 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| jirabatch-1.0.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 23.6 kB
Release files / jirabatch-1.0.0.tar.gz
| Download URL | jirabatch-1.0.0.tar.gz |
|---|---|
| Size | 11.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
406f1677c0ea1bf295bee45f37dc9e851c23f364b308855b279dbd9aebe5fb61
|
|
BLAKE2b-256 checksum How to use checksums |
5535fd35e08fdb5fe8d7b66f6cd4b647acf8c54d6c8e6824f4d1944164d3bb59
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/2.3.2 CPython/3.14.5 Linux/6.17.0-1015-azure
|
Release files / jirabatch-1.0.0-py3-none-any.whl
| Download URL | jirabatch-1.0.0-py3-none-any.whl |
|---|---|
| Size | 12.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
58cb596e3b07dcb0330cd7185a1505a206813eca3541e4a763066faca2d99c3a
|
|
BLAKE2b-256 checksum How to use checksums |
a1627058828fa3a573ada85e965dff45672c1fc2b0ca32ed54f71b9f716471dc
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/2.3.2 CPython/3.14.5 Linux/6.17.0-1015-azure
|
Security for jirabatch 1.0.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.