Aller au contenu

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.