Interface to the 'Request Tracker' API.
rt
An interface to the RequestTracker API.
Installation
install.packages("rt")
Usage
Setup
To start using the rt
package, log in to your RT instance by setting the server URL in using Sys.setenv
and use rt_login()
to log in and store your session locally.
Below, we log into Best Practical's demo installation of RT:
library(rt)
Sys.setenv("RT_BASE_URL" = "https://demo.bestpractical.com")
rt_login() # Enter demo/demo
Once you are successfully logged in, you're all set to use the package. The rt
package supports all of the RequestTracker REST API:
- General
- Login:
rt_login()
- Logout:
rt_logout()
- Login:
- Tickets
- Ticket Properties:
rt_ticket_properties()
- Ticket Links:
rt_ticket_links()
- Ticket Attachments:
rt_ticket_attachments()
- Ticket Attachment:
rt_ticket_attachment()
- Ticket Attachment Content:
rt_ticket_attachment_content()
- Ticket History:
rt_ticket_history()
- Ticket History Entry:
rt_ticket_history_entry()
- Ticket Search:
rt_ticket_search()
- Ticket Create:
rt_ticket_create()
- Ticket Edit:
rt_ticket_edit()
- Tickets History Reply:
rt_ticket_history_reply()
- Ticket History Comment:
rt_ticket_history_comment()
- Ticket Links Edit:
rt_ticket_links_edit()
- Ticket Properties:
- Users
- User Properties:
rt_user_properties()
- User Create:
rt_user_create()
- User Edit:
rt_user_edit()
- User Properties:
- Queues
- Queue Properties:
rt_queue_properties()
- Queue Properties:
Note: Most of these functions support being chained together (for example, with the %>%
).
See the included vignettes for more information about usage.
Logging out
To log out, use the rt_logout
function (or restart your R session):
rt_logout()
Development & Testing
A test suite is provided that is comprised mostly of integration tests that are configured to run against a local installation of RT. By default, running devtools::test()
will only run a small subset of the full test suite: those that do not depend on being able to call out to an RT installation (i.e., unit tests).
To run the full test suite locally,
Start a local RT installation with Docker:
docker run -d --name rt -p 80:80 netsandbox/request-tracker
Turn on integration tests for your session
Sys.setenv("RT_INTEGRATION" = TRUE)
Run
devtools::test()
from the same session as (2)
rt_api
objects
All API calls go through an intermediate state as an rt_api
object, which is made up of three parts:
- the
content
, generally returned as a tibble/data frame - the
path
or URL that was accessed - the HTTP
response
from the API.
This is mainly to help normalize out some of the inconsistencies in the RT API itself and make implementing the API call wrappers easier.
Support / Issues / Feedback
Let us know about any issues or bugs.
Acknowledgements
Support was provided by the National Center for Ecological Analysis and Synthesis, a Center funded by the University of California, Santa Barbara, and the State of California.