Запустить действие при смене билета Trac? - PullRequest
2 голосов
/ 11 сентября 2011

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

1 Ответ

8 голосов
/ 11 сентября 2011

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

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

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

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

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

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

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

...