jira2branch


Namejira2branch JSON
Version 0.6.1 PyPI version JSON
download
home_pageNone
SummaryTakes a JIRA issue and creates a git branch
upload_time2025-09-02 17:06:30
maintainerNone
docs_urlNone
authorTiago Pereira
requires_python<3.12,>=3.11
licenseMIT
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # JIRA 2 Branch

Takes a JIRA issue and creates a git branch

```
Usage: jira2branch [OPTIONS] ISSUE_ID_OR_URL SOURCE_BRANCH

  Simple program that takes a JIRA issue ID and creates a new local and
  tracking remote branch

Options:
  -s, --simple         Basic naming strategy
  -n, --name-only      Generates the branch name and prints it, no actual
                       branch will be created (default is False)
  -p, --push           Push newly created branch to remote (default is False)
  -t, --target PATH    Target repository (default is current directory)
  -r, --merge-request  Create merge request. Requires --push. (default is
                       False)
  -c, --confirm        Request user confirmation (default is False)
  --preview            Preview MR Markdown in browser (default is False)
  -d, --dry-run        Dry run. Prints out the MR payload in JSON format but
                       does not invoke the API
  --config             Show config file location
  --help               Show this message and exit.
  
```

## Naming strategy

### Default naming strategy

Format: `{CONVENTIONAL_COMMIT_PREFIX}/{ISSUE_ID}_{ISSUE_TITLE}`

The [conventional commit](https://www.conventionalcommits.org/) prefix is
inferred from the type of JIRA card.

```console
$ jira2branch ISSUE-10306 master -n

BRANCH NAME: #############################################
feat/ISSUE-10306_implement_foo_function
##########################################################

MR TITLE: ###################################################
feat/ISSUE-10306: Implement foo function
#############################################################
```

### Basic naming strategy format

Format: `{ISSUE_ID}`

Example:

```console
$ jira2branch ISSUE-10306 master -s -n

BRANCH NAME: 
ISSUE-10306
##########

MR TITLE: ##############################################
ISSUE-10306: Implement foo function
########################################################
```

## Requirements

Requires Python 3.11

### Dev env

```
pip install poetry
poetry install
pip install dist/jira2branch-[VERSION]-py3-none-any.whl
```

Afterwards, your command should be available:

```
$ jira2branch WT3-227 develop
fix/WT3-227_some-jira-issue
```

### Configuration

#### JIRA

JIRA credentials will be fetched from `jira2branch/config.toml` under your user config directory with the following format:

```toml
[jira-credentials]

url = ""
email = ""
username = ""
password = ""
token = ""
```

#### Required fields

`url` and `email` are required.

Use either `username` + `password` or `token` depending on how access is configured

#### GitLab integration

You can create merge requests (title and description) using this tool. Only
GitLab is supported for now and it requires the following setup step.

Once done providing `--merge-request` will launch your `$EDITOR` and let you
compose your merge request.

```ini
[gitlab-credentials]

url = ""
token = ""
```

#### Required fields

`token` is required

Set `url` if the GitLab instance you're using is self-hosted

#### Note

You can always retrieve the configuration file location by providing the
`--config` flag

## Usage

`jira2branch [JIRA_ISSUE_ID|JIRA_ISSUE_URL] [TARGET_BRANCH]`

### Examples

`jira2branch WT3-227 main`

`jira2branch https://company.atlassian.net/browse/WT3-227 main`

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "jira2branch",
    "maintainer": null,
    "docs_url": null,
    "requires_python": "<3.12,>=3.11",
    "maintainer_email": null,
    "keywords": null,
    "author": "Tiago Pereira",
    "author_email": "tiago@tiagoafpereira.net",
    "download_url": "https://files.pythonhosted.org/packages/ca/60/34f3f33aaf70eadf9c7fac223eb6708c7879124f595568e7054feda226c1/jira2branch-0.6.1.tar.gz",
    "platform": null,
    "description": "# JIRA 2 Branch\n\nTakes a JIRA issue and creates a git branch\n\n```\nUsage: jira2branch [OPTIONS] ISSUE_ID_OR_URL SOURCE_BRANCH\n\n  Simple program that takes a JIRA issue ID and creates a new local and\n  tracking remote branch\n\nOptions:\n  -s, --simple         Basic naming strategy\n  -n, --name-only      Generates the branch name and prints it, no actual\n                       branch will be created (default is False)\n  -p, --push           Push newly created branch to remote (default is False)\n  -t, --target PATH    Target repository (default is current directory)\n  -r, --merge-request  Create merge request. Requires --push. (default is\n                       False)\n  -c, --confirm        Request user confirmation (default is False)\n  --preview            Preview MR Markdown in browser (default is False)\n  -d, --dry-run        Dry run. Prints out the MR payload in JSON format but\n                       does not invoke the API\n  --config             Show config file location\n  --help               Show this message and exit.\n  \n```\n\n## Naming strategy\n\n### Default naming strategy\n\nFormat: `{CONVENTIONAL_COMMIT_PREFIX}/{ISSUE_ID}_{ISSUE_TITLE}`\n\nThe [conventional commit](https://www.conventionalcommits.org/) prefix is\ninferred from the type of JIRA card.\n\n```console\n$ jira2branch ISSUE-10306 master -n\n\nBRANCH NAME: #############################################\nfeat/ISSUE-10306_implement_foo_function\n##########################################################\n\nMR TITLE: ###################################################\nfeat/ISSUE-10306: Implement foo function\n#############################################################\n```\n\n### Basic naming strategy format\n\nFormat: `{ISSUE_ID}`\n\nExample:\n\n```console\n$ jira2branch ISSUE-10306 master -s -n\n\nBRANCH NAME: \nISSUE-10306\n##########\n\nMR TITLE: ##############################################\nISSUE-10306: Implement foo function\n########################################################\n```\n\n## Requirements\n\nRequires Python 3.11\n\n### Dev env\n\n```\npip install poetry\npoetry install\npip install dist/jira2branch-[VERSION]-py3-none-any.whl\n```\n\nAfterwards, your command should be available:\n\n```\n$ jira2branch WT3-227 develop\nfix/WT3-227_some-jira-issue\n```\n\n### Configuration\n\n#### JIRA\n\nJIRA credentials will be fetched from `jira2branch/config.toml` under your user config directory with the following format:\n\n```toml\n[jira-credentials]\n\nurl = \"\"\nemail = \"\"\nusername = \"\"\npassword = \"\"\ntoken = \"\"\n```\n\n#### Required fields\n\n`url` and `email` are required.\n\nUse either `username` + `password` or `token` depending on how access is configured\n\n#### GitLab integration\n\nYou can create merge requests (title and description) using this tool. Only\nGitLab is supported for now and it requires the following setup step.\n\nOnce done providing `--merge-request` will launch your `$EDITOR` and let you\ncompose your merge request.\n\n```ini\n[gitlab-credentials]\n\nurl = \"\"\ntoken = \"\"\n```\n\n#### Required fields\n\n`token` is required\n\nSet `url` if the GitLab instance you're using is self-hosted\n\n#### Note\n\nYou can always retrieve the configuration file location by providing the\n`--config` flag\n\n## Usage\n\n`jira2branch [JIRA_ISSUE_ID|JIRA_ISSUE_URL] [TARGET_BRANCH]`\n\n### Examples\n\n`jira2branch WT3-227 main`\n\n`jira2branch https://company.atlassian.net/browse/WT3-227 main`\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "Takes a JIRA issue and creates a git branch",
    "version": "0.6.1",
    "project_urls": null,
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "553c8d41f06a58a25d87f776aee8c133977a97351da85467d5ebd761eb147f70",
                "md5": "ed9117fad3fc2ab254ed0c14d1c2c693",
                "sha256": "97da76968743aeae039b5ddfcaa11c450400c3f36e0c81551c98a0489b3d717b"
            },
            "downloads": -1,
            "filename": "jira2branch-0.6.1-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "ed9117fad3fc2ab254ed0c14d1c2c693",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": "<3.12,>=3.11",
            "size": 11151,
            "upload_time": "2025-09-02T17:06:29",
            "upload_time_iso_8601": "2025-09-02T17:06:29.617422Z",
            "url": "https://files.pythonhosted.org/packages/55/3c/8d41f06a58a25d87f776aee8c133977a97351da85467d5ebd761eb147f70/jira2branch-0.6.1-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "ca6034f3f33aaf70eadf9c7fac223eb6708c7879124f595568e7054feda226c1",
                "md5": "0082c91312d7075e4ff52c5bfe635728",
                "sha256": "0f5f52291d3a7a0c92557cbc31c742753488bd043ac6b1ab8ad522e73d97d1af"
            },
            "downloads": -1,
            "filename": "jira2branch-0.6.1.tar.gz",
            "has_sig": false,
            "md5_digest": "0082c91312d7075e4ff52c5bfe635728",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": "<3.12,>=3.11",
            "size": 10923,
            "upload_time": "2025-09-02T17:06:30",
            "upload_time_iso_8601": "2025-09-02T17:06:30.547480Z",
            "url": "https://files.pythonhosted.org/packages/ca/60/34f3f33aaf70eadf9c7fac223eb6708c7879124f595568e7054feda226c1/jira2branch-0.6.1.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-09-02 17:06:30",
    "github": false,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "lcname": "jira2branch"
}
        
Elapsed time: 3.85753s