Une tâche utilisateur est affectée à une ou plusieurs équipes. Un membre de l'équipe s'attribue la tâche, fournit les informations pertinentes, puis la
réalise.
Avant de commencer
Attention: les appels d'API REST qui renvoient une liste d'objets, par exemple
GET /processes ou
GET
/user-tasks , peuvent inclure des paramètres de requête, tels que le nom de modèle, le nom de conteneur ou l'ID de processus. Si la valeur du paramètre pointe sur un objet inexistant (par exemple, car l'ID de processus
contient une coquille), une erreur n'est pas renvoyée. A la place, l'objet JSON renvoyé par l'appel contient une liste vide. Pour plus d'informations sur les appels d'API, voir
API REST de flux de travaux.
Procédure
- Affichez une liste de tâches non attribuées que l'utilisateur en cours est autorisé à voir.
Les tâches non attribuées sont celles dont l'état indique ready (prêt) :
GET /bpm/user-tasks?states=ready
Pour filtrer la liste de tâches en n'affichant que celles associées à un processus spécifique, incluez
le nom du modèle (OrderManagement par exemple) dans la requête :
GET /bpm/user-tasks?model=OrderManagement&states=ready
Vous pouvez aussi afficher les tâches concernant une instance de
processus spécifique en incluant l'ID du processus,
2072.3 par exemple, dans la requête :
GET /bpm/user-tasks?process_id=2072.3&states=ready
- L'utilisateur ouvre une tâche dans la liste pour examiner les données métier.
Pour afficher les données métier, incluez le paramètre optional_parts=data dans la requête. Pour vous assurer que l'utilisateur est autorisé à afficher et à revendiquer la tâche, incluchez la propriété actions dans le paramètre optional_parts.
Par exemple, si l'utilisateur ouvre la tâche 2078.3, vous pouvez utiliser l'appel d'API REST suivant pour afficher les détails de la tâche et renvoyer les
actions que peut effectuer l'utilisateur :
GET /bpm/user-tasks/2078.3?optional_parts=data,actions
- L'utilisateur s'attribue la tâche.
Par exemple, si l'utilisateur réclame la tâche 2078.3, vous pouvez utiliser l'appel d'API REST suivant :
POST /bpm/user-tasks/2078.3/claim?optional_parts=data
La tâche passe à l'état claimed (attribuée). L'objet d'instance de tâche utilisateur renvoyé inclut
l'ID utilisateur du propriétaire de la tâche et les variables actuellement définies.
- Le propriétaire de la tâche fournit les informations requises, puis réalise la tâche.
Les variables de sortie de données requises pour la tâche sont transmises dans un objet JSON dans le corps de requête de l'appel
/complete. Par exemple, le processeur de commande peut avoir besoin de fournir une confirmation que le stock est disponible dans un entrepôt et le coût total de la commande.
POST /bpm/user-tasks/2078.3/complete
...
{
"output":[
{
"name":"inStock",
"data":"Yes"
}
{
"name":"Price",
"data":"1000",
}
{
"name":"warehouseAddress",
"data":{
"street":"Mystreet",
"houseNo":"12",
"postCode":"1234",
"city":"Mycity"
}
}]
}
Résultats
La tâche est mise à l'état terminé. L'objet d'instance de tâche utilisateur renvoyé contient les informations d'état actualisées, l'horodatage
d'achèvement, et
les variables mises à jour.
Etape suivante
Si vous souhaitez faire échouer une tâche intentionnellement, vous pouvez utiliser l'appel d'API REST suivant pour
achever cette tâche avec un code d'erreur et des
données d'erreur :POST /user-tasks/{task_id}/fail
Un événement Erreur de fin doit être modélisé dans
le service avec un code d'erreur correspondant pour que l'API soit appelée avec succès. Les données d'erreur sont une
représentation JSON d'un objet pouvant représenter l'erreur elle-même ou tout autre objet. Par
exemple, pour transmettre une instance d'un objet métier avec une seule variable de type Chaîne au format JSON,
vous devez utiliser le format
suivant :
{
"code" : "CustomErrorCode",
"data" : "{\"errorString\":\"String for custom error code\"}"
}