Skip to main content

Request Tracker Querying Library

Project description

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())
# ...

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

rtquery-0.10.1.tar.gz (16.1 kB view details)

Uploaded Source

Built Distribution

rtquery-0.10.1-py3-none-any.whl (21.6 kB view details)

Uploaded Python 3

File details

Details for the file rtquery-0.10.1.tar.gz.

File metadata

  • Download URL: rtquery-0.10.1.tar.gz
  • Upload date:
  • Size: 16.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for rtquery-0.10.1.tar.gz
Algorithm Hash digest
SHA256 9f06c81f88c7e3b7c1be7822d54c4cc3f8a6c2898841ad0c7ab12b288ad2b68a
MD5 5a75bb5833758c1f3d8b49906c79e655
BLAKE2b-256 f5deb0860d1b0e63bf750e1e98ebd7c7e4f553715f99c68768b041a265d61c8d

See more details on using hashes here.

File details

Details for the file rtquery-0.10.1-py3-none-any.whl.

File metadata

File hashes

Hashes for rtquery-0.10.1-py3-none-any.whl
Algorithm Hash digest
SHA256 3dafba266bf8e3f335b9668c9c4072655e28f8790fbc052d3127e829f74fb937
MD5 9d272f0abddd5d609a244a39bf664109
BLAKE2b-256 579798c9262992ad897e6bade25843b2ebc04176c7dde01b4f784525dbd6b6ac

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page