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 codecov

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.2.0.tar.gz (12.7 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.2.0-py3-none-any.whl (11.2 kB view details)

Uploaded Python 3

File details

Details for the file jps_jira_workspace_utils-1.2.0.tar.gz.

File metadata

  • Download URL: jps_jira_workspace_utils-1.2.0.tar.gz
  • Upload date:
  • Size: 12.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.14

File hashes

Hashes for jps_jira_workspace_utils-1.2.0.tar.gz
Algorithm Hash digest
SHA256 83dd6ecba8113d72ae52a6adf687afff3291ce96d3561165ac656993b0da302d
MD5 415a064ab4f792fe1ffa9150b3520543
BLAKE2b-256 44c8c5281b4601635d2cbb9d054cc13ab92759d3cfa4d8e53815743874bfb99e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for jps_jira_workspace_utils-1.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 f317d0f24be9ed668fffaf7072050b8048382ba706bea113bd086ee4131e5cc8
MD5 b35a39e77815a175b2417da49831ac57
BLAKE2b-256 fe00525815d9510ca19d2723190ddbac19638663314dff611cb39b56a0df13c6

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