# General Translation Platform: createTag URL: https://generaltranslation.com/ja/docs/platform/core/reference/gt-class-methods/translation/create-tag.mdx --- title: createTag description: ファイルのバージョンをグループ化または識別するためのタグを作成します。createTag の API リファレンス。 --- General Translation で翻訳タグを作成または更新し、一連のソースファイルをユーザー定義の tag ID と任意のメッセージに関連付けます。タグを使用すると、ダッシュボードでは翻訳バージョンをコンテンツハッシュではなく、人が判読しやすい名前で識別できます。 ## 概要 [#overview] タグ ID と、それに関連付ける ファイル参照 を指定して`createTag`を呼び出します。作成または更新された タグ が返されます。 ```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', }); ``` シグネチャ: ```typescript createTag(options: CreateTagOptions): Promise ``` *注: `createTag` の利用には、GT インスタンスに `apiKey` (または `devApiKey`) と `projectId` が必要です。* ## 仕組み [#how-it-works] * **Upsert。** 同じ `tagId` を持つタグがすでに存在する場合は、新しいファイル参照でアップサートされます。 * **順序。** タグはソースファイルのアップロード後、翻訳のセットアップとエンキューの前に作成されます。 * **CLI では非致命的です。** CLI のワークフローでは、タグの作成に失敗しても致命的なエラーにはならず、翻訳はブロックされません。 * **CLI 統合。** CLI の `--tag` フラグと `-m` フラグは、内部でこのメソッドを使用しています。 ## パラメータ [#parameters] | パラメータ | 説明 | 型 | 任意 | デフォルト | | --------------------- | ----------- | ------------------ | --- | ----- | | [`options`](#options) | タグの作成オプション。 | `CreateTagOptions` | いいえ | — | ### `options` [#options] **型** `CreateTagOptions` · **必須** タグ作成オプション: | フィールド | 説明 | 型 | 任意 | | --------- | ------------------------------------------- | -------------------------- | --- | | `tagId` | タグの一意の識別子 (例: `"v2.1.0"` や Git のコミットハッシュ) 。 | `string` | いいえ | | `files` | このタグに関連付けるファイル参照。 | `CreateTagFileReference[]` | いいえ | | `message` | タグの説明メッセージ。 | `string` | はい | 各 `CreateTagFileReference` は、アップロード済みファイルのバージョンを表します: | フィールド | 説明 | 型 | 任意 | | ----------- | -------------------- | -------- | --- | | `fileId` | 以前のアップロード時のファイル ID。 | `string` | いいえ | | `versionId` | 以前のアップロード時のバージョン ID。 | `string` | いいえ | | `branchId` | 以前のアップロード時のブランチ ID。 | `string` | いいえ | ## 戻り値 [#returns] **型** `Promise` 作成または更新されたタグを含む `CreateTagResult` を返します: ```typescript type CreateTagResult = { tag: { id: string; tagId: string; message: string | null; createdAt: string; updatedAt: string; }; }; ``` | Property | Description | Type | | --------------- | ------------------- | ---------------- | | `tag.id` | 内部タグ識別子。 | `string` | | `tag.tagId` | ユーザー指定のタグ ID。 | `string` | | `tag.message` | 指定されている場合のタグメッセージ。 | `string \| null` | | `tag.createdAt` | タグ作成時の ISO タイムスタンプ。 | `string` | | `tag.updatedAt` | 最終更新時の ISO タイムスタンプ。 | `string` | ## 例 [#examples] ```typescript // 基本的な使い方: アップロードしたファイルにバージョン番号をタグ付けする import { GT } from 'generaltranslation'; const gt = new GT({ apiKey: 'your-api-key', projectId: 'your-project-id', }); // まずソースファイルをアップロードする const uploadResult = await gt.uploadSourceFiles(files, { sourceLocale: 'en', }); // アップロードしたファイルにタグを付ける 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 // コミットハッシュでタグを付ける 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] * 同じ `tagId` を持つタグがすでに存在する場合は、新しいファイル参照でアップサートされます。 * タグは、ソースファイル のアップロード後、翻訳のセットアップとエンキューの前に作成されます。 * CLI のワークフローでは、タグの作成は致命的ではなく、失敗しても翻訳はブロックされません。 * CLI の `--tag` フラグと `-m` フラグでは、内部的にこのメソッドが使用されます。