Tâches
10 routes. Chemins relatifs à https://api.nexus-engine.eu/api/v1.
GET
/tasks
Les tâches : toutes pour un rôle de pilotage, les miennes pour un développeur. `portfolioId` (ou `portfolioIds=a,b`) ne rend que celles d’un portefeuille de Social Hub.
Requêtemine=1, projectId, status, assigneeId, assigneeIds (séparés par des virgules)
RéponseTaskDto[]
GET
/projects/:id/tasks
Le backlog complet d’un projet.
Requêtestatus
RéponseTaskDto[]
GET
/tasks/:id
Une tâche, avec ses affectés, son temps passé et ses pièces jointes.
RéponseTaskDto
GET
/tasks/:id/sessions
Les sessions d’agents rattachées à une tâche.
RéponseSessionDto[]
POST
/tasks
Crée une tâche, dans un projet ou hors projet (projectId null) ; `portfolioId` la range dans un portefeuille de Social Hub.
CorpsprojectId, title, description (markdown), status (TODO, IN_PROGRESS, IN_REVIEW, DONE), priority (LOW, NORMAL, HIGH, URGENT), assigneeId, assigneeIds (liste), estimateH (heures entières), stateKey (état sur mesure de l’agence), branch, dueAt (ISO 8601), orderIndex, source (d’où vient la tâche : un lien Nexus — `nexus://application/<application>/<ancre>` ou un lien de partage —, ramené à `nexus://` ; null la retire)
RéponseTaskDto
NoteAffecter quelqu’un l’affecte au projet de la tâche — et au site, ou à la machine, de la demande dont elle vient (jamais les deux : un membre d’une machine voit déjà tous ses sites). Ajout seulement, jamais un retrait ; un affecté déjà en place n’est pas touché. Seul un membre ACTIF de cette entreprise est accepté (400 sinon, et rien n’est écrit). Ce qui a été posé va au journal (« affectation posée par une tâche »). Sans affecté nommé, la tâche revient à son auteur — s’il est déjà de l’équipe ; un administrateur hors de l’équipe la laisse libre plutôt que d’y entrer sans l’avoir demandé.
PATCH
/tasks/:id
Modifie une tâche (statut, affectés, échéance, branche, prUrl…).
Corpstitle, description (markdown), status (TODO, IN_PROGRESS, IN_REVIEW, DONE), priority (LOW, NORMAL, HIGH, URGENT), assigneeId, assigneeIds (liste), estimateH (heures entières), stateKey (état sur mesure de l’agence), branch, dueAt (ISO 8601), orderIndex, source (d’où vient la tâche : un lien Nexus — `nexus://application/<application>/<ancre>` ou un lien de partage —, ramené à `nexus://` ; null la retire), prUrl
RéponseTaskDto
NoteAffecter quelqu’un l’affecte au projet de la tâche — et au site, ou à la machine, de la demande dont elle vient (jamais les deux : un membre d’une machine voit déjà tous ses sites). Ajout seulement, jamais un retrait ; un affecté déjà en place n’est pas touché. Seul un membre ACTIF de cette entreprise est accepté (400 sinon, et rien n’est écrit). Ce qui a été posé va au journal (« affectation posée par une tâche »). Rattacher la tâche à un autre projet (projectId) y fait SUIVRE ses affectés au lieu de les retirer. On ne range une tâche que dans un projet où l’on est — sauf un AFFECTÉ d’une tâche sans projet née d’une demande, qui peut la ranger dans le projet du SITE de cette demande, et y entre alors avec les autres affectés.
DELETE
/tasks/:id
Supprime une tâche.
POST
/tasks/:id/attachments
Joint un fichier à une tâche.
Corpsname, mimeType, dataBase64
RéponseTaskAttachmentDto
GET
/tasks/:id/attachments/:attachmentId
Le contenu d’une pièce jointe, en base64.
Réponse{ name, mimeType, size, dataBase64 }
DELETE
/tasks/:id/attachments/:attachmentId
Retire une pièce jointe.