Skip to main content

Utility for creating Jira workspaces, managing Git branches for Jira issues, and seeding standardized README files.

Project description

jps-jira-workspace-utils

Test Publish to PyPI

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

jps_jira_workspace_utils-1.1.0.tar.gz (12.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

jps_jira_workspace_utils-1.1.0-py3-none-any.whl (11.1 kB view details)

Uploaded Python 3

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

Hashes for jps_jira_workspace_utils-1.1.0.tar.gz
Algorithm Hash digest
SHA256 d7fc2cae4018a02b852cf76e2ebdabbb4635c77dea154384a04dcb67154acb8a
MD5 8726edfd75c979f8c2635748cf861403
BLAKE2b-256 42396a1376548f9c972a57337903aa01248f052543e6c5535ca5ea4bcf0c9ce7

See more details on using hashes here.

File details

Details for the file jps_jira_workspace_utils-1.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for jps_jira_workspace_utils-1.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 86ffcf8f4668e0104fc2c1b97128512702e88f56b1a849217a7e2f26f3a629ed
MD5 741dd5103be1dc2e26a75dc745573050
BLAKE2b-256 ab6fb9e99d46c99d0c545e1966cc87879f09eeb438f4c352e0975e74a790e335

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page