Créer une copie d'un enregistrement existant tout en préservant des éléments de données spécifiques.
Copier un enregistrement
Pour créer une copie d'un enregistrement existant tout en maintenant des éléments spécifiques, utilisez la mutation copyTodo
:
mutation CopyTodo {
copyTodo(
input: {
title: "new todo"
todoId: "todo-id"
todoListId: "todo-list-id"
options: [
DESCRIPTION
DUE_DATE
CHECKLISTS
ASSIGNEES
TAGS
CUSTOM_FIELDS
COMMENTS
]
}
)
}
En-têtes requis
x-bloo-token-id: "your-token-id"
x-bloo-token-secret: "your-token-secret"
x-bloo-project-id: "project-id-or-slug"
x-bloo-company-id: "company-id-or-slug"
Paramètres d'entrée
Champ | Type | Requis | Description |
---|---|---|---|
title | String | Non | Nouveau titre pour l'enregistrement copié (optionnel) |
todoId | String | Oui | ID de l'enregistrement à copier |
todoListId | String | Oui | ID de la liste dans laquelle créer la copie |
options | Array | Oui | Éléments de données à copier de l'enregistrement original |
Options de copie
Le tableau options
accepte ces valeurs :
Option | Description |
---|---|
DESCRIPTION | Copie la description de l'enregistrement |
DUE_DATE | Copie la date d'échéance et le fuseau horaire |
CHECKLISTS | Copie toutes les listes de contrôle et leurs éléments |
ASSIGNEES | Copie tous les utilisateurs assignés (filtrés par l'appartenance au projet cible) |
TAGS | Copie toutes les étiquettes associées |
CUSTOM_FIELDS | Copie toutes les valeurs des champs personnalisés (y compris les pièces jointes de fichiers) |
COMMENTS | Copie tous les commentaires et réponses |
Exemple de réponse
{
"data": {
"copyTodo": true
}
}
L'enregistrement copié sera placé en bas de la liste cible par défaut. Pour contrôler le positionnement, utilisez la [mutation de déplacement d'enregistrement](/api/records/move-record-list).
Vous avez besoin des autorisations Modifier (propriétaire, administrateur ou membre) sur les projets source et cible. Remarque : Les utilisateurs avec le rôle de membre ne peuvent copier des enregistrements que dans le même projet. La copie entre projets nécessite des autorisations d'administrateur ou de propriétaire. Les copies échouées renverront un code d'erreur `FORBIDDEN`.
Gestion des erreurs
Codes d'erreur courants pour cette opération :
TODO_NOT_FOUND
: todoId invalide ou inaccessibleTODO_LIST_NOT_FOUND
: todoListId invalide ou inaccessibleFORBIDDEN
: Autorisations insuffisantes ou restriction de copie entre projets
Voir Codes d'erreur pour référence complète.
Fonctionnalités avancées
Copie entre projets
La mutation prend en charge la copie d'enregistrements entre différents projets avec ces considérations :
- PROPRIÉTAIRE/ADMIN : Peut copier des enregistrements entre tous les projets auxquels ils ont accès
- MEMBRE : Restreint à la copie uniquement au sein du même projet
- Filtrage des assignés : Lors de la copie entre projets, les assignés sont automatiquement filtrés pour inclure uniquement les utilisateurs ayant accès au projet cible
Gestion des champs personnalisés
Lors de l'utilisation de l'option CUSTOM_FIELDS
:
- Toutes les valeurs des champs personnalisés sont copiées dans le nouvel enregistrement
- Les pièces jointes de fichiers dans les champs personnalisés sont correctement dupliquées avec de nouvelles références de stockage
- Les types de champs personnalisés sont préservés et validés par rapport à la configuration du projet cible
Intégration d'automatisation
Les copies entre projets peuvent déclencher des règles d'automatisation supplémentaires dans les projets source et cible, permettant une gestion sophistiquée des flux de travail à travers les frontières des projets.