blob: 27effaad5d8044d554556d70b1b9161c7fbac3d0 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
|
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 :
```php
$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
<?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));
}
}
```
Ejemplo
-------
- [Ejemplo de acción automatica](https://github.com/kanboard/plugin-example-automatic-action)
|