确定它可以工作。就像你期待的一样。这是我的验证与关键配置细节:
- 一个空的测试项目在
http://127.0.0.1:8000/trac/
- 项目配置为使用基本身份验证是由Python
xmlrpclib
支持的唯一主办。
- 用户
'foo'
与密码'bar'
有XML_RPC
权限(允许通过API调用)和TICKET_VIEW
权限被允许查看票证。
- 我创建了2张票,
#1
已关闭,而#2
仍处于打开状态。
互动代码:
>>> import xmlrpclib
>>> server = xmlrpclib.ServerProxy('http://foo:[email protected]:8000/trac/login/rpc')
>>> server.ticket.query('max=0')
[1, 2]
>>> server.ticket.query('max=0&status!=closed')
[2]
>>> server.ticket.get(2)
[2,
<DateTime '20130104T11:48:08' at 10392c2d8>,
<DateTime '20130104T11:48:08' at 10392c320>,
{'_ts': '1357300088007920',
'cc': '',
'changetime': <DateTime '20130104T11:48:08' at 10392c368>,
'component': 'component1',
'description': '',
'keywords': '',
'milestone': 'milestone1',
'owner': '',
'priority': 'major',
'reporter': 'admin',
'resolution': '',
'status': 'new',
'summary': 'stackoverflow test',
'time': <DateTime '20130104T11:48:08' at 10392c3b0>,
'type': 'defect',
'version': ''}]
这通常是始终认证或相关许可,因此,以验证RPC插件和查询工作,你可以临时分配XML_RPC
和TICKET_VIEW
权限的用户anonymous
,并使用此服务器代理,而不是(从网址中删除foo:[email protected]
和/login
):
server = xmlrpclib.ServerProxy('http://127.0.0.1:8000/trac/rpc')
我相信trackxmlrpc插件是从远程查询Trac安装的最佳方式。你可以给我们一些关于为什么上面的代码不起作用的更多细节吗?你的代码是否返回错误或者只是没有票据? –