请求跟踪程序查询库
rtquer的Python项目详细描述
Abstract
简化了Request Tracker的rest api库RT Library的查询接口。 主查询接口来自Django Framework项目
Requirements
- Python3.4+
- RT Library(它不是依赖项本身,但它在示例中使用)
Usage
importrtclient=rt.Rt('http://localhost/rt/REST/1.0/',basic_auth=('user','password'))assertclient.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
除了存在的^ {TT1}$外,还可以尝试使用^ TT2}$ 生成器,它是从用户输入(例如参数解析器)生成Q对象的简单dsl
fromrtquery.utilsimportqueryqset=query("Queue = development & Status = sprint & Owner ~ user")result=client.search(Queue=rt.ALL_QUEUES,raw_query=query.resolve())# ...