skip to navigation
skip to content

Not Logged In

bugwarrior 0.5.6

Sync github, bitbucket, and trac issues with taskwarrior

Latest Version: 1.2.0

bugwarrior is a command line utility for updating your local taskwarrior database from your forge issue trackers.

It currently supports the following remote resources:


Create a ~/.bugwarriorrc file with the following contents.

# Example ~/.bugwarriorrc

# General stuff.
# Here you define a comma separated list of targets.  Each of them must have a
# section below determining their properties, how to query them, etc.  The name
# is just a symbol, and doesn't have any functional importance.
targets = my_github, my_bitbucket, paj_bitbucket, moksha_trac, bz.redhat

# log.level specifices the verbosity.  The default is DEBUG.
#log.level = DEBUG

# If log.file is specified, output will be redirected there.  If it remains
# unspecified, output is sent to sys.stderr
#log.file = /var/log/bugwarrior.log

# The bitly username and api key are used to shorten URLs to the issues for your
# task list.  If you leave these options commented out, then the full URLs
# will be used in your task list.
#bitly.api_user = YOUR_USERNAME
#bitly.api_key = YOUR_API_KEY

# This is a github example.  It says, "scrape every issue from every repository
# on  It doesn't matter if ralphbean owns the issue
# or not."
service = github
username = ralphbean
default_priority = H

# Note that login and username can be different.  I can login as me, but
# scrape issues from an organization's repos.
login = ralphbean
passw = OMG_LULZ

# This is the same thing, but for bitbucket.  Each target entry must have a
# 'service' attribute which must be one of the supported services (like
# 'github', 'bitbucket', 'trac', etc...).
service = bitbucket
username = ralphbean
default_priority = M

# Here's another bitbucket one.  Here we want to scrape the issues from repos of
# another user, but only include them in the taskwarrior db if they're assigned
# to me.
service = bitbucket
username = paj
only_if_assigned = ralphbean
default_priority = L

# Here's an example of a trac target.  Scrape every ticket and only include them
# if 1) they're owned by me or 2) they're currently unassigned.
# Note -- You must have the trac XML-RPC plugin installed and configured to work
# over HTTP.
service = trac

trac.base_uri =
trac.username = ralph
trac.password = OMG_LULZ

only_if_assigned = ralph
also_unassigned = True
default_priority = H

# Here's an example of a bugzilla target.  This will scrape every ticket
# 1) that is not closed and 2) that is either the
# owner or reporter or is cc'd on.  Bugzilla instances can be quite different
# from one another so use this with caution and please report bugs so we can
# make bugwarrior support more robust!
service = bugzilla

bugzilla.base_uri =
bugzilla.username =
bugzilla.password = OMG_LULZ

# Here's an example of a megaplan target.
service = megaplan

hostname =
login = alice
password = secret

default_priority = H
project_name = example

# Here's an example of a jira project. The ``jira-python`` module is
# a bit particular, and jira deployments, like Bugzilla, tend to be
# reasonably customized. So YMMV. The ``base_uri`` must not have a
# have a trailing slash. This will fetch comments and cases from
# jira assigned to ``username`` where the status is not closed or
# resolved.
service = jira
jira.base_uri =
jira.username = ralph
jira.password = OMG_LULZ

# Here's an example of a teamlab target.
service = teamlab

hostname =
login = alice
password = secret

project_name = example_teamlab

# Here's an example of a redmine target.
service = redmine
url =
key = c0c4c014cafebabe
user_id = 7
project_name = redmine


Just run bugwarrior-pull.

It’s ideal to create a cron task like:

*/15 * * * *  /usr/bin/bugwarrior-pull

Getting bugwarrior

Installing from the Python Package Index

Installing it from is easy with pip:

$ pip install bugwarrior

Alternatively, you can use easy_install if you prefer:

$ easy_install bugwarrior

Installing from Source

You can find the source on github at Either fork/clone if you plan to do development on bugwarrior, or you can simply download the latest tarball:

$ wget -O bugwarrior-latest.tar.gz
$ tar -xzvf bugwarrior-latest.tar.gz
$ cd ralphbean-bugwarrior-*
$ python install
File Type Py Version Uploaded on Size
bugwarrior-0.5.6.tar.gz (md5) Source 2013-01-05 26KB
  • Downloads (All Versions):
  • 186 downloads in the last day
  • 959 downloads in the last week
  • 4111 downloads in the last month