# General Translation Platform: createTag URL: https://generaltranslation.com/fr/docs/platform/core/reference/gt-class-methods/translation/create-tag.mdx --- title: createTag description: Créer un tag pour regrouper ou identifier des versions de fichiers. Référence de l’API pour createTag. --- Crée ou met à jour un tag de traduction avec General Translation, en associant un ensemble de fichiers source à un identifiant de tag défini par l’utilisateur ainsi qu’à un message facultatif. Les tags permettent d’identifier les versions de traduction dans le dashboard à l’aide de noms lisibles plutôt que de hachages de contenu. ## Vue d’ensemble [#overview] Appelez `createTag` avec un identifiant de tag et les références de fichiers à y associer. Cette fonction renvoie le tag créé ou mis à jour. ```typescript const gt = new GT({ apiKey: 'your-api-key', projectId: 'your-project-id' }); const result = await gt.createTag({ tagId: 'v2.1.0', files: uploadedFiles.map((f) => ({ fileId: f.fileId, versionId: f.versionId, branchId: f.branchId, })), message: 'Added checkout page translations', }); ``` Signature : ```typescript createTag(options: CreateTagOptions): Promise ``` *Remarque : `createTag` nécessite une `apiKey` (ou `devApiKey`) ainsi que `projectId` dans l’instance GT.* ## Fonctionnement [#how-it-works] * **Upsert.** Si un tag avec le même `tagId` existe déjà, il est créé ou mis à jour avec les nouvelles références de fichiers. * **Ordre.** Les tags sont créés après le téléversement des fichiers source, mais avant l’initialisation de la traduction et son ajout à la file d’attente. * **Non bloquant dans la CLI.** La création de tags n’est pas bloquante dans le workflow CLI — les échecs ne bloquent pas les traductions. * **Intégration CLI.** Les options `--tag` et `-m` de la CLI utilisent cette méthode en interne. ## Paramètres [#parameters] | Paramètre | Description | Type | Facultatif | Par défaut | | --------------------- | ----------------------------- | ------------------ | ---------- | ---------- | | [`options`](#options) | Options de création d’un tag. | `CreateTagOptions` | Non | — | ### `options` [#options] **Type** `CreateTagOptions` · **Obligatoire** Options de création du tag : | Champ | Description | Type | Facultatif | | --------- | ----------------------------------------------------------------------------------- | -------------------------- | ---------- | | `tagId` | Un identifiant unique du tag (par exemple, `"v2.1.0"` ou un hachage de commit Git). | `string` | Non | | `files` | Références de fichiers à associer à ce tag. | `CreateTagFileReference[]` | Non | | `message` | Message descriptif du tag. | `string` | Oui | Chaque `CreateTagFileReference` identifie une version de fichier importée : | Champ | Description | Type | Facultatif | | ----------- | ------------------------------------------------ | -------- | ---------- | | `fileId` | L’ID du fichier provenant d’un import précédent. | `string` | Non | | `versionId` | L’ID de version provenant d’un import précédent. | `string` | Non | | `branchId` | L’ID de branche provenant d’un import précédent. | `string` | Non | ## Valeur de retour [#returns] **Type** `Promise` Renvoie un `CreateTagResult` contenant le tag créé ou mis à jour : ```typescript type CreateTagResult = { tag: { id: string; tagId: string; message: string | null; createdAt: string; updatedAt: string; }; }; ``` | Propriété | Description | Type | | --------------- | ------------------------------------------ | ---------------- | | `tag.id` | Identifiant interne du tag. | `string` | | `tag.tagId` | identifiant de tag fourni par l’utilisateur. | `string` | | `tag.message` | Message du tag, s’il est renseigné. | `string \| null` | | `tag.createdAt` | Horodatage ISO de création du tag. | `string` | | `tag.updatedAt` | Horodatage ISO de la dernière mise à jour. | `string` | ## Exemples [#examples] ```typescript // Utilisation de base : associer un numéro de version aux fichiers uploadés import { GT } from 'generaltranslation'; const gt = new GT({ apiKey: 'your-api-key', projectId: 'your-project-id', }); // Uploader d'abord les fichiers sources const uploadResult = await gt.uploadSourceFiles(files, { sourceLocale: 'en', }); // Associer un tag aux fichiers uploadés const tagResult = await gt.createTag({ tagId: 'v2.1.0', files: uploadResult.uploadedFiles.map((f) => ({ fileId: f.fileId, versionId: f.versionId, branchId: f.branchId, })), message: 'Release 2.1 translations', }); console.log(`Tagged as ${tagResult.tag.tagId}`); ``` ```typescript // Tagger avec un hachage de commit git import { execSync } from 'node:child_process'; const commitHash = execSync('git rev-parse --short HEAD', { encoding: 'utf-8', }).trim(); const commitMessage = execSync('git log -1 --format=%s', { encoding: 'utf-8', }).trim(); const tagResult = await gt.createTag({ tagId: commitHash, files: uploadResult.uploadedFiles.map((f) => ({ fileId: f.fileId, versionId: f.versionId, branchId: f.branchId, })), message: commitMessage, }); ``` ## Notes [#notes] * Si un tag avec le même `tagId` existe déjà, il est créé ou mis à jour avec les nouvelles références de fichiers. * Les tags sont créés après le téléversement des fichiers sources, mais avant la configuration de la traduction et la mise en file d’attente. * La création de tags n’est pas bloquante dans le workflow de la CLI : les échecs n’empêchent pas les traductions. * Les options `--tag` et `-m` de la CLI utilisent cette méthode en interne.