Инициировать действие при изменении билета Trac?

В настоящее время мы используем FogBugz на работе, и я использую подключаемый модуль URLTrigger для обращения к сценарию CGI каждый раз при изменении регистра. Я пытаюсь понять, как сделать что-то подобное с Trac; Кто-нибудь знает возможно ли это? Я не могу найти никаких плагинов или обсуждения по этому поводу.


person Doug    schedule 10.09.2011    source источник


Ответы (1)


t-h.o — это первый адрес для поиска подключаемых модулей Trac. Поскольку Trac активно поощряет разработку плагинов с помощью сложной компонентной архитектуры с самого начала, вы найдете много кода. . И поскольку разработчики ядра Trac были вовлечены, это также часто является довольно хорошим качеством кода. Материал, который вы прочтете, чтобы получить представление о том, как все должно работать.

Возможно, вы захотите начать с текущей официальной вики-документации, чтобы погрузиться в разработку плагинов для Trac и перейти на trac. -hacks.org потом.

Что касается заявленной вами цели разработки, обратите особое внимание на trac.ticket.api.ITicketChangeListenerинтерфейс точки расширения для компонентов, которым требуется уведомление о создании, изменении или удалении заявок. Похоже, это как раз то, что вы хотите.

Вам нужно (примерный список требований)

  • создайте класс на основе trac.core.Component, который
  • implements (ITicketChangeListener)
  • предоставлять модули в точности в соответствии с определением интерфейса.

Если вам нужна дополнительная информация, я бы рекомендовал посмотреть исходный код DefaultCcPlugin. Есть много других плагинов, реализующих интерфейс ITicketChangeListener, но это довольно маленький плагин, который просто покажет вам доступные методы и не будет отвлекать слишком много функциональности вокруг них.

Добавляйте информацию к своему вопросу по мере продвижения или комментируйте здесь, если это необходимо. Я постараюсь направить вас дальше, насколько мне известно.

person hasienda    schedule 11.09.2011