Skip to main content

A feature branch namer / Issue tracker manager

Project description

Latest version Supported Python versions https://travis-ci.org/pignacio/issue2branch.svg?branch=master https://coveralls.io/repos/pignacio/issue2branch/badge.svg?branch=master License

A helper for naming feature branches with git

This app fetches issue titles from different issue trackers, and checkouts feature branches with nice names

pignacio/issue2branch ‹master› % issue2branch 4
Getting issue title for issue: '4'
Requesting 'https://api.github.com/repos/pignacio/issue2branch/issues/4'
Got title: 'Issue 4 Write README'
Branching 'issue-4-write-readme'
pignacio/issue2branch ‹issue-4-write-readme› %

Installation

pip install issue2branch

Usage

issue2branch --list          # -l/--list: show the current open issues
issue2branch -l --limit 50   # --limit the amount of issues listed
issue2branch -s <issue>      # -s/--show: print the issue description
issue2branch <issue>         # Fetch the <issue> title and checkout a branch
issue2branch <issue> --take  # Additionally, set yourself as the assignee, when
                             # possible
issue2branch <issue> --noop  # -n/--noop runs dry (without making changes)

Additional redmine usages

Redmine supports additional parameters:

issue2branch --list --mine       # -m/--mine show only tickes assigned to you
issue2branch --list -v <version> # -v/--version filter by target version
issue2branch --list --all        # List all (including closed) issues
issue2branch --project myproject # -p/--project filter issues by project
issue2branch --all-projects      # Show all projects

Supported issue trackers

  • Github and Bitbucket public issue trackers are supported out of the box. For private ones, auth tokens must be added.

  • Redmine

Configuration

The configuration file default location is <git repo root>/.issue2branch.config, and can be overriden via the ISSUE2BRANCH_CONFIG enviroment variable.

The file follows the ConfigParser format and has the following sections:

[main]
tracker = issue tracker type. one of redmine, github, bitbucket.
          Github and Bitbucket are detected automatically based on the origin
          remote hostname

[auth]
user = HTTP authentication user
password = HTTP authentication password, if missing when user is present, a
           prompt will ask for it each time issue2branch is run

[list]  # --list options
limit = number of issues to retrieve when listing. Defaults to 40.
        Is overrided at runtime via the --limit argument

[redmine] # Redmine specific config
url = url where the issue tracker is located
inprogress_id = Internal redmine ID for the "In progress" status. Needed for
                --take
assignee_id = Internal redmine ID for the assignee. Needed for --take
project = Only show issues from this project

[github] # Github specific config
repo_user = the owner of the issue tracker. Useful for overriding real owner
            when working on a fork. Defaults to origin's owner
repo_name = name of the remote repo. Defaults to origins's name

[bitbucket] # Bitbucket specific config
repo_user = the owner of the issue tracker. Useful for overriding real owner
            when working on a fork. Defaults to origin's owner
repo_name = name of the remote repo. Defaults to origins's name

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

issue2branch-0.0.8.tar.gz (21.5 kB view hashes)

Uploaded Source

Built Distribution

issue2branch-0.0.8-py2-none-any.whl (34.4 kB view hashes)

Uploaded Python 2

Supported by

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