Utility for creating Jira workspaces, managing Git branches for Jira issues, and seeding standardized README files.
Project description
jps-jira-workspace-utils
Utilities for automating Jira-related workspace and branch management tasks.
Includes CLI tools for creating Jira workspaces and Git branches that follow team conventions.
🧩 Installation
pip install jps-jira-workspace-utils
or install in editable mode for local development:
git clone git@github.com:jai-python3/jps-jira-workspace-utils.git
cd jps-jira-workspace-utils
pip install -e .
🧩 create-jira-workspace
This utility initializes a Jira workspace with a standardized directory structure and a seeded README.md file.
Usage
create-jira-workspace --jira-id JPS-123 --project carrier-var
Options
| Option | Description | Default |
|---|---|---|
--jira-id |
Jira issue key (e.g., JPS-123) |
(required) |
--project |
Project or codebase name | (required) |
--path |
Base path where workspace will be created | Current directory |
--open |
Open workspace in VSCode after creation | False |
Example
create-jira-workspace --jira-id JPS-123 --project carrier-var --open
This creates a directory like:
~/jira/JPS-123-carrier-var/
and seeds it with:
README.md
🧩 create-git-branch-for-jira-issue
This utility automates creating Git branches that follow the Jira naming convention.
Usage
create-git-branch-for-jira-issue --jira-id JPS-123 --codebase carrier-var --branch-type feature
Options
| Option | Description | Default |
|---|---|---|
--jira-id |
Jira issue key (e.g., JPS-123) |
(required) |
--codebase |
Codebase name (e.g., carrier-var) |
(required) |
--source-branch |
Source branch to base from | development |
--branch-type |
Branch type (feature, bugfix, hotfix) |
feature |
Example
create-git-branch-for-jira-issue --jira-id JPS-321 --codebase carrier-var --branch-type bugfix
This creates a new branch named:
bugfix/JPS-321-carrier-var
If a ~/.jira.env file exists, it will automatically load Jira-related environment variables (such as JIRA_USER and JIRA_TOKEN).
If no .jira.env is found, it will rely on environment variables already defined in your shell.
⚙️ Required Configuration File (~/.my_git_jira.conf)
The create-git-branch-for-jira-issue utility uses an optional configuration file to locate Git repositories by their short codebase identifiers.
📄 Location
~/.my_git_jira.conf
🧩 Purpose
This configuration maps human-readable codebase names (like project1) to their full Git repository URLs.
It allows you to specify a short --codebase name on the command line instead of typing a long Azure DevOps URL each time.
When a --codebase is provided, the utility looks up its corresponding URL from this configuration, navigates to the local clone (if it exists), and creates the new branch from the appropriate source branch.
🧾 Example Configuration
[codebases]
project1 = git@ssh.dev.azure.com:v3/org1/Org1/project1
project2 = git@ssh.dev.azure.com:v3/org1/Org1/project2
🧠 Notes
- The
[codebases]section is required; each key represents a codebase short name. - Values must be valid SSH URLs to Azure DevOps or GitHub repositories.
- The CLI uses this mapping to locate the right Git repository automatically.
✅ Example Workflow
create-git-branch-for-jira-issue --jira-id JPS-987 --codebase project1 --branch-type feature
This command will:
1️⃣ Read ~/.my_git_jira.conf
2️⃣ Find the SSH URL for project1
3️⃣ Verify or locate the local Git repository
4️⃣ Checkout the source branch (e.g., development)
5️⃣ Create and switch to:
feature/JPS-987-project1
🧪 Development and Testing
Install dependencies for linting, formatting, and testing:
pip install -e '.[dev]'
Run all lint and test checks:
make lint
make test
🧾 License
MIT License
© 2025 Jaideep Sundaram
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file jps_jira_workspace_utils-1.1.0.tar.gz.
File metadata
- Download URL: jps_jira_workspace_utils-1.1.0.tar.gz
- Upload date:
- Size: 12.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d7fc2cae4018a02b852cf76e2ebdabbb4635c77dea154384a04dcb67154acb8a
|
|
| MD5 |
8726edfd75c979f8c2635748cf861403
|
|
| BLAKE2b-256 |
42396a1376548f9c972a57337903aa01248f052543e6c5535ca5ea4bcf0c9ce7
|
File details
Details for the file jps_jira_workspace_utils-1.1.0-py3-none-any.whl.
File metadata
- Download URL: jps_jira_workspace_utils-1.1.0-py3-none-any.whl
- Upload date:
- Size: 11.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
86ffcf8f4668e0104fc2c1b97128512702e88f56b1a849217a7e2f26f3a629ed
|
|
| MD5 |
741dd5103be1dc2e26a75dc745573050
|
|
| BLAKE2b-256 |
ab6fb9e99d46c99d0c545e1966cc87879f09eeb438f4c352e0975e74a790e335
|