Я пытаюсь отобразить значение настраиваемого поля, уже настроенного в Phabricator, в представлении плитки задач на странице рабочей области Backlog.
Я просматривал документацию и нашел два предложения о том, как подойти к этому — создать новую библиотеку и импортировать ее с помощью опции «load-library» в GUI администратора. Или создайте класс php в папке src / extensions.
Однако все классы, которые я хочу расширить, помечены как «окончательные», так что теперь я не знаю, как настроить, например. ProjectBoardTaskCard :: getItem (), так что он выбирает дополнительное свойство (свойства) из определенных настраиваемых полей.
ОК, это возможно!
Мы хотели, чтобы настраиваемое поле «точки» отображалось (как в сюжетных пунктах Agile) на каждой плитке в виде рабочего стола, а не только на странице сведений о задаче.
Я скачал это и извлек его вдоль бокового фабрикатора (поэтому у меня были каталоги / path / to / phabricator и / path / to / Sprint)
Затем я отредактировал фабрикатор / conf / local / local.json
...
"load-libraries": [
"Sprint/src"]
...
В то время как в нашей конфигурации было определено настраиваемое поле, этот плагин предоставил собственное поле Points, что делает наше избыточным.
после очистки конфига и запуска
дуга освобождает src /
в папке Sprint для хорошей меры (у нее есть файл композитора, но нам не нужно было его использовать), тогда просто стало просто обновлять свойства проектов, чтобы это работало.
(Вы можете увидеть, как выглядят точки на досках задач на https://phab08.wmflabs.org/tag/sprint/ — и график выгорания, который идет в https://phabricator.wikimedia.org/sprint/view/938/ если вы зарегистрируетесь для учетной записи)
Вам необходимо включить флажок для isSprint в проекте, сохранить, а затем снова отредактировать проект, чтобы включить дату начала / окончания спринта. Тогда ваши сюжетные пункты, таблицы выживания, список спринт-проектов и т. Д. Начнут работать
Даже если вам не нужен «спринт», в этом коде выяснилось, как извлекать пользовательские поля и отображать его на рабочих досках в соответствии с исходной проблемой, поэтому я ожидаю, что это станет отличной отправной точкой для кого-то!
Код доступен на https://github.com/wikimedia/phabricator-extensions-Sprint
Других решений пока нет …