Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Table of Contents
maxLevel1

Issue

...

Activity

Changes to issues are registered in the Issue Activity, but it is not known in advance how many changes are going to be made.

...

You can iterate a section over all the

...

activities of an issue. This allows you to create a table that dynamically grows according to the number of

...

existing activities. The notation is:

Activity Fields

...

Exportable Data

Field
Description
HistoryEntriesCountReturns the number of changes made.AuthorReturns the user who made the change.CreatedDate of the changeChangedItemsCoutReturns the number of fields changed in the current change.ChangedItem
FieldDescription
FieldReturns the name of the field which the value was changed.
FromReturns the old value.
ToReturns the new value.

The notation is:

Title

The title of the issue

SummaryThe summary of the activity
ContentWhen an activity involves a change in the Issue contents, this field displays the new contents
AuthorThe author of the activity
AuthorEmailThe email of the author of the activity
PublishedThe time the issue was published
UpdatedThe time the issue was updated
CategoriesWhen an activity regards an Issue Status change, this field displays the new Issue Status
Code Blockcode
titleExpand to see the sample code
collapsetrue
#{for historyEntriesactivityEntries}
   ${fullname:HistoryEntriesActivityEntries[n].AuthorTitle}
 made changes ${dateformat("dd-MM-yyyy HH:mm:ss"):HistoryEntriesActivityEntries[n].CreatedSummary}
  #{for ch=HistoryEntries ${ActivityEntries[n].ChangedItemsCountContent}
	Field  Name: ${HistoryEntriesActivityEntries[n].ChangedItems[ch].FieldAuthor}
	Old Value:  ${HistoryEntriesActivityEntries[n].ChangedItems[ch].From}
	New Value:  ${HistoryEntries[n].ChangedItems[ch].To}
  #{end} AuthorEmail}
   ${dateformat("dd-MM-yyyy HH:mm:ss"):ActivityEntries[n].Published}
   ${dateformat("dd-MM-yyyy HH:mm:ss"):ActivityEntries[n].Updated}
   ${ActivityEntries[n].Categories}
#{end}
 
or
 
#{for h<VariableName>=HistoryEntriesCountActivityEntriesCount}
    ${fullname:HistoryEntries[h].Author} made changes    ${dateformat("dd-MM-yyyy HH:mm:ss"):HistoryEntries[h].Created}
   #{for ch=HistoryEntries[h].ChangedItemsCount}
	Field Name: ${HistoryEntries[h].ChangedItems[ch].Field}
	Old Value:  ${HistoryEntries[h].ChangedItems[ch].From}
	New Value:  ${HistoryEntries[h].ChangedItems[ch].To}
   #{end} 
#{end}
Content and Issue Mappings. Example: ${ActivityEntries[VariableName].Field}
#{end}
Info

We suggest that you use the html function to render the data because almost all content is HTML, e.g., ${html:ActivityEntries[n].Title}

Below is an example of using the Activity iteration in a Word template:


Image Added

or

Image Added

Below is an example of using the Activity iteration in an Excel template:

Image Added

or

Image Added

Issue History

You Because it is not known in advance how many linked issues exist for an issue, you can iterate a section over all the linked issues history entries of an issue. This allows you to create a table that dynamically grows according to the number of existing linked issueschanges done


Exportable Data

FieldDescription
AppType
HistoryEntriesCountReturns the
Application Type. The values can be:
Application ValueDescription

JIRA

Link from the same Jira Instance
External Jira Link from the another Jira Instance
Confluence Link from a Confluence page
External External link
LinkType Returns the Link Type.

...

number of changes made.
AuthorReturns the user who made the change.
CreatedDate of the change
ChangedItemsCoutReturns the number of fields changed in the current change.
ChangedItem
FieldDescription
FieldReturns the name of the field which the value was changed.
FromReturns the old value.
ToReturns the new value.


The notation is:

Code Block
titleExpand to see the sample code
collapsetrue
#{for linkshistoryEntries}
   ${Linksfullname:HistoryEntries[n].AppTypeAuthor}
 made changes ${Linksdateformat("dd-MM-yyyy HH:mm:ss"):HistoryEntries[n].LinkTypeCreated}
   ${Links#{for ch=HistoryEntries[n].KeyChangedItemsCount}
	Field Name:  ${LinksHistoryEntries[n].Summary}
 ChangedItems[ch].Field}
	Old Value:  ${HistoryEntries[n].ChangedItems[ch].From}
	New Value:  ${LinksHistoryEntries[n].ChangedItems[ch].URL}To}
  #{end} 
#{end}
  
or
 
#{for <VariableName>h=LinksCountHistoryEntriesCount}
   Content and Linked Issue Mappings. Example: ${Links[VariableName].Field}
#{end}

The image below demonstrates an example of a Word template that iterates over linked issues.

Image Removed

or

Image Removed

The image below demonstrates an example of an Excel template that iterates over linked issues.

Image Removed

or

Image Removed

...

${fullname:HistoryEntries[h].Author} made changes    ${dateformat("dd-MM-yyyy HH:mm:ss"):HistoryEntries[h].Created}
   #{for ch=HistoryEntries[h].ChangedItemsCount}
	Field Name: ${HistoryEntries[h].ChangedItems[ch].Field}
	Old Value:  ${HistoryEntries[h].ChangedItems[ch].From}
	New Value:  ${HistoryEntries[h].ChangedItems[ch].To}
   #{end} 
#{end}

Because it is not known in advance how many comments linked issues exist for an issue, you can iterate a section over all the comments on linked issues of an issue. This allows you to create a table that dynamically grows according to the number of existing comments. The notation is:linked issues. 

Exportable Data

Comments FieldsAuthor
FieldDescription
AppType

The author of the comment

AuthorFullNameThe full name of the author of the comment
BodyThe comment
CreatedThe date the comment was posted
GroupLevelThe group level of the comment

Returns the Application Type. The values can be:

Application ValueDescription

JIRA

Link from the same Jira Instance
External Jira Link from the another Jira Instance
Confluence Link from a Confluence page
External External link
LinkType Returns the Link Type.

Note:  When the link you are iterating is of AppTypes External Jira or Confluence, the name is obtained using the Summary property.

The notation is:

Code Block
title
Code Block
titleExpand to see the sample code
collapsetrue
#{for commentslinks}
   ${CommentsLinks[n].AuthorAppType} 
   ${CommentsLinks[n].AuthorFullNameLinkType} 
   ${CommentsLinks[n].BodyKey} 
   ${dateformat("dd-MM-yyyy HH:mm:ss"):Comments[n].CreatedLinks[n].Summary}
   ${CommentsLinks[n].GroupLevelURL}
#{end}
 
or
 
#{for <VariableName>=CommentsCountLinksCount}
   Content and Linked Issue Mappings. Example: ${CommentsLinks[VariableName].Field}
#{end}


The image below demonstrates an example of a Word template that iterates over

...

linked issues.

...

Image Added

or

...

Image Added


The image below demonstrates an example of an Excel template that iterates over

...

linked issues.

...

Image Added

or

...

Image Added

Issue

...

Comments

Because it is not known in advance how many worklogs comments exist for an issue, you can iterate a section over all the worklogs of comments on an issue. This allow allows you to create a table that dynamically grows according to the number of existing worklogscomments. The notation is:

Worklogs worklog worklogComment of the worklog worklog created
Comments FieldsDescription
Author

The author of the

comment

AuthorFullNameThe full name of the author of the comment
BodyThe comment
CreatedThe date the comment was posted
Date StartedGroupLevelThe date the worklog was started

Time Spent

The time spent in seconds

TimeSpentFormatted

The time spent as displayed on Jira

BilledHours

The billed hours in seconds (Belongs to Tempo Timesheets plugin)

BilledHoursFormatted

The billed hours as displayed on Jira (Belongs to Tempo Timesheets plugin)

group level of the comment
Code Block
titleExpand to see the sample code
collapsetrue
#{for worklogscomments}
   ${WorklogsComments[n].Author} 
   ${WorklogsComments[n].AuthorFullName}  
   ${WorklogsComments[n].CommentBody} 
   ${dateformat("dd-MM-yyyy HH:mm:ss"):WorklogsComments[n].Created}
   ${dateformat("dd-MM-yyyy HH:mm:ss"):Worklogs[n].Date Started} 
   ${Worklogs[n].Time Spent}
   ${Worklogs[n].TimeSpentFormatted} 
Comments[n].GroupLevel}
#{end}
  
or
  
#{for <VariableName>=WorklogsCountCommentsCount}
   Content and WorklogIssue Mappings. Example: ${WorklogsComments[VariableName].Field}
#{end}

Issue Sub-Tasks


The image below demonstrates an example of a Word template that iterates over issue comments.

Image Added

or

Image Added

The image below demonstrates an example of an Excel template that iterates over issue comments.

Image Added

or

Image Added

Issue Worklogs

Because it is not Because it is not known in advance how many subtasks worklogs exist for an issue, you can iterate a section over all the subtasks worklogs of an issue. This allows allow you to create a table that dynamically grows according to the number of existing subtasksworklogs. The notation is:

Subtasks

Worklogs Fields

Description

Key

Author

The

key

author of the

subtasks

worklog

Summary

AuthorFullName

The

summary

full name of the author of the

subtasks

worklog

AssigneeUserDisplayName

Comment

The

assignee user

comment of the

subtasks

worklog

Created

The date the worklog was created

Date Started

The date the worklog was started

Time Spent

The time spent in seconds

TimeSpentFormatted

The time spent as displayed on Jira

BilledHours

The billed hours in seconds (Belongs to Tempo Timesheets plugin)

BilledHoursFormatted

The billed hours as displayed on Jira (Belongs to Tempo Timesheets plugin)

Code Block
title
Code Block
titleExpand to see the sample code
collapsetrue
#{for subtasksworklogs}
   ${SubtasksWorklogs[n].KeyAuthor} 
   ${SubtasksWorklogs[n].SummaryAuthorFullName} 
   ${SubtasksWorklogs[n].AssigneeUserDisplayName}
#{end}
 
or
 
#{for <VariableName>=SubtasksCount}
   Content and Issue Mappings. Example: ${Subtasks[VariableName].Field}
#{end}

The image below demonstrates an example of a Word template that iterates over issue subtasks.

Image Removed

or

Image Removed

The image below demonstrates an example of an Excel template that iterates over issue subtasks.

Image Removed

or

Image Removed

For an example of how to iterate the details of a subtask Parent issue, please check the Iterating JQL Queries area below.

Issue Components

Comment}
   ${dateformat("dd-MM-yyyy HH:mm:ss"):Worklogs[n].Created}
   ${dateformat("dd-MM-yyyy HH:mm:ss"):Worklogs[n].Date Started} 
   ${Worklogs[n].Time Spent}
   ${Worklogs[n].TimeSpentFormatted} 
#{end}
 
or
 
#{for <VariableName>=WorklogsCount}
   Content and Worklog Mappings. Example: ${Worklogs[VariableName].Field}
#{end}

Issue Sub-Tasks

Because it is not known in advance how many subtasks exist for an Because it is not known in advance how many components exist for an issue, you can iterate a section over all the components subtasks of an issue. This allows you to create a table that dynamically grows according to the number of existing componentssubtasks. The notation is:

Components Subtasks FieldsDescription
NameKeyThe name key of the componentsubtasks
DescriptionSummaryThe description summary of the componentsubtasks
LeadAssigneeUserDisplayNameThe name assignee user of the component lead
IdThe ID of the component
ProjectIdThe project ID of the component
AssigneeTypeThe assignee type of the component
subtasks
Code Block
titleExpand to see the sample code
collapsetrue
Code Block
titleExpand to see the sample code
collapsetrue
#{for componentssubtasks}
   ${ComponentsSubtasks[n].NameKey}
   ${ComponentsSubtasks[n].DescriptionSummary}
   ${fullname:ComponentsSubtasks[n].LeadAssigneeUserDisplayName}
   ${Components[n].Id}
   ${Components[n].ProjectId#{end}
 
or
 
#{for <VariableName>=SubtasksCount}
   ${Components[n].AssigneeTypeContent and Issue Mappings. Example: ${Subtasks[VariableName].Field}
#{end}

...

The image below demonstrates an example of a Word template that iterates over issue

...

subtasks.

Image Added

or

Image RemovedImage Added

 The image The image below demonstrates an example of an Excel template that iterates over issue componentssubtasks.

Image Added

or

Image Removed

 

...

Image Added

For an example of how to iterate the details of a subtask Parent issue, please check the Iterating JQL Queries area below.

Issue Components

Because it is not known in advance how many Status Transitions components exist for an issue, you can iterate a section over all the Status Transitions components of an issue. This allows you to create a table that dynamically grows according to the number of existing status transitionscomponents. The notation is:

Status Transitions Components FieldsDescription
AuthorNameThe author of the status transition
CreatedThe date the status transition was performed
OldStatusThe old status of the status transition
name of the component
DescriptionThe description of the component
LeadThe name of the component lead
IdThe ID of the component
ProjectIdThe project ID of the component
AssigneeTypeThe assignee type of the componentNewStatusThe new status of the status transition
Code Block
titleExpand to see the sample code
collapsetrue
#{for statusTransitionscomponents}
   ${StatusTransitionsComponents[n].AuthorName}
   ${dateformat("dd-MM-yyyy HH:mm:ss"):StatusTransitionsComponents[n].CreatedDescription}
   ${StatusTransitionsfullname:Components[n].OldStatusLead}
   ${StatusTransitionsComponents[n].NewStatusId}
#{end}
 
or
 
#{for <VariableName>=StatusTransitionsCount}
   Content and StatusTransitions Mappings. Example: ${StatusTransitions[VariableName].Field   ${Components[n].ProjectId}
   ${Components[n].AssigneeType}
#{end}

...

 The image below demonstrates an example of a Word template that iterates over

...

issue components.

Image Removed

or

Image Removed

...

Image Added

 The image below demonstrates an example of an Excel template that iterates over

...

issue components.

...

Image Added

...

 

Image Removed

Issue

...

Status Transitions

Because it is not known in advance how many Images can Status Transitions exist for an issue (as an attachment), you can iterate a section over all the attached images Status Transitions of an issue to get some metadata about them. This allows you to create a table that dynamically grows according to the number of existing imagesstatus transitions. The notation is:

ID ID attached image
Attachments Images Status Transitions FieldsDescription
AuthorThe author of the status transition
ImageCreatedThe image of the attached image
NameThe name of the attached image
SizeThe size of the attached image
HumanReadableSizeThe size of the attached image
AuthorThe author of the attached image
CreatedThe date the attached image was created
MimeTypeThe type of the attached image
ThumbnailURLThe URL to the thumbnail of the image
date the status transition was performed
OldStatusThe old status of the status transition
NewStatusThe new status of the status transition
Code Block
titleExpand to see the sample code
collapse
Code Block
titleExpand to see the sample code
collapsetrue
#{for imagesstatusTransitions}
   ${ImagesStatusTransitions[n].Image|maxwidth=150|maxheight=150Author}
   ${Images[n].Name}
   ${Images[n].ID}
   ${Images[n].Size}
   ${Images[n].HumanReadableSize}
   ${Images[n].Author}
   ${dateformat("dd-MM-yyyy dateformat("dd-MM-yyyy HH:mm:ss"):ImagesStatusTransitions[n].Created}
   ${ImagesStatusTransitions[n].MimeTypeOldStatus}
   ${ImagesStatusTransitions[n].ThumbnailURLNewStatus}
 ##{end}
 
or
 
#{for <VariableName>=ImagesCountStatusTransitionsCount}
   Content and ImagesStatusTransitions Mappings. Example: ${ImagesStatusTransitions[VariableName].Field}
#{end}

The image below demonstrates an example of a Word template that iterates over

...

status transitions.

...

...

Image Added

or

Image Removed

Info

Doc. Generator will automatically read the EXIF orientation property of an image and rotate it to its correct orientation. You can turn this off by adding this property to your template.

Code Block
titleExpand to see the sample code
collapsetrue
#{for images}
   ${Images[n].Image|width=150|height=150}
 #{end}

These values are in pixels and if you only define one of them the image will be rescaled.

Info

Note that, if you use both maxWidth and width mappings, only the max value will be read. The same behavior happens with height and maxHeight.

The image below demonstrates an example of an Excel template that iterates over attached images. 

Image Removed 

or

Image Removed

Issue Attachments

Because it is not known in advance how many attachments exist in an issue, you can iterate a section over all the attachments of an issue. This allows you to create a table that dynamically grows according to the number of existing attachments. The notation is:

Image Added

The image below demonstrates an example of an Excel template that iterates over status transitions.

Image Added

or

Image Added

Issue Attached Images

Because it is not known in advance how many Images can exist for an issue (as an attachment), you can iterate a section over all the attached images of an issue to get some metadata about them. This allows you to create a table that dynamically grows according to the number of existing images. The notation is:

formatted size of the attachmentThe type attachment
Attachments Images FieldsDescription
IDThe ID of the attached image
ImageThe image of the attached image
Attachments FieldsDescription
IDThe ID of the attachment
NameThe name of the attachmentattached image
AuthorSizeThe author size of the attachmentattached image
AuthorFullNameHumanReadableSizeThe full name size of the author of the attachmentattached image
AuthorThe author of the attached image
CreatedThe date the attachment attached image was created
SizeMimeTypeThe size type of the attachmentattached imageHumanReadableSize
ThumbnailURLThe MimeTypeURL to the thumbnail of the image
Code Block
titleExpand to see the sample code
collapsetrue
#{for attachmentsimages}
   ${AttachmentsImages[n].IDImage|maxwidth=150|maxheight=150}
   ${AttachmentsImages[n].Name}
   ${AttachmentsImages[n].AuthorID}
   ${AttachmentsImages[n].AuthorFullNameSize}
   ${dateformat("dd-MM-yyyy HH:mm:ss"):AttachmentsImages[n].CreatedHumanReadableSize}
   ${AttachmentsImages[n].SizeAuthor}
   ${Attachmentsdateformat("dd-MM-yyyy HH:mm:ss"):Images[n].HumanReadableSizeCreated}
   ${AttachmentsImages[n].MimeType}
#   ${Images[n].ThumbnailURL}
 #{end}
 
or
  
#{for <VariableName>=AttachmentsCountImagesCount}
   Content and IssueImages Mappings. Example: ${AttachmentsImages[VariableName].Field}
#{end}

The image below demonstrates an example of a Word template that iterates over

...

attached images. 

...

Image Added 

or

Image Removed

The image below demonstrates an example of an Excel template that iterates over attachments.

...

Image Added


Info

Doc. Generator will automatically read the EXIF orientation property of an image and rotate it to its correct orientation. You can turn this off by adding this property to your template.

Code Block
titleExpand to see the sample code
collapsetrue
#{for images

or

Image Removed

Issue Labels

Because it is not known in advance how many labels exist in an issue, you can iterate a section over all the labels of an issue. The notation is:

...

Code Block
#{for labels}
   ${LabelsImages[n].Name}
#{end}
 
or
 
#{for <VariableName>=LabelsCount}
  ${Labels[VariableName].Name}
#{end}

The image below demonstrates an example of a Word template that iterates over labels.

Image Removed

or

Image Removed

Image|width=150|height=150}
 #{end}

These values are in pixels and if you only define one of them the image will be rescaled.


Info

Note that, if you use both maxWidth and width mappings, only the max value will be read. The same behavior happens with height and maxHeight.


The image below demonstrates an example of an Excel template that iterates over labelsattached images. 

Image RemovedImage Added 

or

Image RemovedImage Added

Issue Activity

...

Issue Attachments

Because it is not known in advance how many

...

attachments exist in an issue, you can iterate a section over all the

...

attachments of an issue. This allows you to create a table that dynamically grows according to the number of existing

...

attachments. The notation is:

Activity
Attachments FieldsDescription
Title
IDThe
title
ID of the
issue
attachment
Summary
NameThe
summary
name of the
activityContentWhen an activity involves a change in the Issue contents, this field displays the new contents
attachment
AuthorThe author of the
activity
attachment
AuthorEmail
AuthorFullNameThe
email
full name of the author
 
of the
activity
attachment
Published
CreatedThe
time
date the
issue
attachment was
published
created
Updated
SizeThe
time the issue was updatedCategories
size of the attachment
HumanReadableSizeThe formatted size of the attachment
MimeTypeThe type of the attachment
When an activity regards an Issue Status change, this field displays the new Issue Status
Code Block
titleExpand to see the sample code
collapsetrue
#{for activityEntriesattachments}
   ${ActivityEntriesAttachments[n].TitleID}
   ${ActivityEntriesAttachments[n].SummaryName}
   ${ActivityEntriesAttachments[n].Content}
   ${ActivityEntries[n].Author}
   ${ActivityEntriesAttachments[n].AuthorEmailAuthorFullName}
   ${dateformat("dd-MM-yyyy HH:mm:ss"):ActivityEntriesAttachments[n].PublishedCreated}
   ${dateformat("dd-MM-yyyy HH:mm:ss"):ActivityEntriesAttachments[n].UpdatedSize}
   ${ActivityEntriesAttachments[n].Categories}
#{end}
 
or
 
#{for <VariableName>=ActivityEntriesCount}
   Content and Issue Mappings. Example: ${ActivityEntries[VariableName].Field}
#{end}
Info

We suggest that you use the html function to render the data because almost all content is HTML, e.g., ${html:ActivityEntries[n].Title}

Below is an example of using the Activity iteration in a Word template:

Image Removed

or

Image Removed

Below is an example of using the Activity iteration in an Excel template:

Image Removed

or

...

HumanReadableSize}
   ${Attachments[n].MimeType}
#{end}
 
or
 
#{for <VariableName>=AttachmentsCount}
   Content and Issue Mappings. Example: ${Attachments[VariableName].Field}
#{end}

The image below demonstrates an example of a Word template that iterates over attachments.

Image Added

or

Image Added

The image below demonstrates an example of an Excel template that iterates over attachments.

Image Added

or

Image Added

Issue Labels

Because it is not known in advance how many labels exist in an issue, you can iterate a section over all the labels of an issue. The notation is:

Attachments FieldsDescription
NameThe name of the label
Code Block
#{for labels}
   ${Labels[n].Name}
#{end}
 
or
 
#{for <VariableName>=LabelsCount}
  ${Labels[VariableName].Name}
#{end}

The image below demonstrates an example of a Word template that iterates over labels.

Image Added

or

Image Added

The image below demonstrates an example of an Excel template that iterates over labels.

Image Added

or

Image Added

Project Versions

You can iterate over all project versions to which the issue belong to. The notation is:

...