【问题标题】:Trac - How do I access Custom Ticket Fields in ITicketChangeListener?Trac - 如何访问 ITicketChangeListener 中的自定义工单字段?
【发布时间】:2012-02-29 17:02:23
【问题描述】:

我正在尝试编写自己的Tracplugin,以通知外部系统更改符合特定条件的票证。根据我目前的研究,我发现实现ITicketChangeListener interface 是可行的方法。

方法定义都非常简单,但对我来说不直接的是Ticket object 和访问它的自定义字段。我了解到您可以访问默认的工单字段,如下所示:

# t is a Ticket object
theStatus = t['status']

我发现几个消息来源说这不起作用:

myCustomField = t['my_custom_field']

但他们都没有告诉我做什么。

此外,我需要知道ticket_changed() 方法的old_values 参数是否会有我的自定义字段,或者我是否还必须在那里做一些不同的事情。

我对 Python 还很陌生,而对 Trac非常。任何能帮助我指明正确方向的帮助表示赞赏。

【问题讨论】:

    标签: python plugins trac


    【解决方案1】:

    关于custom ticket fields 的消息来源有误。按名称取值的方法应该有效。 *old_values* 包含所有字段值,也包括自定义字段。就是这样。

    您可能想查看TracAnnouncer 源代码以获取一些更改侦听器编码示例。

    【讨论】:

    • 没错。那确实奏效了。但是,我仍然遇到old_values 中有时不存在的密钥的问题。所以我必须先检查:如果 old_values 中的“my_custom_field”:
    • 对,如果ticket字段的值发生了变化,key只会存在于old_values中。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-11-03
    • 1970-01-01
    • 2011-11-08
    • 2019-05-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多