This library eases the use of the Jira REST API from Python and it has been used in production for years.
As this is an open-source project that is community maintained, do not be surprised if some bugs or features are not implemented quickly enough. You are always welcomed to use BountySource to motivate others to help.
Feeling impatient? I like your style.
from jira import JIRA
jira = JIRA('https://jira.atlassian.com')
issue = jira.issue('JRA-9')
print(issue.fields.project.key) # 'JRA'
print(issue.fields.issuetype.name) # 'New Feature'
print(issue.fields.reporter.displayName) # 'Mike Cannon-Brookes [Atlassian]'
Download and install using pip install jira
or easy_install jira
You can also try pip install --user --upgrade jira
which will install or
upgrade jira to your user directory. Or maybe you ARE using a virtualenv
right?
By default only the basic library dependencies are installed, so if you want
to use the cli
tool or other optional dependencies do perform a full
installation using pip install jira[opt,cli,test]
See the documentation for full details.
Development takes place on GitHub using the default repository branch. Each version is tagged.
Fork repo
Keep it sync'ed while you are developing
Install pyenv
- develop and test
- Launch docker jira server
docker run -dit -p 2990:2990 --name jira addono/jira-software-standalone
- Lint
tox -e lint
- Run tests
tox
- Run tests for one env only
tox -e py37
- Specify what tests to run with pytest
tox -e py39 -- tests/resources/test_attachment.py
- Debug tests with breakpoints by disabling the coverage plugin, with the
--no-cov
argument. - Example for VSCode on Windows :
{ "name": "Pytest", "type": "python", "request": "launch", "python": ".tox\\py39\\Scripts\\python.exe", "module": "pytest", "env": { "CI_JIRA_URL": "http://localhost:2990/jira", "CI_JIRA_ADMIN": "admin", "CI_JIRA_ADMIN_PASSWORD": "admin", "CI_JIRA_USER": "jira_user", "CI_JIRA_USER_FULL_NAME": "Newly Created CI User", "CI_JIRA_USER_PASSWORD": "jira", "CI_JIRA_ISSUE": "Task", "PYTEST_TIMEOUT": "0", // Don't timeout }, "args": [ // "-v", "--no-cov", // running coverage affects breakpoints "tests/resources/test_attachment.py" ] }
- Debug tests with breakpoints by disabling the coverage plugin, with the
- Build and publish with TWINE
tox -e publish
When updating interactions with the Jira REST API please refer to the documentation below. We aim to support both Jira Cloud and Jira Server / Data Center.
- Jira Cloud / Jira Server (main REST API reference)
- Jira Software Cloud / Jira Software Server (former names include: Jira Agile, Greenhopper)
- Jira Service Desk Cloud / Jira Service Desk Server
In addition to all the contributors we would like to thank to these companies:
- Atlassian for developing such a powerful issue tracker and for providing a free on-demand Jira instance that we can use for continuous integration testing.
- JetBrains for providing us with free licenses of PyCharm
- GitHub for hosting our continuous integration and our git repo
- Navicat for providing us free licenses of their powerful database client GUI tools.