Python library for interacting with JIRA via REST APIs.
Project description
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,testing]
Usage
See the documentation for full details.
Development
Development takes place on GitHub, where the git-flow branch structure is used:
master - contains the latest released code.
develop - (default branch) is used for development of the next release.
feature/XXX - feature branches are used for development of new features before they are merged to develop.
Credits
In additions 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.
Travis for hosting our continuous integration
Navicat for providing us free licenses of their powerful database client GUI tools.
CHANGES
1.0.12.1
Fix README.rst images
1.0.12
Fix setup.cfg: UnicodeDecodeError
Add pbr >= 3.0.0 as a module dependency
Fix build scripts
jirashell: Import InteractiveShellEmbed depending on IPython version
Make OPTIONAL default and allowed value of mutual_authentication
Add testing section to contributions
Update Contribution Guidlines to be more explicit
Place imports on separate lines
Touch ChangeLog To Fix PR Checks
Fix Continuous Integration Testing
Make Kerberos option mutual_authentication configurable
Accept custom authentication URL
fixed linting errors
Update client.py
Allow through TRAVIS Environment Variables
Add worklog to transition_issue()
Fixing move_to_backlog()
Fix bug
[client] Support JIRA.close()
add add_user to role resource
added .idea/codeStyleSettings.xml to repo
contributing.rst: Update JIRA community link
contributing.rst: Remove reference to BitBucket
Include changelog in description
Move requirements extras to setup.cfg
#361 Made ipython a direct dependency
build logic and code cleanup
Fixed github deploy credentials
linting fixes
Forcing a rebuild
Pass integer ids when creating customer requests
Skip Service Desk tests on instances that don’t support it
Pass ids when creating a customer request
Create Service Desk project during testing if it is missing
Add a test for create_customer_request
PEP-8 H306
PEP-8 H301
PEP-8
Add supports_service_desk check
Only add Service Desk properties if is_internal is set
allow to define internal comments in service desk
Allow service desk parameter to be an integer
Explicitly import resources
Add support for customer, request_type and create_customer_requests
Flake8 cleanup
Update examples.rst
Update examples.rst
Fixed github deploy credentials
1.0.10
Added back the jirashell command line entry point
Fixed version shield in readme
1.0.9
Fixed missing .egg_base in source distribution
Enabled codecov.io and hidden coveralls.io
Fixed missing .egg_base in source distribution
Enabled codecov.io and hidden coveralls.io
1.0.8
travis.yml cleanup
Printing the version
Enabled builds on all branches
Removed hardcoded version from setup.cfg
tests: made project re-creation less likely to fail
Changed delete version to return json response
Added 401 return code to retriable ones due to Atlassian Cloud weird responses
Fixed travis config as travis-after-all is now embeded into tox-travis
tests: made fixtures and tests less likely to fail
Enabled py36 for Travis
tests: marked test_delete_project as xfail
api: add_user_to_group can now return False on failures
Enabled py36 target on travis
Adopted used of tox-travis
tests: marking test_add_user_to_group as xfail to unexpected API response
tests: kill_websudo to be ignored on cloud deployment
Enabled @flaky for all test classes
Addressed flaky Travis parallel test execution by adding a retry mechanism
linting fixes
Enabled flakey for problematic tests
travis concurrency fixes
Improved travis build stability
properly import input function from six. see #316
Allows users to specify timeouts for underlying requests session
Design fixes for bulk create support
Support for bulk issue creation
Add support for delete_attachment
When search_issues() should return json maxResults is ignored
Fix JIRA(validate=True) option, issue #300
README: Fix formatting and tweak wording of the Development section
Fixed #256 - documented branches
Fix for issue #294 - Can’t fetch all sprints
jira cloud has migrated attachments to a more restrictive to a persnickety web service that demands correct Accept headers. It currently return a HTTP 406 error. This change resolves the issue
Removing deprecated Agile-related methods
Do not fail when a searched issue has no fields
Adopted pbr and hacking
Small typo fix in incompleted_issues method
Resize images in README.rst
Fixed Citrix Logo image URL
Job id prefix (jid) is now using travis numbers, shoudl work for PRs too
1.0.7
Fixed test execution
Fix sphinx documentation not rendered correctly
flake8 fix for FileNotFoundError and added gitreview file
Use context processor for opening files
made kerberos mutual auth optional as not all servers support this
We shouldn’t create files unless we’re told to do so
params object for _fetch_pages should not contain maxResults
Removed tlslite requirement completly
Temporarly removed gitchangelog and enabled s3 upload of artefacts
tried to preinstall requirements on travis
Downgrated wheel version requirement
Fixed detection of package name and version for Travis
Updated requirements
Adding a test for #214
Fixes #214
Moved more build logic into Makefile
Removed partial init of JiraTestManager as this breaks a lot of tests
Added named parameter to skip test project creation
Fixed delete_project and added tests for it
removed cloud options from backup methods in favor of checking for deploymentType in server_info. Also made backup_download a bit more efficient by using streaming. Fixes Issue #234
removed cloud options from backup methods in favor of checking for deploymentType in server_info. Also made backup_download a bit more efficient by using streaming
Configured to use autopep8 as a module in order to work with venvs
Removed Python 2.6
Assured that we use stdout/stderr capture and a flake8 fix
add ability to use request session proxy functionality
Do not check for a newer version of the software by default
Fixes to get ‘python setup.py develop’ working
Do not use Make for running tests, seems to cause timeout
Fix mock data setup
Fix tox errors for py2.7
Improve auto-generated changelog
Resolves issue #221, ‘Allow for deactivating users’
Added template_name parameter to create_project to be able to specify template directly, and fix issues where function cannot find suitable project name
Fix #194 Exception AttributeError: “‘NoneType’ object has no attribute ‘version_info’”
Delete Issue Link Bug Fix
Fix #157
Add documentation for attachments
Add documentation for watchers
Added docset building to the documentation build
Adopted django versioning implementaion
Added virtualenv usage to Makefile
Sorted the project name duplication error with the tests
Simplified setup Exception code in tests
Attempt to keep py26 compatibility
Log JiraError details on console for Travis
Removed requests-kerberos requirements as it was breaking docs
Fixed assert in test_search_users_maxresults
updated and moved requirements into one place
ci maintenance
Added requires.io badge
Resolved #137 by removing the check for project key from the client app
Update index.rst
Switched to local travis_after_all.py
flake8 fixes
travis: Remove `on` inside afte_deploy as is not supported
Fixed two broken tests and many other warnings
Attempt to fix travis publishing and the missing URLs for the uploaded releases. Also should start uploading dev release to pypitest
Allows us to call delete_project() with Project object instance
Experimental change for testing error handling
Fixed linting and enabled build of develop branch pn travis
Switched to smart versioning for develop branch
Fix #170 : use default ‘hidden’ email address when Jira server setting for showing email is hidden
Added docs badge
Make the sections numbered again
Add section headers for each class in the API docs
Split up documentation into multiple pages
flake8 fixes (lots)
Adds move_to_backlog from the agile API
add missing issues report methods
used to get xml in response to backup progress, now getting json
added functionality for backing up from Cloud version
Auto-generating release notes
Auto-generating release notes
Auto-generating release notes
Tried to make release 1.0.6
Improved release.sh
1.0.5
Auto-generating release notes
1.0.4
Auto-generating release notes
Auto-generating release notes
Auto-generating release notes
Auto-generating release notes
Auto-generating release notes
Auto-generating release notes
Auto-generating release notes
Auto-generating release notes
remove wrong parameter in release.sh
test rsa key
Changed linkId to id for consistency
Correcting tabs vs spaces
Adding functionality to allow deletion of issue links
Adds support for Kerberos auth
Updated PyCharm logo as they also removed the old one when they rebranded it
Configured minimal versions for pep8 related packages
fixed the version check for invalid request
Logged the initial JSON response for templates when they do not contain the expected format. This should help us identify what happens while running tests on Travis
changed api version calls to use “latest” instead of 2
resolves issue where incompleted_issues() was failing for missing key; ‘incompletedIssues’ corrected to ‘issuesNotCompletedInCurrentSprint’
Should fix the inconsistent failures with watchers tests
Swiched back to the use of logging module directly instead of a variable
Implemented a special retry mechanism for serverInfo REST call in order to workaround bug https://jira.atlassian.com/browse/JRA-59676
Repaired delete_project() as it seems not to be working on JIRA 6.x
Fixed few others broken unittests
Reworked the way we log warnings and errors, now we use the named logger “jira”
Removed duplicate python versions from setup.py
Removed pypi version badge as is useless
More unittest fixes, now they should finally pass after months of having many of them broken
Implemented __eq__ for Version resource
Fixed many of the broken unittests. Disabled some uneeded logging for running unittests
Badge cleanup
Request JSON payloads to avoid the problem described in https://jira.atlassian.com/browse/JRA-38551
assign_issue() now returns errors
Linting plus initial work on enabling local testing using the atlassian-sdk
(Minor) Fix UniversalResourceTests.test_pickling_resource() - Work with the raw dict instead of pickling the whole resource and running into issues with PropertyHolder
(#158) Fix initialisation of resources.Issue when raw is passed in
Fix conflict markers from merge
clean up string detection: string_types
remove superfluous self parameter
Exclude tests working with users - not understood why they fail now
Skip tests that rely on specifics of the standard Jira if a non-standard Jira is used
Add correct treatment of “issuetype” parameter
Fix whitespace and allow for python3
Fix call of Resource._get_url()
Adapt project template search to new structure
Fixed problems found during tests execution
Fixed bugs found in new JIRA API
Added option for ignoring existing users on user_add
Add new option ‘agile_rest_path’, which may be used to select new public JIRA Agile API
Small improvements
Added JIRA._fetch_pages function and used it in all functions using pagination and extended ResultList class
bump version
cover python 3.5
py3 compatible string test
redundant if test in split
test for clauseNames presence
items for py3 compat
Added type hints to Issue class
Update release.sh
Fix setup.py’s setup_requires and requirements.txt
Move optional filemagic line to requirements-opt
Do not try to recover if we’re not going to do the retry
Do not run prerelease as part of the standard test run. Instead run it after inside after_success
Restore missing delay in ResilientClient and & implement exponentional backoff
gh-global-rank field is obsolete
Ensure JIRA class has _rank field
1.0.3
Fix #93: ability to retrieve custom fields by their JQL names
Websudo fix when used with .netrc files
Added support for the type parameter on create_project, as this is required for JIRA 7
Moved JIRAError to exceptions
moved raise_on_error to resilientsession
documentation improvements, fixed one test
fixed #123 by enabling change of sprint state
removed dead code
HOTFIX in test; pass two elements into set properly
Fix typo
Add __hash__ and __eq__ methods to User class to allow user objects to be added to a Set correctly
Fixup: Correctly cope with Requests object truthiness..
Bugfixes for ResilientSession retry logic
Issue 118 Add ability to send email notification when creating a new user
Python > 3.1 do not need `ordereddict` package
Change test to use simple regex
Update self.issue_1.key to self.issue_1
Update test and assert to use arrays
Fix typo with assigning false boolean
Add unit test for adding issue to sprint
Refactor method of retrieving custom field info
Issue 112 - sendEmail kwarg doesn’t work when calling add_user method
Fix typo in list comprehension
Perform dynamic lookup of custom field id for Sprint field
Fix typo with assignment
Workaround for adding an issue to a sprint
Minor fixes to jirashell issues #100, #102, and #66, and tweaks fix from d5856742771890ad18165197f6bc7eb3ff8cd086. The oauth_dance and print_tokens options specified in jirashell.ini configuration file are now correctly parsed as boolean values and OAuth with pre-authenticated access_token and access_token_secret (skipping oauth_dance) is fixed. OAuth options are now minimally validated for completeness, so #66 is fixed, allowing for basic_auth without causing issue #102 as the merged commit d5856742771890ad18165197f6bc7eb3ff8cd086 did previously
Fixed #88 so now groups are returned as a sorted list of strings
Fix issue #100 - The problem is that ‘oauth_dance’ should be an optional option argument, if it is not set, or if it is set to false, a valid use case still exists where OAuth should be used if the user supplies access_token and access_token_secret through command line or configuration file options. This would be the case if the user had already authenticated externally with OAuth and had valid, authenticated tokens to pass to jirashell
1.0.1
Attempt to fully automate the release and tagging of git based on what is released
Attempt to fully automate the release and tagging of git based on what is released
0.50
Enabled new travis builders as we do not need sudo. Fixed iteritems() which doesn’t work anymore with py34. Increased version to v0.50
0.49
Attempt to fix the unittest and to eliminate warnings from the test executions
Make `python setup.py test` work without first needing to install any dependencies
Fill in the current maintainer information
Add update_filter to client
Fix jirashell.py for non-oauth authentication
Honor fullname arg in add_user
Fix JIRAError to correctly include full details
JIRA Issue 80 - delete project fails to delete
Includes are now relative to jira package
Added myself AIP support
JWT authentitcation support for Atlassian Connect
Fixed naming error in the documentation
adding add_simple_link()
Add attachment content streaming
jirashell configured via jirashell.ini didn’t allow no-oauth authentication
Add support to Issue.update to use the update key, and make some common forms of updates easier
Don’t always set oauth flag, to prevent oauth mode from always being enabled, even if basic auth is requested
Minor change to cause a new build to be triggered
0.48.1
Bumping patch version number to 0.48.1
Do not prevent users from adding remote links if we are not able to fetch applicationlinks
Now travis should publish both sdist and wheel. Also included changelist
0.48
Attempt to appease Travis
Restore issue transitions by fixing some flubs
0.47
increaded version to 0.47
Implemented worklog tests and fixed worklog and timetracking
Fixed mimetype issue with Jira attachment. MultipartEncoder sent attachment in ‘text/plain’ mode which caused issues with pdf files. See images 3 images from images directory, after the change, mimetype was identified correctly
Now Travis should release only if all jobs do succeed
sorted the decoding of the json response
Increased version number to v0.45 but in the future this should be done automatically on each release
Minor Travis fix for py3 build
removed the pretest phase as now everyone should be able to run the tests
Implemented a prerelease stage that will prevent running the tests on travis for already released versions. This is needed in order to enable future automatic releases
Fix for #28 : broken permalinks
Removed the secured credentials from Travis because they do not work with pull requests. See http://docs.travis-ci.com/user/pull-requests/ From now on everybody should be able to run the tests, lets hope that the OnDemand server will be able to cope with the tests
validated .travis.yml
fix #38 so the code will also work with PyInstaller
Workaround for py34 weakref issue from https://github.com/kennethreitz/requests/issues/2303
Added Citrix to credits, changed default documentation theme and documented the BountySource usage
Bugfix in Travis config file which seems not to fail fast on multiple script commands
fix atlassian header
0.43
v0.43 release which fixes pickle bug
#46 Experimental drop of custom getstate/setstate in Resource that was preventing Pickle from restoring the objects properly (_options)
Added sdist to release
0.42
commented `git add RELEASE`
v0.42 minor fix regarding release script tagging
Added flattr button
Allow OAuth dance to ignore ssl certificate
v0.41 that enabled new unitises and fixes #44
Comment: fix typo in comment ‘visibility’ name
v0.40 - new release with small bug fixes
Added an exception in case the just added attachment has size=0 so we can debug the weird case of empty attachments
marked the pickle test as xfail and some pep8
Finished initial baseline label test. Added test for issue #32 that looks for an exception from a bad label with spaces
Added initial label unit test
Update client.py
Update client.py
no need to take the tuple lookup hit with one item
make it more clear about what we’re doing to support pickling
add tests for pickling resources
enabling the pickling of resources
v0.39: minor bug fixings
fixing #23 bug: startDate in create_version()
Update client.py
Raise an AttributeError if a requested attribute doesn’t exist within self or self.raw. This is a bug fix to ensure calls to hasattr return false when the attribute doesn’t exist
Issue add_field_value should use Resource update function
Corrected source URL inside the documentation
Updated the link to documentation
removed upload_sphinx from release
v0.38 which should work well on intranets
Now the version check should take up to 2 seconds and should not prevent loading if it fails
Update index.rst
v0.37 release
fixed error with last merge
removed a test that is not needed anymore
Repaired 3 additional tests
added the first tests for JIRA Agile. Also this should fix the Issue.update()
Give users ability to disable update check
Deprecated GreenHopper class and moved all methors into JIRA. Other plugins should use the mixin pattern to add their methods
allowing to pass Issue() instances instead of id/keys to issue()
Optimized the check_update code so it checks version only once. Fixed the comments tests
py26 and py3 compatibility updates
Changed the way we load the version in setup.py in order to properly perform coverage. Also added fallback on add_attachment for the case where we do not have the filestreamer module
added ordereddict dependency that is required for py26 compatibility improved the random password complexity to avoid falure from server side
changed number of retries to 5 unless jira is running on localhost, when it will use 1
pep8
Added tests to flesh out User and Group CRUD operations. - Added add_group method to client. - Added remove_group method to client. - Rewrote add_user_to_group to use REST API - Added remove_user_from_group to client
fix resource _load incorrect argument
This should fix UserAdministrationTests and make them run on Travis too
Created unit test class for user administration - Created add_user unit test
Attempt to improve the retry mechanism. Will default to 3 for normal usage and 10 for running the tests
reworked tests of votes so they should not randomly fail anymore
Fixed failure of add_attachment test when using retry was triggered. This was caused by the file stream. Now it will get a new file stream if the initial post fails
fixed create_issue() which was broken due to project being passed wrongly
Increased verbosity in order to debug some CI failings
Updated tests to prevent failure to upload attachment with Python 3
Fix ResourceLeak warning with CPython3
Now HTTP codes 502,503,504 do retry
Configured default max_retries to 3
Fixed add_attachments which now is able to stream the files, preventing size limitation bugs
improved tests
improved tests
Added a new test for failed authentication Made test_attachment more verbose Added export of coverage data into xml format
README.rst: Double back quotes, fix links
README.rst: Make valid on PyPI
README.rst: syntax highlighting
Implemented travis_after_all so we release only once
Test changes towards getting them passing on Travis too
additional travis compatibility changes
additional travis compatibility changes
additional travis compatibility changes
additional travis compatibility changes
disabled xdist plugin in order to execute on travis
Major changes to unittests in order to make them pass on Travis
Added new icons to README page
autopep8
Added upload_docs and switch to usage of default GPG signature
Merged in taquart/jira-python/taquart/fixing-the-commentupdate-example-1420064736261 (pull request #73)
Merged in rowanthorpe/jira-python/fix-configparser-to-match-v3-import (pull request #71)
Merged in evers/jira-python (pull request #72)
Merged in franciscoruiz/jira-python/franciscoruiz/removed-print-statement-from-greenhopper-1417788172609 (pull request #69)
Merged in mejoe/jira-python/completed_points (pull request #68)
Merged in simonventuri/jira-python/yosemite-six-fix (pull request #66)
added wheel deployment
0.33
Removal of gevents as it is incompatible with Python 2.7.8 and because we can use requests threading for the same purpose
Fixing the comment.update() example
fix issue.add_field_value, fixes #144
dont forget raise_on_error if not autofixing
Fix configparser usage to match v3-compat import
Removed ‘print’ statement from Greenhopper.sprints_by_name
Add sum of completed issues for a board/sprint
Merged in misa/jira-python (pull request #62)
Merged in rmelhem/jira-python (pull request #67)
Implemented username rename for JIRA 6.0.0+
Added support for client-side SSL with HTTP-Basic session
Fix html_parser import from six.moves
navicat does not have https (sic!) :)
Updated image links
Updated Navicat Logo
Update README.rst
Update README.rst
Merged in bunkerbewohner/jira-python (pull request #63)
bugfix of KeyError in JIRA.add_remote_link during check of application links
fixes #2
Add a fields keyword arg; regular keyword arguments will take precedence
Reverting commit 5f4c4a4, added an update method for Comment for fix #53
Merged in rawfalafel/jira-python/fix/validate-search-query (pull request #61)
0.32
v0.32 is fixing #132 decoding errors on several cases, cased by the wrong usage of response.content instead of response.text, first one being binary
fixing #53 Unable to update a comment
Fix for #112 : added startDate, released and archived to create_version()
Fixed #96 by documenting how to update components
Fixing #81 by removing requests_oauth from the package
Fixing #61 - documenting how to get support on jira-python
Assured that RELEASE file that contains the changelog is updated when making new releases
0.31
Added automatic release note creation
Fixed #101 - added back python 2.6 compatibility
Fixed issue #94 jirashell being broken. Moved jirashell.py inside jira package, tools was clearly not an inspired name for a package
Merged in tomikall/jira-python (pull request #60)
Fix process_config() to work with configparser from six and Python 3
Fix #130 : Read options `verify`, `resilient`, and `async` as booleans from user’s `jirashell.ini` file
Add option to disable query validation. Part of the REST api
pep8 tests still not working
pep8 moved to setup.cfg few other fixes, should pass pep8 now
v0.31 merge with bitbcket copy
v0.31 manual merge with github fork (used to revive unittests)
0.30
v0.30 containing a real fix for JIRA.__init__()
0.28
v0.28 fast-track merge of latest patches
Merged in xistence/jira-python/bugfix/future_imports (pull request #59)
Merged in xistence/jira-python/bugfix/jira.issues (pull request #58)
removed pep8 from test cases
pep8 work + forced py.test to run on single thread
all the tests are now generic
run tests from UserTests
run job only with the class SearchTests
Move from __future__ import statement
Remove erroneous self
added a few tests from ProjectTests
generalised a few other tests
another run
add_worklog does not work for python2.6
one more run
run again without IssuesTests
added general tests for IssueTests
tests for travis
general tests for filters
some changes for general projects
probably fixing CI with jenkins
added travis_wait
all working for python2.7 (for the moment)
Updated tests for the new added projects
pep8 + added py34 in addition to py33, one of them must be tested
made autopep8 optional
removed –upgrade from pip install
reorganized requirements, hoping to make the test easier and also to reduce dependencies for installations
added timeouts to curl, should fix the travis issue, hopefully
removed -n4 from tox until we find a solution for working with fixtures with multiple threads, seems to be a design limitation with py.test
added all the tests appart from 3 for which I don’t have enough permissions and those from remote_link
added tests from VersionTests
Added tests from UserTests
added tests from ProjectTests
added 3 new classes
Tests from Issue tests are now working
Fixed some other test cases
Other 15 test cases are working
tests for classes ResourceTest and ApplicationPropertiesTest are now working
ZZF-15731 #comment this should end-up in jira
some working tests from UniversalResourceTests
Fix for test_issue_link(self) faild build #18.3
fixed test_issue_link()
tests cleanup, enabled py34 in travis, added pretest before running tests
Updated user prefix
logging improvement, corrected doc build via tox, probably fixed a deadlock with running unittests in parallel
logging improvement, corrected doc build via tox, probably fixed a deadlock with running unittests in parallel
fixed typo in nocheck -> no-check
removed logging and fixed the test manager class
added debug code for Travis failure as we were not able to replicate same failure locally
Disabled kill session for the moment as it seems to cause some strange errors with unittests
Added logging of fatal exceptions when initializing unit tests
repairing unittests
repaired project create
Merged in abstracttype/jira-python/abstracttype/fix-greenhopperincompleted_issues-base_-1404297141573 (pull request #57)
v0.29 added delete_board()
fixed broken images
CI enablement work
Added creatation time to log_work, documented accetable values for assign_issue, converted few prints to use the logger
Update README
v0.28 fixed critial bug related tu unicode support (type(str(..))) and initial work for enabling continous-integration with Travis and the Atlassian provided on-demand JIRA test instance
Fix `GreenHopper.incompleted_issues` - BASE_URL was previously used as the `params` argument
fixed typo in filename
added tox, pep8 and autopep8 as requirements
added travis config file
Initial implementation of update_sprint() which can alter start and end dates
Partial fix for #116 : unicode errors
flush async queue on delete
Improved async support
Re-enabling async support, now you can enable it by adding async=True when you create the JIRA object
Merged in johnjiang/jira-python/fix-add-remote-link (pull request #56)
Fix for instances where destination is NOT an issue but just a normal dict
0.25
documented usage of add_remote_link()
v0.25 fixing #34 : add_remote_link should be able to receive remote issue instances as parameter
fixing #108 : jira __init__ kills version() method
v0.24 fixing #107 by killing sessions inside the destructor
0.23
v0.23 fixing the broken search
Partial fix #46 now waiting for Atlassian to fix their side
Fixed #106
Merged in rentouch/jira-python/fixed_get_json_params (pull request #55)
Fix function calls which are using the “param” argument on the function _get_json(), as param isn’t the second argument anymore since the “base” arg was added in eb8be46
0.22
#104: added connection errors as recoverable errors: DNS resolve issues, connection refused
pep8 reformatting
#104 :retry mechanism. add resilient=True to the server options and it will retry failed requests
Merged in SimplicityGuy/jira-python-fixes (pull request #51)
Merged in chiemseesurfer/jira-python (pull request #53)
Merged in jvtrigueros/jira-python/basic-auth-using-post (pull request #54)
Fixing code formatting as per request
add update to Version class to archive versions
Merged in jvtrigueros/jira-python/basic-auth-using-post (pull request #52)
When using Basic Authentication, use a POST request
Merged in jaimesoriano/jira-python/trust-requests-proxy-selection (pull request #50)
Merged bspeakmon/jira-python into master
Fixed the last few issues of the GreeHopperResource usage
Fixing issue where GreenHopper was using JIRA’s API URL through _get_url
Minor comment cleanup and addition of GreenHopper resources to resource_class_map
Merged in SimplicityGuy/jira-python-fixes (pull request #49)
Moving GreenHopper over to use GreenHopperResource, updating comments, and fixing a few TODOs
Trust proxy selection provided by requests by default
Minor cleanup
Missed part of that checkin
Merged bspeakmon/jira-python into master
Fixing issue where importing print_ from six tried to override the built in print. This does not work. So, fixed up existing print usage to avoid having to import print_
Fixed two import bugs introduced by previous commit
Merged bspeakmon/jira-python into master
Merged in platinummonkey/jira-python (pull request #45)
added six as a dependency fro py2-py3 compatibility
Merged in freeseacher/jira-python (pull request #44)
Merged in guyroz/jira-python (pull request #46)
Merged in SimplicityGuy/jira-python-fixes (pull request #47)
Fixed issue with deprecated IPython usage
Fixed issue #93, missing newline @ line 29
move sphinx to test_requre from setup_requires
PEP8 Compliance and fixed Python3 support utilizing the `six` library
Merged in freeseacher/allow-request-full-search-result-1392721783002 (pull request #1)
allow request full search result. for work with it like with simple dict
0.21
removed tendo as a dependency
Minor fixes needed for continous-integration
v0.21 adding experimental support for iDalko Grid
fixed release so it does force change of tags instead of failing to push them at the end of the release process
0.20
release v0.20 minor bug fixing mainly, but should fix some pip install failures
Fixing incompatibility between ipython and geven modules
Merged in scott_weintraub/jira-python (pull request #40)
Merged in davidszotten/jira-python/fix_setup_requires (pull request #41)
Merged in db_atlass/jira-python/fix_random (pull request #42)
Merged in jdelic/jira-python/feature/output-auth-url-if-printtokens (pull request #43)
Output auth_url instead of opening a webbrowser when the user opted to print the tokens
0.19
v0.19 Added get() method that returns attachment content
Use SystemRandom where it is available instead of random
remove `requests_oauthlib` from `setup_requires`
Added create_filter(name = None, description = None, jql = None, favourite = None)
Merged in il_bale/jira-python (pull request #39)
Add configuration parameter to enable/disable SSL certificate verification
Merged in nyetsche/jira-python (pull request #36)
0.18
Enabled search_issues() to return all issues by setting maxResults=None
Merged in pnichols104/jira-python (pull request #38)
fixed bug in add_user_to_group where find statement always evaluates as True
0.17
Release 0.17 : added support for comments in work logs
Merged in fpierfed/jira-python (pull request #37)
Added ability to specify a comment text in creating a worklog item
Updated README to use the new package name
add maxResults option to groups()
0.16
Renamed the pypi product to jira from jira-python so it does match the package name
Configured to use newer xmlrunner that exports the main class properly
added requitements.txt for prepering the test execution
Increased memory for test instance, enabled JMX RMI so we can debug it if needed
switched to the renamed xmlrunner, which is patched and under our control
Prevented tools from being included into the distribution in order to prevent polution of package namespace. jirashell is for the moment not distributed until we decide where we are going to put it
Removed the tests from sdist, not not poluting module namespace anymore
Various Python 2.6-3.3 compatibility fixes
Release 0.16 adds LICENSE file to archive, optional login verification on instantiation
added license file to the packaged distribution
added optional parameter validate to the constructor that will validate your credential at instantiation time, solving #37
removed typo in group_members()
Added group_members() method
Merged in aliles/jira-python (pull request #35)
Fix warning for implicit close of libmagic
0.15
Added release script and increased version to 0.15
Implemented add_user_to_group() and changed the initialization of unitests so it will test if a jira instance is running on 2990 and start it if necessary. Unit tests still failing with ~90/160, but that’s much better than the previous 100% failure
Removed distributed option (-n4) form py.test config so it can run even without xdist
Added test configs
Added ability to auto-start jira test instance from unittests if it is not already running
updated test command to install tox and autopep8 if needed
pep8 fixes
Merged in nferch/jira-python (pull request #34)
2nd fix for broken py26 due to sys.version
fixed broken py26 due to sys.version
support Python <= 2.6 sys.version_info
Executed autopep8, now part of the test execution
Merged in jonromero/jira-python/jonromero/fixes-httpsbitbucketorgbspeakmonjirapyth-1380256994854 (pull request #33)
Merged in alectolytic/jira-python/py3 (pull request #32)
Real implementation or delete_user()
Implemented delete_user()
Implemented add_user()
[Issue #55] Additional changes for python3 support
Basic Python 3 port
Implemented create_project() and delete_project() - tested only on Jira 5.2.11
Added rank() method for GreenHopper class, which now allows you to rank one issue before another
Merged in jonromero/jira-python-2/jonromero/typo-1381168098819 (pull request #2)
typo
Merged in jonromero/jira-python-1/jonromero/handling-old-api-also-1381167726957 (pull request #1)
minor patch in order to make sure that r_json is defined
handling old API also
Added code to deal with failure to update issue because it has no assignee, this can happen when the current assignee is invalid
Removed fixed dependency on tlslite fixing #58
Merged in mdoar/jira-python-add-labels (pull request #28)
Merged in joernsn/jira-python (pull request #29)
Fix issue #63
Fixes https://bitbucket.org/bspeakmon/jira-python/issue/56/rest-resource-sprints-renamed-to
Added async support for update command, which would use requests. This is still experimental and triggered only manually so it should not affect normal usage
Added support for specifying issue id as int
Issue #52 added modifying labels to the documentation
Fixing issue #50 by detecting the correct issue-type and reversing the direction when needed
Fixing #49 by auto fixing assignee and reporter if update() fails due them having invalid values. This will work only if you do not specify these fields in the original requests and if you enable this feature by adding autofix=’username’ as a parameter when you create the JIRA instance
added applicationlinks() method
Added default headers to the configuration so you can override them for all calls
added missing jira params for search-user
Merged in jjinux/jira-python (pull request #27)
Fixed an error in a comment in an example
Added jira.backup() that would call backup option in Jira admin
Added code for auto-detection and usage of HTTP(S) proxies. Also this would allow you to use a custom proxy if you want
Added debug information regarding the load of the config.ini (visible only python logging level is set to DEBUG)
Merged in frobnic8/jira-python (pull request #26)
Fixed bug for unloaded resources in Resource.__repr__
Added additional fallback for Resource.__repr__
Added detection for authentication failure in the response
Merged in frobnic8/jira-python (pull request #25)
Merged in markeganfuller/jira-python (pull request #23)
Merged in kraiz/jira-python/kraiz/be-aware-of-wrong-magic-version-which-ha-1369150687222 (pull request #24)
Merged in agrimm/jira-python/gh-epic (pull request #22)
Added better unicode handling for Resource.__str__
Added child support for nested selects to the __str__ method on Resource
Added __str__ and __repr__ support to the basic Resource class
Merged bspeakmon/jira-python into master
be aware of wrong magic version (which has no keyword argument “mime”)
Essential fix that will enable you to connect to more than one Jira instance at once, otherwise it will fail as the defaults dictionary was not copied on instantiation
Added improved output of error messages for Jira 6.x
Merged bspeakmon/jira-python into master
Add method for adding issues to epics
Added rename_user() method, current implementation relies on Script Runner plugin. Still, if this is missing it will fail nicely indicating what you have to do
Added the option to load the default jira profile specified inside the config.ini
Prevented reindex() from throwing exception when reindex operation returns 503 while jira is doing the foreground reindexing
Added reindex() for JIRA class. Now you can trigger Jira reindexing using python-jira. Implementation supports force mode and background/foreground mode
Merged in sorin/jira-python (pull request #19)
Switched to SafeConfigParser for config module
Added config.py module which allows people to init JIRA with a single command and by keeping credentials to another file
Added jira.config module which allows people to load jira credentials from a config file
Added sphinx to setup.py so now you can build documentation using `python setup.py build_sphinx` modified: setup.py
Improved documentation regarding transitions, now includes example of setting the resolution field and alternative way to specify parameters. modified: .gitignore modified: docs/index.rst
Fix name typo in docs
woopsy, deleted the pycrypto stuff on accident
0.13
Add changelog and acknowledgements for 0.13 release
Set version 0.13 for release
Fix GreenHopper object placement (damn it mdoar :)
Merged in dvj/jira-python/libmagic-optional (pull request #17)
Merged in mdoar/jira-gh-python (pull request #16)
make python-magic optional
Fix a comment
Change ordering of parameters for transition_issues to maintain backwards compatibility
Updated documentation to refer to JIRA. Ensure no TODO appears in docs
Add optional comment parameter to transition_issue
Add changelog for upcoming release
Added class for accessing GreenHopper via REST. Example use script added too
Added class for accessing GreenHopper via REST. Example use script added too
Remove unneeded cookie authentication when using Basic Auth
Document new verify parameter
Add ‘verify’ parameter to options dict
Document the PyCrypto requirement for OAuth
Update docs with the new ResultList return type
Add ResultList class for including search metadata
Merged bspeakmon/jira-python into master
Clarify docs regarding add_attachment()
Fix broken OAuth in jirashell by switching to requests_oauthlib
Merged in gdw2/jira-python (pull request #15)
fixed minor typo in docs
Add requests_oauthlib to dependencies
Use requests_oauthlib for OAuth
Merged in markeganfuller/jira-python (pull request #8)
Update requests requirement in docs
Merged in vassius/jira-python (pull request #12)
Merged in vassius/jira-python/issue-14 (pull request #13)
Document new parameter
Changed requests version in setup.py dependencies
Add optional file name parameter to add_attachment()
Fix issue #14
Fix issue #7 and #8
Added content-type to Resource.update
Updating to work with requests-1.1.0
Merged in shawnps/jira-python (pull request #10)
fix project URL in docs
Fix for empty errorMessages, moved length check to main logic for deciding which error message to use and added check for ‘errors’ in the response
Merged bspeakmon/jira-python into master
Update to new address + contact info
Merged in markeganfuller/jira-python (pull request #6)
Added a length check on error messages. This avoids any “IndexError: list index out of range” when an empty list is returned
Merged in ranman/jira-python (pull request #4)
pep8 fixes
rip off trailing slash on server urls and add auth
update dictionary instead of adding together items
0.12
Update docs for release
Bump to version 0.12 for imminent release
Bump to latest version of requests and ipython. Also made ranges open-ended (fixes #2)
hardcode some access tokens for running tests with oauth (I’ll move it to a file later)
Add option to print oauth tokens as they’re received
Move tests and test resources to their own package
Read from a config file and merge it with command line options
prefer oauth to basic_auth if both exist
refactor tests to prepare for oauth support
standardize content-type autodetect
make tests more forgiving when less-than-exact comparisons are required - fix a few other brokens
make error message detection more intelligent
improve autodetection (still not quite right)
auto-add content type to PUT/POST if it’s not already there (add_attachment and friends are still broken)
fix broken oauth initialization
start doc updates
0.11
bump to version 0.11
fix broken oauth initialization
add update and delete examples
0.10
don’t need explicit argparse import
use webbrowser to simplify the authorization process
use webbrowser to simplify the authorization process
add OAuth dance support to jirashell
add OAuth support to client and jirashell
make raise_on_error more helpful
add tlslite to dependencies for requests_oauth bump to beta list (oooOOOOoooo)
incorporate private fork of requests-oauth to handle RSA-SHA1 for atlassian oauth
added -P option for jirashell to read password from prompt
refactor raise_on_error to exceptions.py - make __str__ value useful
0.9
bump to version 0.9 for summit release
Implement decorators for handling resource arguments in JIRA client calls
remove Comments and Dashboards resources; specify a better couple of createmeta tests
update set_application_property() doc
spiffy up sphinx docs
0.8.0
implement issue.update(), issue.delete()
test version.update()
implement and test role.update()
test worklog.update()
implement and test RemoteLink.update()
test comment.update()
implement Resource.update() - test component.update()
bump to version 0.8 for next release
Merged in vitaly4uk/jira-python (pull request #2)
package version have been updated
_get_url now use api version
fix several resource construction bugs; implement delete functionality
kill unused import
use standard icon test resource for avatar tests
factor out set_avatar logic
implement project avatar upload and selection
implement user avatar upload and selection
add missing comment for search_allowed_users_for_issue()
implement add_attachment()
implement transition_issue
kill missed pass statement
implement create_issue()
centralize version info
make python 2.7 requirement explicit
implement add_remote_link()
implement move_version()
implement create_version()
implement add/remove votes/watchers
add stubs for add/remove vote and watcher - implement create_issue_link()
implement add_comment()
implement create_component and tests
add basic test for add_worklog()
Merged in gak/jira-python (pull request #1)
add placeholder for add_comment()
add SSL verification if the server url starts with https
add doc link to readme
first doc with sphinx pass - use jira-python for name - remove separate module doc pages
kill docstring warning
add add_worklog method with timeSpent, adjustEstimate et al
include source path in sphinx sys.path
add rst autogen for client modules - update conf.py to find modules in source path
add sphinx doc skeleton
0.7.0
bump to version 0.7.0
doc exception
update gitignore
removed utils; we don’t seem to need it - updated ignores
restructure module
add docstrings
fix formatting
rest of docstrings for jira module - remove options argument from universal find()
start API docstrings
0.6.0
convert tools to package - fix jirashell installation in setuptools - bump to version 0.6
make jirashell a proper module and give it an entry point
make jirashell a proper module and give it an entry point
use json from python standard library
raise JIRAError for _get_json() operations that fail
improve exceptions - test that invalid find throws proper exception
eliminate some duplication
update install instructions
0.5.0
fix path to repo
add license
update README
update README - change project name
update examples
move resources to use session - fix warnings
use requests session to persist cookies/headers - add oauth placeholder
add cls_for_resource tests - correct total fields value for default test data
return Resource for unmatched self links
kill unused import
fix universal resource loader
add support for issue remote links
add setup.py - add README placeholder
rename private vars
session/websudo tests
fix wrong param order in session()
most of the remaining tests
parameter name standardization - handle passed params correctly
rename roles() and role() - remove expand param from versions until I can confirm it exists
correct my_permissions()
more tests
support all-groups option
lots more tests
clean up application_properties()
fix typo in customFieldOption Resource
fix REs for resource matching
fix wrong var name bug :/
start tests (YAY)
add expandos - promote customFieldOption to Resource
clean up _get_json uses - add expand parameters to affected resources
code cleanup
recursive resource parsing
fixed format bug I just introduced :/
clean up string formatting - remove unneeded paramter in _get_json
method refactoring - always turn raw json in resources into object attributes
fix searches - implement rest of reading
derp
implement remaining resources - clear up some gets
always create cookies (this lets us do anonymous access)
add server info to jirashell
use direct JSON get instead of search resource
reorganize project structure
implement rest of non-resource methods - move example use to its own file
safer check for tuple coercion (thanks to dchambers)
help message
fix ipython shell
merge util method
start console
implement a few non-resource client methods
Pass (auth) cookies through to resource constructors
implement BASIC session (need to save cookies intelligently)
stubbed API
take **kw in delete() - use new string formatting
Examples using the attribute access from the JSON response
augment returned object with params of json
make resource loading more general
added options param to fine - search returns list of issues
Take a raw param to build issues out of other issues
Change save to update() and take kwargs
Refactor issue method into clearer parts
implement JQL search
Implement generic find() method and clean up API
raise on 400-500 errors from server
more sketches
actually we can do better
optionally enable issue finding - move issue resource to separate module - use new-style classes
checkpoint work on issue-related client
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file jira-1.0.13.tar.gz
.
File metadata
- Download URL: jira-1.0.13.tar.gz
- Upload date:
- Size: 151.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 37a7daa94a2cd920c49e1ae691ae57f9b0c4d1e8fde9254ffc1670c4f41b4cfe |
|
MD5 | 6ff78d67bfad0d74c7f9fbac79e4c09b |
|
BLAKE2b-256 | b435c78c88057a2c3fdc80bbe5f278ede35356b31560928b96f31b0f86e276b5 |
File details
Details for the file jira-1.0.13-py2.py3-none-any.whl
.
File metadata
- Download URL: jira-1.0.13-py2.py3-none-any.whl
- Upload date:
- Size: 95.6 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 66d4094721e94ca78782675282d241b161303eac9339f7ef8b1459fe82ad5513 |
|
MD5 | ab6181ec05e2fbb6fea19c0338a60f7b |
|
BLAKE2b-256 | 83d05a43618bb2430b885e27b775bf79460b50b7056249f3a9a380d38358cbf5 |