Revision history for Perl module RT::Client::REST 0.72 Mon Feb 27 2023 "Deean Hamstead" - More fixes for GH#27 to eliminate warnings and handle empty list fields 0.71 Mon Dec 5 2022 "Dean Hamstead" - Fixed GH#27 Missing fields 0.70 Sun Sep 25 2022 "Dean Hamstead" - GH#26 Swap from Error's try to Try::Tiny - GH#26 Remove Error entirely - Swap from base to parent - Attempt to resolve issues with trailing endlines on attachments - Allow queues to be disabled (or enabled) - Add status as a method for Tickets - GH#20 Allow HTML in comments - Point MetaCPAN at Github for issues - RT#120077 fetch ticket subjects with a single API call 0.60 Wed May 6 2020 "Dean Hamstead" - PR#25 GH#23 Fix get_attachments_metadata - PR#24 GH#22 Fix get_attachments_metadata 0.59 Mon May 4 2020 "Dean Hamstead" - Worked around what appears to be a bug in PodChecker in perl 5.20 - Adjusted travis and dist.ini - No functional changes 0.58 Thu Apr 30 2020 "Dean Hamstead" - RT118729 correct bug when "not set" is in textA - PR#19 Report UA, URI, and better errors when you opt in. Thanks @melmothx 0.57 Tue Apr 28 2020 "Dean Hamstead" - PR#21 Add SLA and SLADisabled attributes which appeared in RT 4.4.3 0.56 Mon Dec 24 2018 "Dean Hamstead" - Fix for GH#18 (more fixes) 0.55 Sat Dec 08 2018 "Dean Hamstead" - Fix for GH#18 0.54 Mon Nov 12 2018 "Dean Hamstead" - Fixes for whitespace handling in attachments RT127607 - Fix edgecase for handling 401's RT127288 0.53 Mon Nov 05 2018 "Dean Hamstead" - Fix some tests on Windows - Various coding changes internally - Expose CC Addresses and Admin CC Addresses on Queues 0.52 Fri Apr 06 2018 "Dean Hamstead" - Fix up lots of Pod Critic complaints - Fix up lots of Perl Critic complaints - Use Dist-Zilla for releases - Remove Pod, tests and other files that Dist-Zilla provides - Adjust git repo slightly - Note: no functional changes 0.51 Tue Feb 27 2017 "Dmitri Tikhonov" - Add method to retrieve attachment metadata. Thanks Oriol Soriano. - Fix filename parsing bug in get_attachment_ids(). Thanks djstauffer. 0.50 Fri Dec 11 2015 "Sarvesh Das" - Added the 'disabled' attribute to RT::Client::REST::Group and RT::Client::REST::Queue to match the addition in RT 4.2.2 -- commit 7557633. Thanks Tom. - Allow a trailing forward slash in the server URI -- RT#97621. Thanks Marco Pessotto. - Tests in 82-stringify.t are skipped with LWP::UserAgent 6.04 which has buggy read timeout -- commit da577af. Thanks Marco Pessotto. - Fixed warning `Unescaped left brace in regex is deprecated' in perl 5.22 -- RT#106795. Thanks Mike Andrews. - Fixed documentation for RT::Client:REST::search() in POD -- RT#98160. - Removed MYMETA* files from distribution -- RT#108083 0.49 Sat May 10 2014 "Dmitri Tikhonov" - This module is now all covered by the Perl Artistic License: GPL is gone. This was done with permission from the original author of the command-line `rt' utility, Abhijit Menon-Sen. - Support custom fields that contain '#' in their name. Patch contributed by Ryan Niebur in RT#83856 -- thanks! - Documented get_links() -- RT#68673. - All tests now correctly run on Windows -- RT#81872. - All tests now correctly run on OpenBSD -- RT#95223. 0.48 Wed Apr 30 2014 "Dmitri Tikhonov" - Fixed POD bug in 0.47 -- `logger' attribute and method of RT::Client::REST was not documented and this caused POD coverage test to fail. While at it, made it a developer-only test. This way, these types of issues do not cause all cpantesters to fail. 0.47 Wed Apr 30 2014 "Dmitri Tikhonov" - Support redirects on login, RT#92371. - Skip failing test 83-attachments.t on OpenBSD while we investigage why it fails. Track this issue in RT#95223. 0.46 Sat Apr 26 2014 "Dmitri Tikhonov" This release only fixes several tests, there are no functional changes. Dmitri Tikhonov - Skip some tests on Windows and with buggy LWP::UserAgent. Marco Pessotto - Bumped version for next release (+ fixed version number in POD) 0.45 Marco Pessotto - Fixed uploading preventing objects to be stringified (RT#88919) - Added option to get undecoded attachments (RT#90112) - Added test 82-stringify.t (fails with 0.44 before the RT#88919 fix) - Added test 83-attachments.t to illustrate and check RT#90112 0.44 Damien Krotkine - Add URI in the prereqs Dave Lambley - Add support for parsing RT dates and returning a datetime object. (RT#73920 + RT#76658) Gregor Hermann (Debian Perl Group) - Doc improvement (RT#74191) Darren Duncan Doc improvement for timeout (RT #78133) richardgmcmahon@gmail.com Doc improvement for show method (RT #78439) Miquel Ruiz Fix for submitting non latin-1 strings to RT 0.43 Miquel Ruiz - Added support for groups via new class RT::Client::REST::Group Tests and examples also added. Roman Plesll - Fix for ticket merges (RT #62405) Stuart Browne - Accept question mark in custom field names (RT #70631) T Pascal - Patch for different link types (RT #68673) Jose Luis Martinez - Skip timeout tests on Windows (RT #70225, RT #35770) - Fix 'priveleged' (renamed to 'privileged') method on RT::Client::REST::User - Add missing disabled, nickname, lang, contactinfo and signature methods to RT::Client::REST::User - Clean up the API for retrieving links. Patch from T.Pascal is missing some cases like links that are URLs. This feature is not documented as it's considered experimental. - Refactor login method to accept any type of field name (not just username and password) 0.42 False release. See 0.43 - support for groups via new class RT::Client::REST::Group - Fix for ticket merges - Accept question mark in custom field names 0.41 Tomas Doran - Make version number a string to avoid length of version number changing at 0.X0 releases (as this breaks distro packages) - Update META.yml to the 0.4 META spec. - Include repository metadata to make it easier for people to contribute to the module. - Change from ExtUtils::MakeMaker to Module::Install (I'm sure you can generate the correct information with EU::MM, I just don't know how offhand). - Add Test::More as a test_requires to help distros which split it out of their core perl package (RT#45150) 0.40 Jerrad Pierce - #38710, more user attributes - #39868 & #42391, Alter CF parsing to accomodate 3.8 as well as 3.6 This required tweaks to Forms as well as Object. - #38591 & #43844, Add requestor attribute to Ticket so that autoreplies are sent to users under RT3.8 0.37 Fri Aug 15 2008 "Dmitri Tikhonov" - Fri Aug 15 2008 "Dmitri Tikhonov" Improvement: reorganized exceptions, made RT::Client::REST::Object::Exception a subclass of RT::Client::REST::Exception. What this means is that now any native exception thrown by RT::Client::REST code can be caught by catching a generic RT::Client::REST::Exception class. Added tests to ticket and attachment tests scripts to verify the behavior. I have been meaning to do this for a while now. Fixed an error in RT::Client::REST::Ticket POD. Bug 36814. 0.36 Sat May 10 2008 "Damien Krotkine" - Sat May 10 2008 "Damien Krotkine" Bug 35692 and 35146 : added test and fix. 0.35 Tue Apr 15 2008 "Damien Krotkine" - Tue Mar 04 2008 "Damien Krotkine" Bug 34917 : applying patch from Andreas J. Koenig. remove unneeded Encode 0.34 Tue Mar 04 2008 "Damien Krotkine" - Mon, 03 Mar 2008 "Damien Krotkine" added Encode prerequist 0.33 Fri Feb 29 2008 "Damien Krotkine" - Fri, 01 Feb 2008 "Dmitri Tikhonov" Fixed a typo. Updated POD; no code changes. s/dtikhonov@vonage.com/dtikhonov@yahoo.com/ - Tue, 29 Jan 2008 "Damien Krotkine" Decode data from REST from the proper encoding to Perl internal. Thanks to "Sébastien Aperghis-Tramoni" - Fri, 25 Jan 2008 "Damien Krotkine" Add dirty custom fields handling. Without it, cf are always submitted, included void ones, which may (and does on rt.cpan.org) conflict with custom fields rules on the server (e.g. a custom field value cannot be empty) 0.32 Sun Dec 23 2007 "Dmitri Tikhonov" - Fixed bug 31827 -- allow to specify custom fields at creation time. Method 'cf' can now take a hash reference that has a list of custom fields and their values. - Fixed bug 31828: allow to specify ticket content at creation time. Methods RT::Client::REST->create and RT::Client::REST::Ticket->store now take optional 'text' parameter. 0.31 Fri May 25 2007 "Dmitri Tikhonov" ! lib/RT/Client/REST.pm * Fixed 'VERSION' section of POD to print the correct version. ! lib/RT/Client/REST/Ticket.pm ! lib/RT/Client/REST/User.pm * Fixed SYNOPSYS in POD to reflect reality. No code changes. ! lib/RT/Client/REST/Queue.pm * CPAN.RT #27267 - fixed POD. No code changes. ! Makefile.PL * Added 'LICENSE' option. 0.30 Sat May 19 2007 "Dmitri Tikhonov" ! lib/RT/Client/REST.pm * CPAN.RT #27201 -- if one login fails, subsequent logins should fail as well. 0.29 Thu May 17 2007 "Dmitri Tikhonov" ! lib/RT/Client/REST/Object.pm * Do not validate values received from the server (from_form method). 0.28 Fri Apr 27 2007 "Dmitri Tikhonov" This is a bug fix release. ! lib/RT/Client/REST/Ticket.pm * CPAN.RT #25185 -- fixed typos in attribute validation specs. ! lib/RT/Client/REST.pm * CPAN.RT #26528 -- fixed a typo in method 'get_transaction_ids' ! examples/show_ticket.pl * Added code to display all custom fields. + t/99-kwalitee.t * Kwalitee is spelled... vanity?! ! TODO * Removed a couple of old items. Special thanks to Damien Krotkine (Dams) who found and provided patches for both bugs. 0.27 Tue Oct 3 2006 "Dmitri Tikhonov" This is a small release to fix warnings and a couple of documentation errors. ! lib/RT/Client/REST.pm * Fixed SYNOPSIS (CPAN RT 21314). * Upped $VERSION to 0.27. ! lib/RT/Client/REST/Object.pm * Fixed code to avoid a possible 'undefined value' warnings from tests. * Fixed up POD (annocpan note #989). ! t/35-db.t * Changed from 'no_plan' to plan 20 tests. ! t/22-ticket.t * Added test to verify properties of list attributes. 0.26 Tue Aug 15 2006 "Dmitri Tikhonov" ! lib/RT/Client/REST.pm * Match either $res->content or $res->message for the timeout message; this depends on version of HTTP::Response installed on the system. Discovered when timeout tests threw wrong exceptions on an old box. ! README * Reworded some things. 0.25 Wed Aug 9 2006 "Dmitri Tikhonov" Added support for basic HTTP authentication. ! lib/RT/Client/REST.pm * Added support for using basic HTTP authentication with the help of a callback provided via method "basic_auth_cb". * Use our own UA class (subclass of LWP::UserAgent). ! t/10-core.t * More tests. + lib/RT/Client/REST/HTTPClient.pm * Subclass of LWP::UserAgent to add some methods. + examples/report-bug-to-cpan.pl * Report a bug to CPAN rt. ! examples/show_ticket.pl * Removed ticket-modifying code. ! MANIFEST * Added new files. ! TODO * More stuff to do. 0.24 Tue Aug 8 2006 "Dmitri Tikhonov" ! lib/RT/Client/REST.pm * Added 'timeout' attribute to the object. If specified, overrides the default used by LWP::UserAgent. ! lib/RT/Client/REST/Exception.pm * Added RT::Client::REST::RequestTimedOutException. ! 91-pod-coverage.t * RT::Client::REST now has improved POD. ! MANIFEST * Added new files. ! TODO * Added 'write user manual' item. + t/80-timeout.t * Test timeout exceptions. + README * Added README file. 0.23 Fri Aug 4 2006 "Dmitri Tikhonov" ! lib/RT/Client/REST.pm * API change -- added 'login' method. ! lib/RT/Client/REST/SearchResult.pm * API change -- 'object' instead of 'retrieve'. ! lib/RT/Client/REST/Object.pm * Added support for transparency and a bunch of other goodies. See POD. ! lib/RT/Client/REST/Attachment.pm ! lib/RT/Client/REST/Ticket.pm * Modified to conform to changed APIs. ! examples/*.pl * Modified to adhere to new APIs. + t/35-db.t * Test auto* goodies. + t/91-pod-coverage.t * Test POD coverage. ! t/10-core.t ! t/20-object.t ! t/40-search.t * Updated with new tests, methods, APIs, etc. ! MANIFEST * Added new test files. 0.22 Fri Aug 4 2006 "Dmitri Tikhonov" ! lib/RT/Client/REST/Object.pm * Modified behavior. Now list attribute methods return lists, not array references. * Fixed the way comma-separated values are split when parsing forms. * Updated POD. ! Makefile.PL * Added dependency on Test::Exception, so that automated CPAN tests don't fail. ! lib/RT/Client/REST.pm * Updated POD. * Upped VERSION. * No code changes. ! examples/edit_ticket.pl * Modified to support setting list attributes. 0.21 Thu Aug 3 2006 "Dmitri Tikhonov" ! lib/RT/Client/REST.pm * Added support for attachments. ! lib/RT/Client/REST/Ticket.pm * Updated POD. ! lib/RT/Client/REST/Exception.pm * Added exception RT::Client::REST::CannotReadAttachmentException. * Jump version to 0.17 so that CPAN indexer does not bitch. ! t/22-ticket.t * Added test for RT::Client::REST::CannotReadAttachmentException. 0.20 Wed Aug 2 2006 "Dmitri Tikhonov" Added support for queues. ! lib/RT/Client/REST.pm * Modified method "show()" to accept non-numeric IDs for objects of type 'queue'. + lib/RT/Client/REST/Queue.pm + t/25-queue.t * Queue support. + examples/show_queue.pl + examples/create_user.pl + examples/list_tickets.pl * More examples. ! MANIFEST * Added new files. 0.19 Wed Aug 2 2006 "Dmitri Tikhonov" ! lib/RT/Client/REST.pm * Fixed a bug in 'create' and 'edit' -- introduced in 0.14 when APIs changed. (Note to self - need a full-blown test suite). 0.18 Wed Aug 2 2006 "Dmitri Tikhonov" ! lib/RT/Client/REST.pm ! t/10-core.t * Added methods 'take', 'untake', and 'steal'. * If attribute 'server' is unset, RT::Client::REST::RequiredAttributeUnsetException will be thrown when a REST method is called. ! lib/RT/Client/REST/Exception.pm * Added exceptions: * RT::Client::REST::RequiredAttributeUnsetException * RT::Client::REST::AlreadyTicketOwnerException ! lib/RT/Client/REST/Object.pm ! t/20-object.t * Added convenience assertions methods: * _assert_rt_and_id * _assert_rt * Added assertions to methods 'retrieve', 'store', and 'count'. ! lib/RT/Client/REST/Object/Exception.pm * Added exceptions: * RT::Client::REST::Object::NoopOperationException * RT::Client::REST::Object::RequiredAttributeUnsetException ! lib/RT/Client/REST/Ticket.pm ! t/22-ticket.t * Added methods 'take', 'untake', and 'steal' * Added assertions in a couple of places * Fixed up POD. + examples/take_ticket.pl * Taking a ticket. ! MANIFEST * Added new example. 0.17 Tue Aug 1 2006 "Dmitri Tikhonov" + lib/RT/Client/REST/Transaction.pm + t/24-transaction.t * Added transaction object. + examples/show_transaction.pl + examples/list_transactions_rt.pl + examples/list_transactions.pl * Some more examples. ! lib/RT/Client/REST/Ticket.pm * Added method "transactions()". ! lib/RT/Client/REST.pm ! t/10-core.t * Added methods "get_transaction_ids()" and "get_transaction()" ! lib/RT/Client/REST/Attachment.pm * After retrieving values, set everything to not dirty. * Fixed up POD. ! MANIFEST * Added new files. 0.16 Tue Aug 1 2006 "Dmitri Tikhonov" Added support for user object; other minor changes. + lib/RT/Client/REST/User.pm + t/21-user.t * Added user object. + examples/show_user.pl + examples/edit_user.pl * Examples of the user APIs. ! lib/RT/Client/REST.pm * If method "show()" is called to retrieve an object of type "user", 'id' parameter does not have to be numeric. ! lib/RT/Client/REST/Exception.pm * Added RT::Client::REST::UnauthorizedActionException * Method _rt_content_to_exception() now returns a ready-to-throw exception with message set to massaged text from RT server. ! MANIFEST * Added new files. 0.15 Tue Aug 1 2006 "Dmitri Tikhonov" ! lib/RT/Client/REST/Ticket.pm * Fixed up POD. ! lib/RT/Client/REST.pm * Upped $VERSION to 0.15 -- no code changes. 0.14 Tue Aug 1 2006 "Dmitri Tikhonov" + lib/RT/Client/REST/Attachment.pm + examples/list_attachments.pl + examples/show_attachment.pl + t/23-attachment.t * New attachment representation. ! lib/RT/Client/REST/Ticket.pm ! t/22-ticket.t * Added method "attachments()". ! lib/RT/Client/REST/SearchResult.pm ! t/40-search.t * Changed APIs to be more flexible -- pass a closure to retrieve objects. ! lib/RT/Client/REST/Object.pm * Modified to work correctly with new REST.pm and SearchResult.pm APIs. ! lib/RT/Client/REST/Object/Exception.pm * Added RT::Client::REST::Object::IllegalMethodException ! examples/show_ticket.pl * Catch and display exceptions. ! lib/RT/Client/REST/Exception.pm * Added several exceptions. * Added POD. ! lib/RT/Client/REST.pm ! t/10-core.t * Modified "show()" and "edit()" methods to only accept a single ID. This is needed in order to correctly throw exceptions -- one object at a time, please. * Added methods "get_attachment_ids()" and "get_attachment()". * Removed list of exceptions (see Exception.pm docs). * Various small updates to POD. ! MANIFEST * Added the new files. 0.13 Mon Jul 31 2006 "Dmitri Tikhonov" Added searching APIs. ! lib/RT/Client/REST/Object.pm * Added methods 'search' and 'count'. * Updated POD. + lib/RT/Client/REST/SearchResult.pm * This class is an OO representation of search results. + t/40-search.t * Tests for RT/Client/REST/SearchResult.pm + examples/search_tickets.pl * Example of a search. ! lib/RT/Client/REST.pm * Added method 'search'. * Modified POD to reflect latest changes. ! t/10-core.t * Added test for method 'search'. ! lib/RT/Client/REST/Exception.pm * Added RT::Client::REST::InvalidQueryException * Added $VERSION ! lib/RT/Client/REST/Object/Exception.pm * Added two exceptions: * RT::Client::REST::Object::InvalidSearchParametersException * RT::Clite::REST::Object::InvalidAttributeException ! TODO * Search has been implemented. ! MANIFEST * Added search-related files. 0.12 Tue Jul 25 2006 "Dmitri Tikhonov" Refactoring and improvement continues. Still very much beta. ! lib/RT/Client/REST/Ticket.pm * Added methods 'comment' and 'correspond'. * Added attribute 'last_updated'. * Added POD. ! t/22-ticket.t * Added tests for new methods and attributes. ! lib/RT/Client/REST.pm * Added 'cc' and 'bcc' support to 'comment' and 'correspond' methods. * Refactoring: moved forms functions and exceptions into their own files. * Fixed POD (s/=end/=cut/). * Throw 409 RT errors (syntax errors), since this client is not interactive. + lib/RT/Client/REST/Exception.pm * Refactoring: moved forms functions and exceptions into their own files. * Mapped 'does not exist' to ObjectNotFound exception. * Added RT::Client::REST::UnknownCustomFieldException. + lib/RT/Client/REST/Forms.pm * Refactoring: moved forms functions and exceptions into their own files. ! lib/RT/Client/REST/Object.pm * When creating an object, update $self with the new id. * Added support for fetching and updating custom fields. * Added method 'cf' for custom field manipulation. * Added POD. ! t/20-object.t * Added test for 'cf' method. + t/90-pod.t * Added POD tests using Test::Pod. ! examples/edit_ticket.pl ! examples/show_ticket.pl * Now rtserver is $ENV{RTSERVER} by default. + examples/create_ticket.pl + examples/comment_on_ticket.pl + examples/edit_custom_field.pl * More examples. ! Makefile.PL * Added dependency on Params::Validate. ! MANIFEST * Updated to reflect new tests, examples, and classes. + TODO * Added TODO file. 0.11 Sat Jul 22 2006 "Dmitri Tikhonov" ! lib/RT/Client/REST.pm * Make $VERSION a string so that 'make tardist' works as expected (i.e. version 0.10 instead of 0.1). 0.10 Sat Jul 22 2006 "Dmitri Tikhonov" Started working on new APIs; new objects and file structure. 0.06 Wed Jul 12 2006 "Dmitri Tikhonov" * Method 'create' now returns numeric ID of the new object. * RT::Interface::REST is no longer a requirement. If it is not installed, embedded copy of auxiliary methods is used. * Added tests. 0.05 Thu Apr 20 2006 "Dmitri Tikhonov" * Added RT::Client::REST::CouldNotCreateObjectException 0.04 Wed Apr 19 2006 "Dmitri Tikhonov" * Removed old print statements 0.03 Wed Apr 19 2006 "Dmitri Tikhonov" This is the initial release. # vim:sts=2:sw=2:et:ft=changelog: