Skip to main content
https://travis-ci.org/tarvitz/rtquery.svg?branch=master https://coveralls.io/repos/github/tarvitz/rtquery/badge.svg?branch=master https://badge.fury.io/py/rtquery.svg

Abstract

Simplifies query interface for Request Tracker’s rest-api lib RT Library. Main query interface has been take from Django Framework project

Requirements

  • Python 3.4+

  • RT Library (it’s not dependency itself, but it uses in examples)

Usage

import rt

client = rt.Rt('http://localhost/rt/REST/1.0/',
               basic_auth=('user', 'password'))
assert client.login()
#: rt filtering does not support `in` operation, so interface looks similar
#: to django querying, but it sticks to its limits.
query = Q(Subject__contains='[improvements]') | Q(Subject__contains='[enhancements]')
query &= Q(Queue='development', Status='sprint', Owner='User',
           Priority__gt=80)
result = client.search(Queue=rt.ALL_QUEUES, raw_query=query.resolve())
print(result)
[{
    "id": "ticket/471147",
    "Queue": "development",
    "Owner": "User",
    "Creator": "User",
    "Subject": "[improvements] Implement Requests Tracker simple querying",
    "Status": "sprint",
    "Priority": "99",
    "InitialPriority": "40",
    "FinalPriority": "40",
    "Requestors": [
        "user@example.org.fake"
    ],
    "Created": "Thu Nov 02 19:26:40 2017",
    "Starts": "Not set",
    "Started": "Thu Nov 02 19:27:12 2017",
    "Due": "Not set",
    "Resolved": "Not set",
    "Told": "Not set",
    "LastUpdated": "Thu Nov 09 17:20:33 2017",
    "TimeEstimated": "180 minutes",
    "TimeWorked": "0",
    "TimeLeft": "0",
    "CF.{Tags}": "extra",
    "CF.{Code Review}": "",
    "CF.{Difficulty}": ""
}]

Extra functionality

In addition to existent rtquery.Q you can also try to use utils.query builder which is simple dsl to make Q objects from user input (argument parser for example)

from rtquery.utils import query
qset = query("Queue = development & Status = sprint & Owner ~ user")
result = client.search(Queue=rt.ALL_QUEUES, raw_query=query.resolve())
# ...

Metadata

Release files for rtquery 0.10.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for rtquery 0.10.1
File Size Uploaded
rtquery-0.10.1.tar.gz 16.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for rtquery 0.10.1
File Interpreter ABI Platform
rtquery-0.10.1-py3-none-any.whl Python 3 none any Details

Total release size: 37.7 kB

Release files / rtquery-0.10.1.tar.gz

Download URL rtquery-0.10.1.tar.gz
Size 16.1 kB
Tags Source
SHA-256 checksum
How to use checksums
9f06c81f88c7e3b7c1be7822d54c4cc3f8a6c2898841ad0c7ab12b288ad2b68a
BLAKE2b-256 checksum
How to use checksums
f5deb0860d1b0e63bf750e1e98ebd7c7e4f553715f99c68768b041a265d61c8d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release files / rtquery-0.10.1-py3-none-any.whl

Download URL rtquery-0.10.1-py3-none-any.whl
Size 21.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
3dafba266bf8e3f335b9668c9c4072655e28f8790fbc052d3127e829f74fb937
BLAKE2b-256 checksum
How to use checksums
579798c9262992ad897e6bade25843b2ebc04176c7dde01b4f784525dbd6b6ac
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release history Release notifications | RSS feed

This release

0.10.1 This release

2 release files

0.9.2

2 release files

0.9.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page