Word テンプレート トークンリファレンス
Word テンプレートで使用できるデータパス (バインディング) の完全な一覧です。製品内のトークンリファレンスパネル、およびバリデーターが適用するバインディングカタログと同じ内容です。ここに載っていないパスはエディターが警告します 。文法とフォーマッターについては Word テンプレートモードを参照してください。
このページの読み方
- スカラー バインディングは値トークンで使用します:
${issue.summary}。 - コレクション バインディングはループで使用します:
${#each issue.subtasks as sub}…${/each}。ループ内では、ループ変数を通じて項目のフィールドにアクセスします:${sub.key}。 - ティア — A は一般提供。B は課題バンドルが既にデータを保持しているため同梱されるもの。C は表示されるが バインドできない もので、対応範囲を正直に示すために掲載しています。
- どのルートが使えるかはエクスポートコンテキストによって決まります。
エクスポートコンテキストとルート
Word テンプレートは 7 つのコンテキストのいずれかで実行され、それぞれ利用できるトップレベルのルートが異なります。
| コンテキスト | 利用できるルート |
|---|---|
single-issue | issue、generatedAt |
automation (Jira Automation アクション) | issue、generatedAt |
multi-issue (JQL / ボード) | issues、issueGroups、generatedAt |
scheduled | issues、issueGroups、generatedAt |
sprint | issues、issueGroups、sprint、generatedAt |
release | issues、issueGroups、release、generatedAt |
backlog | issues、issueGroups、backlog、generatedAt |
generatedAt (日時) は すべての コンテキストで利用できます。
ティア A — 課題のデータ面 (issue.*)
single-issue と automation で利用できます。同じフィールドが issues コレクションの各要素の形にもなります。${#each issues as it} の中では ${it.key}、${it.summary} のように使用します。
スカラー
| パス | 型 |
|---|---|
issue.key | 文字列 |
issue.summary | 文字列 |
issue.description | リッチテキスト (ADF) |
issue.status | ステータス |
issue.status.category | 文字列 |
issue.priority | 優先度 |
issue.assignee | ユーザー |
issue.assignee.displayName | 文字列 |
issue.reporter | ユーザー |
issue.reporter.displayName | 文字列 |
issue.created | 日時 |
issue.updated | 日時 |
issue.dueDate | 日付 |
issue.parent.key | 文字列 |
issue.parent.summary | 文字列 |
issue.parent.status | 文字列 |
ユーザー型の値は既定で表示名を出力します。user フォーマッターで一部を選択できます (例: ${issue.assignee | user("displayName")})。リッチテキストの値は書式付きで出力され、| plain() で書式を取り除けます。
コレクション
| コレクション | 項目のフィールド (ループ変数からの相対) |
|---|---|
issue.labels | プリミティブのリスト — ループ変数がラベル文字列そのもの |
issue.components | name |
issue.fixVersions | name、released (真偽値) |
issue.affectsVersions | name |
issue.subtasks | key、summary、status、priority、assignee、dueDate |
issue.comments | author (ユーザー)、author.displayName、body (ADF)、created、updated |
issue.attachments | filename、mimeType、size、isImage、created、author.displayName — メタデータのみ。バイナリと URL は含みません |
issue.issueLinks | typeName、direction、linkedIssue.key、linkedIssue.summary、linkedIssue.status |
issue.worklogs | author.displayName、timeSpent、timeSpentSeconds、created、started |
例:
${#each issue.worklogs as wl}
${wl.author.displayName}: ${wl.started | date("yyyy-MM-dd")} に ${wl.timeSpentSeconds | duration("hm")}
${/each}
ティア A — 複数課題のルート
multi-issue、scheduled、sprint、release、backlog で利用できます。
| パス | 種別 | 項目のフィールド |
|---|---|---|
issues | コレクション | 課題のデータ面全体 (ループ変数からの相対) |
issueGroups.fixVersions | コレクション | key、title、issues |
issueGroups.sprints | コレクション | key、title、issues |
issueGroups.assignees | コレクション | key、title、issues |
issueGroups.worklogAssignees | コレクション | key、title、issues |
例 — グループ化してから、各グループ内の課題を反復します。
${#each issueGroups.assignees as group}
## ${group.title}
${#each group.issues as it}
- ${it.key}: ${it.summary}
${/each}
${/each}
ティア A — コンテキストのルート
それぞれのコンテキストでのみ利用できます。
sprint
| パス | 型 |
|---|---|
sprint.sprint.name | 文字列 |
sprint.sprint.goal | 文字列 |
sprint.sprint.state | オプション |
sprint.stats.issueCount | 数値 |
sprint.stats.percentDone | 数値 |
release
| パス | 型 |
|---|---|
release.release.name | 文字列 |
release.release.releaseDate | 日付 |
release.release.released | 真偽値 |
release.stats.issueCount | 数値 |
release.stats.percentDone | 数値 |
backlog
| パス | 型 / 項目のフィールド |
|---|---|
backlog.board.boardName | 文字列 |
backlog.board.boardType | オプション |
backlog.stats.totalIssueCount | 数値 |
backlog.groups | コレクション — kind、name、issueCount、issues |
ティア A — メタデータ
| パス | 型 | コンテキスト |
|---|---|---|
generatedAt | 日時 | すべて |
ティア B — 変更履歴
| パス | 種別 | 項目のフィールド |
|---|---|---|
issue.changeHistory | コレクション | author.displayName、created、items |
ティア C — 表示されるがバインドできない
概念としては存在しますが解決できません。エディターと検証が対応範囲を正直に示せるように掲載しています。
| 機能 | 備考 |
|---|---|
issue.jsm | Jira Service Management のリクエスト・SLA・承認の領域 — 見送り。 |
| テンプレート内 JQL | 移行スキャナーが検出して診断しますが、実行しません。 |
| Tempo | 作業ログに Tempo のミラーが存在する場合がありますが、バインドされていません。 |
| Xray / Zephyr | テスト管理フィールドにはサードパーティ製アプリが必要です。 |
| Assets / Insight | オブジェクトフィールドは見送りです。 |
カスタムフィールド
カスタムフィールドは単一の名前空間でバインドします。
${ issue.customFields.<フィールドID>.<…> }
- 未知のフィールド ID は 緩やか に扱われます。エディターは警告を表示し値が空になることがありますが、強く遮断することはありません。そのため、そのサイトに存在しないフィールドを参照していてもテンプレートは失敗しません。
issue.customFields単体 (マップ全体) は 決して バインドできません。- 安全な識別子文字のみが許可され、
__proto__、prototype、constructorのセグメントは拒否されます。
Xporter から移行する際の注意
移行スキャナーは、よくある Xporter のフィールド名に対して Exportelier のパスを提案します。提案が実際に解決されるために、次の 2 点を押さえてください。
- 自動変換が直すのは構文であって、パスの存在ではありません。 書き換えの形は正しくても、対象がこのページに実在するバインディングでなければ
unknown-bindingの警告になります。- カタログに存在しないもの:
Creator→issue.creator、Resolution→issue.resolution、Project→issue.project、IssueType/Type→issue.issuetype。 - 大文字小文字の不一致:
DueDateはissue.duedateと提案されますが、実際のバインディングはissue.dueDateです。 - 種別の不一致:
Labelsはスカラーとして提案されますが、issue.labelsはコレクションです。ループを使用してください。
- カタログに存在しないもの:
- 課題リンク。 エイリアス
Linksはlinksと提案されますが、実際のバインディングはissue.issueLinksです。
移行の全体像はXporter 構文: 何が動くかを参照してください。
常に許可されないパス
安全のため、コンテキストにかかわらず unsafe-template エラーで拒否されるパスがあります。内部・資格情報・URL を含むフィールドです。auth、context、forge、internal、secrets、storage、token などのルートや、accountId、apiToken、avatarUrl、baseUrl、contentUrl、thumbnailUrl、cookie、session、headers、private、storageRef で終わるパスが該当します。このページに掲載されたバインディングを使っていれば、これらに触れることはありません。