Пользовательские действия

Помимо системных действий над проектными артефактами, вы можете создавать пользовательские действия. Это может быть вызов внешнего веб-хука или 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)
        ]
    );
}

В этом примере мы отправляем уведомление в систему всем пользователям.


Теперь регистрируйте обсуждение и выполняйте действие над ним - все пользователи получат уведомление в приложении: