Помимо системных действий над проектными артефактами, вы можете создавать пользовательские действия. Это может быть вызов внешнего веб-хука или PHP-скрипта. Таким образом, можно реализовать любое дополнительное действие, необходимое для автоматизации вашего процесса разработки ПО.
Например, для сборки можно настроить пользовательское действие “Развернуть", в результате которого запускается задача в Jenkins по развертыванию.
В URL и Сообщении можно использовать подстановки вида
{{Caption}}
и т.п., которые будут заменены реальными значениями того артефакта, для которого будет выполнено действие. Синтаксис подстановки такой же, который используется при задании формул для вычисляемых полей. Перечень полей вы можете найти в “Справочнике разработчика".
В проекте Администрирование Devprom вы можете создать пользовательское действие для сущности Обсуждение
В качестве действия используйте такой PHP Script:
foreach( getFactory()->getByQuery(new \User, 'Email != ""') as $userIt )
{
getFactory()->createEntity( getFactory()->getObject('ObjectChangeNotification'),
[
'SystemUser' => $userIt->getId(),
'ObjectId' => $it->getId(),
'ObjectClass' => get_class($it->object)
]
);
}
В этом примере мы отправляем уведомление в систему всем пользователям.
Теперь регистрируйте обсуждение и выполняйте действие над ним - все пользователи получат уведомление в приложении: