Name | bfjira JSON |
Version |
0.7.3
JSON |
| download |
home_page | None |
Summary | Create Git branches from Jira tickets |
upload_time | 2025-08-11 14:31:18 |
maintainer | None |
docs_url | None |
author | Nick Hobart |
requires_python | <4.0,>=3.10 |
license | MIT |
keywords |
jira
git
workflow
automation
|
VCS |
 |
bugtrack_url |
|
requirements |
No requirements were recorded.
|
Travis-CI |
No Travis.
|
coveralls test coverage |
No coveralls.
|

# bfjira - Branch Management with JIRA Integration
bfjira (branch from Jira) is a command-line utility that simplifies the process of creating Git branches based on JIRA ticket information. It ensures that branch names are consistent and informative by incorporating the issue type and summary from the JIRA ticket.
## Installation
The recommended way to install bfjira is via `pip` from PyPI:
```bash
pip install bfjira
```
Make sure you have `pip` installed and are using a virtual environment if necessary.
## Usage
To use bfjira, you must have the following environment variables set:
- `JIRA_SERVER`: Your JIRA server URL.
- `JIRA_EMAIL`: The email address associated with your JIRA account.
- `JIRA_API_TOKEN`: Your JIRA API token.
Instructions for creating a Jira API token can be found [here](https://support.atlassian.com/atlassian-account/docs/manage-api-tokens-for-your-atlassian-account/)
Optionally, you can set the `JIRA_TICKET_PREFIX` environment variable to use a default prefix other than "SRE" for ticket IDs that are entered without a prefix.
### Basic Commands
- Show version:
```bash
bfjira --version
```
- Show help message:
```bash
bfjira --help
```
- Create a branch for a JIRA ticket:
```bash
bfjira --ticket SRE-1234
```
If you only have the ticket number, bfjira will use the default prefix ("SRE" or whatever is set in `JIRA_TICKET_PREFIX`):
```bash
bfjira -t 1234
```
### Advanced Options
- Set a custom issue type for the branch:
```bash
bfjira -t 1234 --issue-type hotfix
```
- Create a branch without setting the upstream:
```bash
bfjira -t 1234 --no-upstream
```
- Increase output verbosity (useful for debugging):
```bash
bfjira -t 1234 --verbose
```
- Optionally prevent transitioning the ticket to 'In Progress':
By default, the script transitions the specified JIRA ticket to 'In Progress'. If you wish to create a branch for the ticket without changing its status, use the `--no-progress` flag. This is useful when you need to perform operations on the ticket without indicating that work has started.
```bash
bfjira -t 1234 --no-progress
```
- Handle uncommitted changes:
If `bfjira` detects uncommitted changes (including untracked files) in your repository, it will prompt you before proceeding. You can choose to have the script automatically stash these changes. The stash will be automatically popped after the branch is successfully created and the JIRA ticket is transitioned. If you choose not to stash, the script will exit.
## Versioning
bfjira follows [Semantic Versioning](https://semver.org/) (SemVer) for its releases:
- **MAJOR** version (X.0.0) - Incompatible API changes
- **MINOR** version (0.X.0) - New features in a backward-compatible manner
- **PATCH** version (0.0.X) - Backward-compatible bug fixes
The versioning is automated through GitHub Actions, which:
1. Detects the type of change (feature, fix, etc.) from commit messages
2. Automatically increments the appropriate version number
3. Creates a new release and publishes to PyPI
## Troubleshooting
### Common Issues
1. **JIRA Authentication Errors**
- Ensure your `JIRA_API_TOKEN` is valid and not expired
- Verify your `JIRA_EMAIL` matches the account associated with the API token
- Check that your JIRA account has the necessary permissions
2. **Branch Creation Issues**
- Make sure you're in a Git repository
- Verify you have write permissions to the repository
- Check that the branch name doesn't already exist
3. **Version Mismatches**
- If you encounter version-related issues, try updating to the latest version:
```bash
pip install --upgrade bfjira
```
### Getting Help
If you encounter issues not covered here:
1. Check the [GitHub Issues](https://github.com/nwhobart/bfjira/issues) for similar problems
2. Enable verbose output with `--verbose` flag for more detailed error messages
3. Open a new issue with detailed information about your problem
## Development
### Setup
bfjira uses [Poetry](https://python-poetry.org/) for dependency management and packaging. To set up the development environment:
1. Install Poetry:
```bash
curl -sSL https://install.python-poetry.org | python3 -
```
2. Clone the repository:
```bash
git clone https://github.com/nwhobart/bfjira.git
cd bfjira
```
3. Install dependencies:
```bash
poetry install
```
4. Activate the virtual environment:
```bash
poetry shell
```
### Running Tests
Run the test suite with:
```bash
poetry run pytest
```
### Contributing
Contributions to bfjira are welcome! Please read the contributing guidelines before submitting pull requests.
## License
bfjira is released under the GNU General Public License. See the [LICENSE](LICENSE) file for more details.
Raw data
{
"_id": null,
"home_page": null,
"name": "bfjira",
"maintainer": null,
"docs_url": null,
"requires_python": "<4.0,>=3.10",
"maintainer_email": null,
"keywords": "jira, git, workflow, automation",
"author": "Nick Hobart",
"author_email": "nick@hobart.io",
"download_url": "https://files.pythonhosted.org/packages/59/06/8c94e22601bbb5544113eddc1af3a569ffa41ffb498d428ac19660c13a1c/bfjira-0.7.3.tar.gz",
"platform": null,
"description": "\n\n\n# bfjira - Branch Management with JIRA Integration\n\nbfjira (branch from Jira) is a command-line utility that simplifies the process of creating Git branches based on JIRA ticket information. It ensures that branch names are consistent and informative by incorporating the issue type and summary from the JIRA ticket.\n\n## Installation\n\nThe recommended way to install bfjira is via `pip` from PyPI:\n\n```bash\npip install bfjira\n```\n\nMake sure you have `pip` installed and are using a virtual environment if necessary.\n\n## Usage\n\nTo use bfjira, you must have the following environment variables set:\n\n- `JIRA_SERVER`: Your JIRA server URL.\n- `JIRA_EMAIL`: The email address associated with your JIRA account.\n- `JIRA_API_TOKEN`: Your JIRA API token.\n\nInstructions for creating a Jira API token can be found [here](https://support.atlassian.com/atlassian-account/docs/manage-api-tokens-for-your-atlassian-account/)\n\nOptionally, you can set the `JIRA_TICKET_PREFIX` environment variable to use a default prefix other than \"SRE\" for ticket IDs that are entered without a prefix.\n\n### Basic Commands\n\n- Show version:\n\n ```bash\n bfjira --version\n ```\n\n- Show help message:\n\n ```bash\n bfjira --help\n ```\n\n- Create a branch for a JIRA ticket:\n\n ```bash\n bfjira --ticket SRE-1234\n ```\n\n If you only have the ticket number, bfjira will use the default prefix (\"SRE\" or whatever is set in `JIRA_TICKET_PREFIX`):\n\n ```bash\n bfjira -t 1234\n ```\n\n### Advanced Options\n\n- Set a custom issue type for the branch:\n\n ```bash\n bfjira -t 1234 --issue-type hotfix\n ```\n\n- Create a branch without setting the upstream:\n\n ```bash\n bfjira -t 1234 --no-upstream\n ```\n\n- Increase output verbosity (useful for debugging):\n\n ```bash\n bfjira -t 1234 --verbose\n ```\n\n- Optionally prevent transitioning the ticket to 'In Progress':\n\n By default, the script transitions the specified JIRA ticket to 'In Progress'. If you wish to create a branch for the ticket without changing its status, use the `--no-progress` flag. This is useful when you need to perform operations on the ticket without indicating that work has started.\n\n ```bash\n bfjira -t 1234 --no-progress\n ```\n\n- Handle uncommitted changes:\n\n If `bfjira` detects uncommitted changes (including untracked files) in your repository, it will prompt you before proceeding. You can choose to have the script automatically stash these changes. The stash will be automatically popped after the branch is successfully created and the JIRA ticket is transitioned. If you choose not to stash, the script will exit.\n\n## Versioning\n\nbfjira follows [Semantic Versioning](https://semver.org/) (SemVer) for its releases:\n\n- **MAJOR** version (X.0.0) - Incompatible API changes\n- **MINOR** version (0.X.0) - New features in a backward-compatible manner\n- **PATCH** version (0.0.X) - Backward-compatible bug fixes\n\nThe versioning is automated through GitHub Actions, which:\n1. Detects the type of change (feature, fix, etc.) from commit messages\n2. Automatically increments the appropriate version number\n3. Creates a new release and publishes to PyPI\n\n## Troubleshooting\n\n### Common Issues\n\n1. **JIRA Authentication Errors**\n - Ensure your `JIRA_API_TOKEN` is valid and not expired\n - Verify your `JIRA_EMAIL` matches the account associated with the API token\n - Check that your JIRA account has the necessary permissions\n\n2. **Branch Creation Issues**\n - Make sure you're in a Git repository\n - Verify you have write permissions to the repository\n - Check that the branch name doesn't already exist\n\n3. **Version Mismatches**\n - If you encounter version-related issues, try updating to the latest version:\n ```bash\n pip install --upgrade bfjira\n ```\n\n### Getting Help\n\nIf you encounter issues not covered here:\n1. Check the [GitHub Issues](https://github.com/nwhobart/bfjira/issues) for similar problems\n2. Enable verbose output with `--verbose` flag for more detailed error messages\n3. Open a new issue with detailed information about your problem\n\n## Development\n\n### Setup\n\nbfjira uses [Poetry](https://python-poetry.org/) for dependency management and packaging. To set up the development environment:\n\n1. Install Poetry:\n ```bash\n curl -sSL https://install.python-poetry.org | python3 -\n ```\n\n2. Clone the repository:\n ```bash\n git clone https://github.com/nwhobart/bfjira.git\n cd bfjira\n ```\n\n3. Install dependencies:\n ```bash\n poetry install\n ```\n\n4. Activate the virtual environment:\n ```bash\n poetry shell\n ```\n\n### Running Tests\n\nRun the test suite with:\n```bash\npoetry run pytest\n```\n\n### Contributing\n\nContributions to bfjira are welcome! Please read the contributing guidelines before submitting pull requests.\n\n## License\n\nbfjira is released under the GNU General Public License. See the [LICENSE](LICENSE) file for more details.\n\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "Create Git branches from Jira tickets",
"version": "0.7.3",
"project_urls": {
"Documentation": "https://github.com/nickhobart/bfjira#readme",
"Repository": "https://github.com/nickhobart/bfjira"
},
"split_keywords": [
"jira",
" git",
" workflow",
" automation"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "51fa1f982f02976a503c2170fbd08b45839336eb8908238611a72af115a6a515",
"md5": "15b92a21de0f62c75338845171f31b97",
"sha256": "e242be77006f59c1bb1d2e8b46e1b6cb4264fc2930f659e66afab368895c684d"
},
"downloads": -1,
"filename": "bfjira-0.7.3-py3-none-any.whl",
"has_sig": false,
"md5_digest": "15b92a21de0f62c75338845171f31b97",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": "<4.0,>=3.10",
"size": 19685,
"upload_time": "2025-08-11T14:31:17",
"upload_time_iso_8601": "2025-08-11T14:31:17.392951Z",
"url": "https://files.pythonhosted.org/packages/51/fa/1f982f02976a503c2170fbd08b45839336eb8908238611a72af115a6a515/bfjira-0.7.3-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "59068c94e22601bbb5544113eddc1af3a569ffa41ffb498d428ac19660c13a1c",
"md5": "258ca799465ff945c1f12990f140807d",
"sha256": "46d722099723ea13867c07eb9d9457a8bbb33f926b4eee4eb44516803cfe2476"
},
"downloads": -1,
"filename": "bfjira-0.7.3.tar.gz",
"has_sig": false,
"md5_digest": "258ca799465ff945c1f12990f140807d",
"packagetype": "sdist",
"python_version": "source",
"requires_python": "<4.0,>=3.10",
"size": 17884,
"upload_time": "2025-08-11T14:31:18",
"upload_time_iso_8601": "2025-08-11T14:31:18.736334Z",
"url": "https://files.pythonhosted.org/packages/59/06/8c94e22601bbb5544113eddc1af3a569ffa41ffb498d428ac19660c13a1c/bfjira-0.7.3.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-08-11 14:31:18",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "nickhobart",
"github_project": "bfjira#readme",
"github_not_found": true,
"lcname": "bfjira"
}