我正在尝试编写自己的Trac plugin来通知外部系统更改符合特定条件的故障单。从我到目前为止的研究中,我已经发现实施ITicketChangeListener interface是可行的方法。
方法定义都很直接,但对我来说不直接的是Ticket object并访问其自定义字段。我了解到您可以像以下一样访问默认票证字段:
# t is a Ticket object
theStatus = t['status']
我发现有几个消息来源说这不起作用:
myCustomField = t['my_custom_field']
然而,他们都没有告诉我 的工作原理。
此外,我需要知道old_values
方法的ticket_changed()
参数是否包含我的自定义字段,或者我是否必须在那里执行不同的操作。
我对Python很新,非常是Trac的新手。任何帮助指出我正确方向的人都表示赞赏。
答案 0 :(得分:3)
关于custom ticket fields的消息来源是错误的。逐个名称的方法应该有效。 * old_values *包含所有字段值,包括自定义字段。就是这样。
您可能需要查看TracAnnouncer源代码,了解一些更改侦听器编码示例。