All notable changes to this project will be documented in this file.
This project adheres to Semantic Versioning.
- Fix an issue where no e-mail was sent on ticket creation due to suggesting to use Requestors instead of Requestor (python-rt#92).
- Revert breaking change for python3.8 (collections.abc.AsyncIterator is not subscriptable).
- In AsyncRt, instead of returning sequences, return AsyncIterators.
- Replace requests with httpx for the REST2 part.
- Add a new AsyncRt class which implements the RT REST2 API in asnyc.
- Adapt tests to include thew new async parts of this library.
- Fix sorting when using search() method (#90)
- Fixed bug in rest1 (#86)
- Added support for specifying custom fields on user creation/edit (#82).
- Workaround for parsing issues with tickets with only 1 attachment (#80), due to probably an upstream bug.
- Move package metadata and configuration from setup.cfg to pyproject.toml.
- Fix edit_user() response handling in case a user_id name (str) was passed instead of a number.
- Make sure to include _hyperlinks in history items
- On edit ticket, raise exception if user/queue does not exist
- Add helper method for deleting tickets
- Add tests
The following is a major release of the rt
library.
There is support for the REST API version 1 as well as version 2.
Please note that this release contains breaking changes and requires adaptations to existing code, even if you are
sticking to version 1 of the API.
These changes were necessary in order to properly support both API versions.
- RT REST2 support was added and is mostly on par with the REST1 support (differences are a result of the REST2 API implementation differences in RT). REST2 is a modern API based on JSON exchanges and thus the complex parsing of responses and request construction are no longer needed.
- Existing exception classes were renamed to adhere to the naming convention (https://peps.python.org/pep-0008/#exception-names).
- In case you do catch specific
rt
exceptions, a simple search/replace will do, see the changelog page in the documentation for details.
- In case you do catch specific
- Importing the
rt
class changed in order to better accommodate the newrest2
implementation.-
Where one use to be able to import
rt
using:from rt import Rt
you now have to use the following syntax:
from rt.rest1 import Rt
-
- Importing the
rt
module does no longer import all exceptions but only the coreRtError
exception. If you require other exceptions, please import them fromrt.exceptions
. - Use pytest instead of nose.
- Fix bug in the get_ticket would omit certain fields in case they were empty instead of returning an empty list as was the previous behavior (#70).
- Add tests for verifying correct return result for AdminCc, Cc and Requestor fields.
- Fix bug in get_attachment_content which was a workaround for a bug in RT <=4.2 (trailing new-lines) but which was fixed in RT >=4.2. This made tests fail and return falsely stripped attachment content.
- Search has a parameter fields that can be used to return only particular fields for tickets. In some cases I noticed it will improve the speed of the query completion if you only need specific fields (#65 by @kimmoal).
- Fix support for custom field values containing newlines in API responses (#10, #11) (the previous change in v1.0.11 fixed API requests) (#64)
- Add the possibility to provide cookies as dict to authenticate (#60)
- Add 'Referer' header for CSRF check when cookies are used for authentication (#60)
- Add IS and IS NOT operators to search (#57)
- Fix UnicodeDecodeError in logging code for non-text attachments (#50, #51)
- Documentation: Add a search example (#49)
- edit_ticket: Handle possible empty responses: When a ticket is not modified, at least with RT 4.x, an empty response could be returned. Gracefully handle that as success. (#47, #48)
- Drop Python2 support
- Adjust Travis tests for Python3-only, and add v3.8
- Add inline typing
- Remove "debug_mode" parameter
- Add "logging" support (basically replacing "debug_mode" and the various "print"s)
- Fix "no-else-after-return" and "no-else-after-raise"
- Fix "startswitch" typos / bugs
- Removed deprecated "basic_auth" and "digest_auth" parameters. The same functionality is given by specifying the "http_auth" with an instance of either object. This allows for more flexibility with various other alternative authentication methods.
- Add deprecation warning for in the next major release unsupported parameters (basic_auth, digest_auth). They are now replaced with http_auth.
- Fix problematic default method parameters ("{}" and "[]").
- Travis CI Docker tests
- RT 4.4 fixes
- Support multiline CF values in create_ticket and edit_ticket.
- Fix support for custom field names containing colons
- In search(), replace splitlines() with lines array split on \n.
- Add debug_mode flag for response logging
- Add platform independent url joining / Allow testing on Windows
- Add numerical_id to get_ticket result
- Added parameter to set the content type in reply() and comment() (#12).
- Added parameter Format to search() (#17).
- Tests: Update to new demo instance, fixing tests.
- Tests: Disable tests in Travis, the existing test instance closed the REST interface (#28).
- Fix support for custom field names containing colons (#37).
- Fix support for custom field values containing newlines (#11).
- PEP8 fixes
- update .travis.yml to update python interpreter list and some other small changes
- prefer format over % (PEP 3101)
- Add patch from https://gitlab.labs.nic.cz/labs/python-rt/issues/9 "Support CF search where special chars or spaces in CF names"
- Implement a fix for the issue suggested in https://gitlab.labs.nic.cz/labs/python-rt/issues/10 (can't create ticket with multi-line message)
- Implement fix for https://gitlab.labs.nic.cz/labs/python-rt/issues/7 "returned types inconsistent in get_ticket" Add splitting for Cc and AdminCc
- added ability to steal, untake, and explicitly take tickets
- fixed create_ticket return value when provided an invalid custom field
- added ability to search all queues
- added RtError super class
- fixed compatibility issues with Python 2.6
- unit tests
- own exceptions
- added create_user, create_queue, edit_user, edit_queue methods
- added edit_link (replaces buggy edit_ticket_links)
- added get_attachments, get_short_history methods
- support merge_ticket in RT4
- custom query to search method
- strict binary handling with attachments
- added support for HTTP basic and digest authentication
- specification of errors to different exceptions
- fixed decoding of utf-8 only when needed
- updated search function to support various lookup operators and sorting
- default queue added to init parameters
- python-requests 1.x compatible
- HTTP proxy support
- Support for multilinks in get_links
- Updated docstrings
- Added Sphinx documentation
- Initial release