Referencia de tokens de plantillas Word
La lista completa de rutas de datos (vinculaciones) que puede usar en una plantilla Word. Refleja el panel de referencia de tokens del producto y el catálogo de vinculaciones que aplica el validador: si una ruta no aparece aquí, el editor la marca. Para la gramática y los formateadores, consulte Modo de plantilla Word.
Cómo leer esta página
- Una vinculación escalar se usa en un token de valor:
${issue.summary}. - Una vinculación de colección se usa en un bucle:
${#each issue.subtasks as sub}…${/each}. Dentro del bucle, acceda a un campo mediante la variable del bucle:${sub.key}. - Niveles: A está disponible con carácter general; B se incluye solo porque el paquete de incidencia ya contiene los datos; C es visible pero no vinculable, y se enumera para que el alcance quede claro.
- Qué raíces están disponibles depende del contexto de exportación.
Contextos de exportación y sus raíces
Una plantilla Word se ejecuta en uno de siete contextos, cada uno con un conjunto distinto de raíces.
| Contexto | Raíces disponibles |
|---|---|
single-issue | issue, generatedAt |
automation (acción de Jira Automation) | issue, generatedAt |
multi-issue (JQL / tablero) | issues, issueGroups, generatedAt |
scheduled | issues, issueGroups, generatedAt |
sprint | issues, issueGroups, sprint, generatedAt |
release | issues, issueGroups, release, generatedAt |
backlog | issues, issueGroups, backlog, generatedAt |
generatedAt (fecha y hora) está disponible en todos los contextos.
Nivel A: la superficie de incidencia (issue.*)
Disponible en single-issue y automation. Estos mismos campos son la forma por elemento de la colección issues: dentro de ${#each issues as it} use ${it.key}, ${it.summary}, etc.
Escalares
| Ruta | Tipo |
|---|---|
issue.key | cadena |
issue.summary | cadena |
issue.description | texto enriquecido (ADF) |
issue.status | estado |
issue.status.category | cadena |
issue.priority | prioridad |
issue.assignee | usuario |
issue.assignee.displayName | cadena |
issue.reporter | usuario |
issue.reporter.displayName | cadena |
issue.created | fecha y hora |
issue.updated | fecha y hora |
issue.dueDate | fecha |
issue.parent.key | cadena |
issue.parent.summary | cadena |
issue.parent.status | cadena |
Un valor de tipo usuario muestra el nombre para mostrar de forma predeterminada; use el formateador user para elegir una parte, p. ej. ${issue.assignee | user("displayName")}. Un valor de texto enriquecido se muestra con formato; use | plain() para eliminarlo.
Colecciones
| Colección | Campos del elemento (relativos a la variable del bucle) |
|---|---|
issue.labels | lista primitiva: la variable del bucle es la etiqueta |
issue.components | name |
issue.fixVersions | name, released (booleano) |
issue.affectsVersions | name |
issue.subtasks | key, summary, status, priority, assignee, dueDate |
issue.comments | author (usuario), author.displayName, body (ADF), created, updated |
issue.attachments | filename, mimeType, size, isImage, created, author.displayName — solo metadatos, sin binarios ni URL |
issue.issueLinks | typeName, direction, linkedIssue.key, linkedIssue.summary, linkedIssue.status |
issue.worklogs | author.displayName, timeSpent, timeSpentSeconds, created, started |
Ejemplo:
${#each issue.worklogs as wl}
${wl.author.displayName}: ${wl.timeSpentSeconds | duration("hm")} el ${wl.started | date("yyyy-MM-dd")}
${/each}
Nivel A: raíces para varias incidencias
Disponibles en multi-issue, scheduled, sprint, release y backlog.
| Ruta | Tipo | Campos del elemento |
|---|---|---|
issues | colección | la superficie de incidencia completa, relativa a la variable del bucle |
issueGroups.fixVersions | colección | key, title, issues |
issueGroups.sprints | colección | key, title, issues |
issueGroups.assignees | colección | key, title, issues |
issueGroups.worklogAssignees | colección | key, title, issues |
Ejemplo: agrupar y luego recorrer las incidencias de cada grupo.
${#each issueGroups.assignees as group}
## ${group.title}
${#each group.issues as it}
- ${it.key}: ${it.summary}
${/each}
${/each}
Nivel A: raíces de contexto
Disponibles solo en su propio contexto.
sprint
| Ruta | Tipo |
|---|---|
sprint.sprint.name | cadena |
sprint.sprint.goal | cadena |
sprint.sprint.state | opción |
sprint.stats.issueCount | número |
sprint.stats.percentDone | número |
release
| Ruta | Tipo |
|---|---|
release.release.name | cadena |
release.release.releaseDate | fecha |
release.release.released | booleano |
release.stats.issueCount | número |
release.stats.percentDone | número |
backlog
| Ruta | Tipo / campos del elemento |
|---|---|
backlog.board.boardName | cadena |
backlog.board.boardType | opción |
backlog.stats.totalIssueCount | número |
backlog.groups | colección: kind, name, issueCount, issues |
Nivel A: metadatos
| Ruta | Tipo | Contextos |
|---|---|---|
generatedAt | fecha y hora | todos |
Nivel B: registro de cambios
| Ruta | Tipo | Campos del elemento |
|---|---|---|
issue.changeHistory | colección | author.displayName, created, items |
Nivel C: visible pero no vinculable
Existen conceptualmente pero no se pueden resolver; se enumeran para que el editor y la validación reflejen el alcance con honestidad.
| Capacidad | Nota |
|---|---|
issue.jsm | Superficie de solicitud, SLA y aprobación de Jira Service Management: aplazada. |
| JQL en la plantilla | El analizador de migración lo detecta y lo diagnostica, nunca lo ejecuta. |
| Tempo | Puede existir un reflejo de Tempo en un registro de trabajo, pero no está vinculado. |
| Xray / Zephyr | Los campos de gestión de pruebas requieren una aplicación de terceros. |
| Assets / Insight | Los campos de objeto están aplazados. |
Campos personalizados
Los campos personalizados se vinculan bajo un único espacio de nombres:
${ issue.customFields.<idDeCampo>.<…> }
- Los identificadores desconocidos son flexibles: el editor muestra una advertencia y el valor puede quedar vacío, pero nunca bloquea de forma dura, de modo que una plantilla puede referirse a un campo que este sitio no tenga sin fallar.
- La ruta desnuda
issue.customFields(el mapa completo) nunca es vinculable. - Solo se permiten caracteres de identificador seguros; se rechazan los segmentos
__proto__,prototypeyconstructor.
Advertencias al migrar desde Xporter
El analizador de migración sugiere rutas de Exportelier para los nombres de campo habituales de Xporter. Dos cosas que conviene saber para que una sugerencia se resuelva de verdad:
- La conversión automática corrige la sintaxis, no la existencia de una ruta. La reescritura tiene la forma correcta, pero el destino debe seguir siendo una vinculación real de esta página, o se genera una advertencia
unknown-binding:- No están en el catálogo:
Creator→issue.creator,Resolution→issue.resolution,Project→issue.project,IssueType/Type→issue.issuetype. - Diferencia de mayúsculas:
DueDatese sugiere comoissue.duedate, pero la vinculación esissue.dueDate. - Tipo incorrecto:
Labelsse sugiere como escalar, peroissue.labelses una colección: use un bucle.
- No están en el catálogo:
- Vínculos de incidencia. El alias
Linksse sugiere comolinks, pero la vinculación real esissue.issueLinks.
Consulte Sintaxis de Xporter: qué funciona para el mapa completo de migración.
Rutas nunca permitidas
Por seguridad, algunas rutas se rechazan con un error unsafe-template independientemente del contexto: campos internos, de credenciales o que contienen URL. Incluyen raíces como auth, context, forge, internal, secrets, storage y token, y cualquier ruta terminada en accountId, apiToken, avatarUrl, baseUrl, contentUrl, thumbnailUrl, cookie, session, headers, private o storageRef. Si se ciñe a las vinculaciones de esta página, no llegará a toparse con ellas.