2.3 KiB
2.3 KiB
Agregando acciones automáticas
Agregando una nueva acccion automática es bastante simple.
Creando una nueva accion
Tus acciones automáticas deben heradarse de la clase Kanboard\Action\Base.
Varios métodos abstractos deben ser implementadas por sí mismo:
| Metodos | Descripción |
|---|---|
getDescription() |
Descripcion visible en la interface del usuario |
getCompatibleEvents() |
Obtener las listas de eventos compatibles |
getActionRequiredParameters() |
Obtener los parametros requeridos para la acción (definidos por el usuario) |
getEventRequiredParameters() |
Obtener los parametros requeridos para el evento |
doAction(array $data) |
Ejecutar la acción, Debe regresar true si fue satisfactorio |
hasRequiredCondition(array $data) |
Comprobar si los datos de eventos cumplen la condición de acción |
Tu accion automatica es identificada en kanboard utilizando el nombre de la clase absoluta con el espacio de nombre incluido
Agregando nuevos eventos
La lista de eventos de la aplicación está disponible en la clase Kanboard\Core\Event\EventManager::getAll().
Sin embargo, si tu plugin dispara nuevos eventos, tu puedes registrar estos eventos :
$this->actionManager->getAction('\Kanboard\Plugin\MyPlugin\MyActionName')->addEvent('my.event', 'My event description');
Tu puedes extender la lista de eventos compatibles de acciones existentes para ser usada en algun metodo.
Registra la acción
Tu tienes que llamar el metodo register() desde la clase Kanboard\Core\Action\ActionManager:
<?php
namespace Kanboard\Plugin\AutomaticAction;
use Kanboard\Core\Plugin\Base;
use Kanboard\Plugin\AutomaticAction\Action\TaskRename;
class Plugin extends Base
{
public function initialize()
{
$this->actionManager->register(new TaskRename($this->container));
}
}