Skip to content

Python JIRA Library is the easiest way to automate JIRA. Support for py27 was dropped on 2019-10-14, do not raise bugs related to it. Show that you care about the future of the library by donating $1, is not about the money!

License

eljulians/jira

 
 

Repository files navigation

Jira Python Library

image

image

image

image


image

image

image

Requirements Status

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.

Quickstart

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]'

Installation

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]

Usage

See the documentation for full details.

Development

Development takes place on GitHub:

  • master - (default branch) contains the primary development stream. Tags will be used to show latest releases.

Setup

  • 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"
          ]
      }
    • Build and publish with TWINE
      • tox -e publish

Credits

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.

image

image

image

About

Python JIRA Library is the easiest way to automate JIRA. Support for py27 was dropped on 2019-10-14, do not raise bugs related to it. Show that you care about the future of the library by donating $1, is not about the money!

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 98.8%
  • Other 1.2%