Page tree

Versions Compared

Key

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

Table of Contents

Iterating

...

Issue Activity 
Status
colourYellow
titleDeprecaTED

Changes to issues are registered in the Issue Activity, but it is not known in advance how many linked issues exist for an issue, you changes are going to be made. You can iterate a section over all the linked issues activities of an issue. This allows you to create a table that dynamically grows according to the number of existing linked issues.

All fields listed here are available on Links[n] because they represent an issue. In addition, there are two new fields at the Links[n] level: 

...

Description

...

Returns the Application Type. The values can be:

Application ValueDescription

JIRA

Link from the same Jira Instance
External JiraLink from the another Jira Instance
ConfluenceLink from a Confluence page
ExternalExternal link

...

activities. The notation is:

Activity FieldsDescription
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 Block
titleExpand to see the sample code
collapsetrue
#{for linksactivityEntries}
   ${LinksActivityEntries[n].AppTypeTitle}
   ${LinksActivityEntries[n].LinkTypeSummary}
   ${LinksActivityEntries[n].KeyContent}
   ${LinksActivityEntries[n].SummaryAuthor}
   ${LinksActivityEntries[n].URL}
#{endAuthorEmail}
  or   #{for <VariableName>=LinksCount}
   ${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 <VariableName>=ActivityEntriesCount}
   Content and Linked Issue Mappings. Example: ${LinksActivityEntries[VariableName].Field}
#{end}

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

The documents below demonstrate The documents below demonstrate examples both in Word and Excel template that iterates over linked issues.

Iterating_Issue_LinksActivity.docx

 IteratingIterating_Issue_LinksActivity.xlsx

Iterating Issue

...

Links

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:

...

The author of the comment

...

titleExpand to see the sample code
collapsetrue

...

linked issues.

All fields listed here are available on Links[n] because they represent an issue. In addition, there are two new fields at the Links[n] level: 

Field

Description

AppType

Returns the Application Type. The values can be:

Application ValueDescription

JIRA

Link from the same Jira Instance
External JiraLink from the another Jira Instance
ConfluenceLink from a Confluence page
ExternalExternal link
LinkTypeReturns the Link Type.
Code Block
titleExpand to see the sample code
collapsetrue
#{for links}
   ${CommentsLinks[n].AuthorAppType}
    ${CommentsLinks[n].AuthorFullNameLinkType} 
   ${CommentsLinks[n].BodyKey} 
   ${dateformat("dd-MM-yyyy HH:mm:ss"):CommentsLinks[n].CreatedSummary}
   ${dateformat("dd-MM-yyyy HH:mm:ss"):CommentsLinks[n].CreatedDate}
   ${dateformat("dd-MM-yyyy HH:mm:ss"):Comments[n].CreatedDateTime}
   ${Comments[n].GroupLevel}
   ${Comments[n].Internal}
URL}
#{end}
 
or
 
#{for <VariableName>=CommentsCountLinksCount}
   Content and Linked Issue Mappings. Example: ${CommentsLinks[VariableName].Field}
#{end}

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

The documents below demonstrate examples both in Word and Excel template that iterates over

...

linked issues.

Image Modified Iterating_Issue_

...

Links.docx

Image Modified

...

 Iterating_Issue_

...

Links.xlsx

...

Iterating 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
Comments FieldsDescription
Author

The author of the

worklog

comment

AuthorFullNameThe full name of the author of the
worklog
comment
Comment
Body

The comment

of the worklog

body 

Status
colourBlue
titleWiki

CreatedThe
worklog's creation date.
date the comment was posted
CreatedDateThe
worklog's creation date.
date the comment was posted
CreatedDateTimeThe
worklog's creation
date
.

Date Started

The date the worklog was started

StartDate

The date the worklog was started

StartDateTime

The date the worklog was started

TimeSpentThe time spent in seconds

Time Spent

The time spent in seconds

TimeSpentFormatted

The time spent as displayed on JiraBillableSecondsThe billable seconds (Belongs to Tempo Timesheets plugin)
the comment was posted
GroupLevelThe group level of the comment
InternalThe comment is internal or public
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"):WorklogsComments[n].CreatedDate}
   ${dateformat("dd-MM-yyyy HH:mm:ss"):WorklogsComments[n].CreatedDateTime}
   ${dateformat("dd-MM-yyyy HH:mm:ss"):WorklogsComments[n].StartDateGroupLevel}
   ${dateformat("dd-MM-yyyy HH:mm:ss"):WorklogsComments[n].Date StartedInternal}
#{end}
 
or
 
${dateformat("dd-MM-yyyy HH:mm:ss"):Worklogs[n].StartDateTime#{for <VariableName>=CommentsCount}
    ${Worklogs[n].Time Spent}
   ${Worklogs[n].TimeSpent}
   ${Worklogs[n].TimeSpentFormatted} 
   ${Worklogs[n].BillableSeconds}
#{end}
 
or
 
#{for <VariableName>=WorklogsCount}
   Content and WorklogIssue Mappings. Example: ${WorklogsComments[VariableName].Field}
#{end}

The documents below demonstrate examples both in Word and Excel template that iterates over all the issue

...

comments.

Image Modified Iterating_Issue_

...

Comments.docx

Image Modified Iterating_Issue_

...

Comments.xlsx

...

Iterating Issue

...

Worklogs

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

ParentIssueKeyThe issue parent key

Status
colourBlue
title

...

Wiki

Created

The worklog's creation date.

CreatedDate

The worklog's creation date.

CreatedDateTime

The worklog's creation date.

Date Started

The date the worklog was started

StartDate

The date the worklog was started

StartDateTime

The date the worklog was started

TimeSpentThe time spent in seconds

Time Spent

The time spent in seconds

TimeSpentFormatted

The time spent as displayed on Jira
BillableSecondsThe billable seconds (Belongs to Tempo Timesheets plugin)
Code Block
titleExpand to see the sample code
collapsetrue
#{for worklogs}
   ${Worklogs[n].Author} 
   ${Worklogs[n].AuthorFullName} 
   ${Worklogs[n].Comment}
   ${dateformat("dd-MM-yyyy HH:mm:ss"):Worklogs[n].Created}
   ${dateformat("dd-MM-yyyy HH:mm:ss"):Worklogs[n].CreatedDate}
   ${dateformat("dd-MM-yyyy HH:mm:ss"):Worklogs[n].CreatedDateTime}
   ${dateformat("dd-MM-yyyy HH:mm:ss"):Worklogs[n].StartDate}
   ${dateformat("dd-MM-yyyy HH:mm:ss"):Worklogs[n].Date Started}
   ${dateformat("dd-MM-yyyy HH:mm:ss"):Worklogs[n].StartDateTime} 
   ${Worklogs[n].Time Spent}
   ${Worklogs[n].TimeSpent}
   ${Worklogs[n].TimeSpentFormatted} 
   ${Worklogs[n].BillableSeconds}
#{end}
 
or
 
#{for <VariableName>=WorklogsCount}
   Content and Worklog Mappings. Example: ${Worklogs[VariableName].Field}
#{end}

The documents below demonstrate examples both in Word and Excel template that iterates over the issue worklogs.

Image Added Iterating_Issue_Worklogs.docx

Image Added Iterating_Issue_Worklogs.xlsx

...

Iterating Issue Subtasks

All fields listed here are available on Subtasks[n] because they represent an issue.

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

Subtasks FieldsDescription
KeyThe key of the subtasks
SummaryThe summary of the subtasks
AssigneeUserDisplayNameThe assignee user of the subtasks
ParentIssueKeyThe issue parent key
Code Block
titleExpand to see the sample code
collapsetrue
#{for subtasks}
   ${Subtasks[n].Key}
   ${Subtasks[n].Summary}
   ${Subtasks[n].AssigneeUserDisplayName}
   ${Subtasks[n].ParentIssueKey}
#{end}
 
or
 
#{for <VariableName>=SubtasksCount}
   Content and Issue Mappings. Example: ${Subtasks[VariableName].Field}
#{end}

The documents below demonstrate examples both in Word and Excel template that iterates over the issue subtasks.

Image Added Iterating_Issue_Subtasks.docx

Image Added Iterating_Issue_Subtasks.xlsx

...

Iterating Issue Components

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

Components FieldsDescription
NameThe 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 component
Code Block
titleExpand to see the sample code
collapsetrue
#{for components}
   ${Components[n].Name}
   ${Components[n].Description}
   ${Subtasksfullname:Components[n].KeyLead}
   ${SubtasksComponents[n].SummaryId}
   ${SubtasksComponents[n].AssigneeUserDisplayNameProjectId}
   ${SubtasksComponents[n].ParentIssueKeyAssigneeType}
#{end}
 
or
 
#{for <VariableName>=SubtasksCountComponentsCount}
   Content and IssueComponents Mappings. Example: ${SubtasksComponents[VariableName].Field}
#{end}

The documents below demonstrate examples both in Word and Excel template that iterates over the issue subtaskscomponents.

Iterating_Issue_SubtasksComponents.docx

Iterating_Issue_SubtasksComponents.xlsx

...

Iterating Issue

...

Status Transitions

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

Components Status Transitions FieldsDescription
NameAuthorThe name author of the componentstatus transition
DescriptionCreatedThe 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 componentdate the status transition was performed
CreatedDateThe date the status transition was performed
CreatedDateTimeThe 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
collapsetrue
#{for componentsstatusTransitions}
   ${ComponentsStatusTransitions[n].NameAuthor}
   ${Componentsdateformat("dd-MM-yyyy HH:mm:ss"):StatusTransitions[n].DescriptionCreated}
   ${fullname:Components ${dateformat("dd-MM-yyyy HH:mm:ss"):StatusTransitions[n].LeadCreatedDate}
   ${Componentsdateformat("dd-MM-yyyy HH:mm:ss"):StatusTransitions[n].IdCreatedDateTime}
   ${ComponentsStatusTransitions[n].ProjectIdOldStatus}
   ${ComponentsStatusTransitions[n].AssigneeTypeNewStatus}
#{end}
 
or
 
#{for <VariableName>=ComponentsCountStatusTransitionsCount}
   Content and ComponentsStatusTransitions Mappings. Example: ${ComponentsStatusTransitions[VariableName].Field}
#{end}

The documents below demonstrate examples both in Word and Excel template that iterates over the issue componentsstatus transitions.

Iterating_Issue_ComponentsStatusTransitions.docx

Iterating_Issue_ComponentsStatusTransitions.xlsx

...

Iterating Issue

...

Attached Images

Because it is not known in advance how many Status Transitions Images can exist for an issue (as an attachment), you can iterate a section over all the Status Transitions 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 status transitionsimages. The notation is:

Status Transitions
Attachments Images FieldsDescription
IDThe ID of the attached image
ImageThe 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 (ID) of the
status transition
attached image
CreatedThe date the
status transition
attached image was
performed
created
CreatedDateThe date the
status transition
attached image was
performed
created
CreatedDateTimeThe date the
status transition
attached image was
performed
created
OldStatus
MimeTypeThe
old status
type of the
status transition
attached image
NewStatus
ThumbnailURLThe
new status
URL to the thumbnail of the
status transition
image
Code Block
titleExpand to see the sample code
collapsetrue
#{for statusTransitions{for images}
   ${Images[n].Image|maxwidth=150|maxheight=150}
   ${Images[n].Name}
   ${Images[n].ID}
   ${Images[n].Size}
   ${Images[n].HumanReadableSize}
   ${StatusTransitionsImages[n].Author}
   ${dateformat("dd-MM-yyyy HH:mm:ss"):StatusTransitionsImages[n].Created}
   ${dateformat("dd-MM-yyyy HH:mm:ss"):StatusTransitionsImages[n].CreatedDate}
   ${dateformat("dd-MM-yyyy HH:mm:ss"):StatusTransitions[n].CreatedDateTime}
   ${StatusTransitions[n].OldStatus}
   ${StatusTransitions[n].NewStatus}
#{end}
 
or
 
#{for <VariableName>=StatusTransitionsCount}
   Content and StatusTransitions Mappings. Example: ${StatusTransitions[VariableName].Field}
#{end}

The documents below demonstrate examples both in Word and Excel template that iterates over the issue status transitions.

Image Removed Iterating_Issue_StatusTransitions.docx

Image Removed Iterating_Issue_StatusTransitions.xlsx

...

Images[n].CreatedDateTime}
   ${Images[n].MimeType}
   ${Images[n].ThumbnailURL}
 #{end}
 
or
 
#{for <VariableName>=ImagesCount}
   Content and Images Mappings. Example: ${Images[VariableName].Field}
#{end}

The documents below demonstrate examples both in Word and Excel template that iterates over the attached images for each issue.

Image Added Iterating_Issue_Images.docx

Image Added Iterating_Issue_Images.xlsx


Info

Xporter 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.

You can use the mappings width and height to define the exact width and height of the printed image.

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.

...

Iterating Issue Attachments

Because it is not known in advance how many Images can attachments exist for in an issue (as an attachment), you can iterate a section over all the attached images of attachments 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 imagesattachments. The notation is:

Attachments
Images image
FieldsDescription
IDThe ID of the
attached
attachment
Image
IdThe
image
ID of the
attached image
attachment
NameThe name of the
attached image
attachment
Size
AuthorThe
size
author of the
attached image
attachment
HumanReadableSize
AuthorFullNameThe
size
full name of the
attached imageAuthorThe
author
(ID)
of the
attached image
attachment
CreatedThe date the
attached image
attachment was created
CreatedDateThe date the
attached image
attachment was created
CreatedDateTimeThe date the
attached image
attachment was created
MimeType
SizeThe size of the attachment
HumanReadableSizeThe
type
formatted size of the
attached image
attachment
ThumbnailURL
MimeTypeThe
URL to the thumbnail
type of the
image
attachment
Code Block
titleExpand to see the sample code
collapsetrue
#{for imagesattachments}
   ${ImagesAttachments[n].Image|maxwidth=150|maxheight=150ID}
   ${ImagesAttachments[n].Name}
   ${ImagesAttachments[n].IDAuthor}
   ${ImagesAttachments[n].SizeAuthorFullName}
   ${Images[n].HumanReadableSize}
   ${Images[n].Author}
   ${dateformat("dd-MM-yyyy HH:mm:ss"):ImagesAttachments[n].Created}
   ${dateformat("dd-MM-yyyy HH:mm:ss"):ImagesAttachments[n].CreatedDate}
   ${dateformat("dd-MM-yyyy HH:mm:ss"):Images"):Attachments[n].CreatedDateTime}
   ${Attachments[n].CreatedDateTimeSize}
   ${ImagesAttachments[n].MimeTypeHumanReadableSize}
   ${ImagesAttachments[n].ThumbnailURLMimeType}
 ##{end}
 
or
 

#{for <VariableName>=ImagesCountAttachmentsCount}
   Content and ImagesIssue Mappings. Example: ${ImagesAttachments[VariableName].Field}
#{end}

The documents below demonstrate examples both in Word and Excel template that iterates over the attached images for each issueissue's attachments.

Iterating_Issue_ImagesAttachments.docx

Iterating_Issue_ImagesAttachments.xlsx

Info

Xporter 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.

...

Iterating 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
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.

Iterating 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:

...

#{for labels}
   ${Labels[n].Name}
#{end}
 
or
 
#{for <VariableName>=LabelsCount}
   Content and Versions Issue Mappings. Example: ${Labels[VariableName].Field}
#{end}

The documents below demonstrate examples both in Word and Excel template that iterates over the issue's labels.

Image Added Iterating_Issue_Labels.docx

Image Added Iterating_Issue_Labels.xlsx

...

Iterating Fix Versions of an Issue

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

Versions FieldsDescription
NameThe version name
DescriptionThe version description
Start dateStarting date of the version
Release dateRelease date of the version
ArchivedBoolean that indicates if the version is archived or not
ReleasedBoolean that indicates if the version is released or not
Code Block
titleExpand to see the sample code
collapsetrue
#{for attachmentsFixVersions}
   ${Attachments[n].ID}
   ${Attachments[n].Name}
   ${Attachments[n].Author}
   ${Attachments[n].AuthorFullName}
   ${dateformat("dd-MM-yyyy HH:mm:ss"):Attachments	${FixVersions[n].CreatedName}
   	${FixVersions[n].Description}
	${dateformat("dd“dd-MM-yyyy HH:mm:ss"yyyy”):AttachmentsFixVersions[n].CreatedDateStart date}
   	${dateformat("dd“dd-MM-yyyy HH:mm:ss"yyyy”):AttachmentsFixVersions[n].CreatedDateTime}
   ${Attachments[n].Size}
   ${AttachmentsRelease date}
	${FixVersions[n].HumanReadableSizeArchived}
   	${AttachmentsFixVersions[n].MimeTypeReleased}
#{end}
 
or
 
#{for <VariableName>=AttachmentsCountFixVersionsCount}
   Content and Versions Issue Mappings. Example: ${AttachmentsFixVersions[VariableName].Field}
#{end}

The documents below demonstrate examples both in Word and Excel template that iterates over the issue's attachmentsfix versions.

Iterating_Issue_AttachmentsFixVersions.docx

Iterating_Issue_AttachmentsFixVersions.xlsx

...

Iterating Affected Versions of an Issue

...

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:

...

You can iterate over all affected versions to which the issue belongs to. The notation is:

Versions FieldsDescription
NameThe version name
DescriptionThe version description
Start dateStarting date of the version
Release dateRelease date of the version
ArchivedBoolean that indicates if the version is archived or not
ReleasedBoolean that indicates if the version is released or not
Code Block
titleExpand to see the sample code
collapsetrue
#{for labels}
   ${Labels#{for AffectedVersions}
	${AffectedVersions[n].Name}
	${AffectedVersions[n].Description}
	${dateformat(“dd-MM-yyyy”):AffectedVersions[n].Start date}
	${dateformat(“dd-MM-yyyy”):AffectedVersions[n].Release date}
	${AffectedVersions[n].Archived}
	${AffectedVersions[n].NameReleased}
#{end}


or


#{for <VariableName>=LabelsCountAffectedVersionsCount}
   Content and Versions Issue Mappings. Example: ${LabelsAffectedVersions[VariableName].Field}
#{end}

The documents below demonstrate examples both in Word and Excel template that iterates over the issue's labelsaffected versions.

Iterating_Issue_LabelsAffectedVersions.docx

Iterating_Issue_LabelsAffectedVersions.xlsx

...

Iterating

...

Project Versions

...

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

Project Versions FieldsDescription
NameThe version name
DescriptionThe version description
Start dateStarting date of the version
Release dateRelease date of the version
ArchivedBoolean that indicates if the version is archived or not
ReleasedBoolean that indicates if the version is released or not
Code Block
titleExpand to see the sample smaple code
collapsetrue
#{for FixVersionsprojectVersions}
	${FixVersionsProjectVersions[n].Name}
	${FixVersionsProjectVersions[n].Description}
	${dateformat(“dd-MM-yyyy”):FixVersionsProjectVersions[n].Start date}
	${dateformat(“dd-MM-yyyy”):FixVersionsProjectVersions[n].Release date}
	${FixVersionsProjectVersions[n].Archived}
	${FixVersionsProjectVersions[n].Released}
#{end}

or

#{for <VariableName>=FixVersionsProjectVersionsCount}
   Content and Project Versions Issue Mappings. Example: ${FixVersionsProjectVersions[VariableName].Field}
#{end}

The documents below demonstrate examples both in Word and Excel template that iterates over the issue's fix project versions.

Iterating_Issue_FixVersionsProjectVersions.docx

Iterating_Issue_FixVersionsProjectVersions.xlsx

Iterating Affected Versions of an Issue

You can iterate over all affected versions to which the issue belongs to. The notation is:

...

titleExpand to see the sample code
collapsetrue

...

...

Iterating Sprints

You can iterate over all sprints to which the issue belongs. The notation is:

Project Versions FieldsDescription
NameThe sprint name
StatusThe sprint status
Code Block
titleExpand to see the smaple code
collapsetrue
#{for sprints}
	${Sprints[n].Name}
	${Sprints[n].Status}
#{end}

or

#{for <VariableName>=AffectedVersionsSprintsCount}
   Content and VersionsSprints Issue Mappings. Example: ${AffectedVersionsSprints[VariableName].Field}
#{end}

The documents below demonstrate examples both in Word and Excel template that iterates over the issue's affected project versions.

Iterating_Issue_AffectedVersionsSprints.docx

Iterating_Issue_AffectedVersionsSprints.xlsx

...

Iterating

...

Issue History Entries

You can iterate over all project versions to which the issue belongs toissue's changelogs. The notation is:

Boolean that indicates if the version is released or not
Project Versions FieldsDescription
NameAuthorThe version name
DescriptionThe version description
Start dateStarting date of the version
Release dateRelease date of the version
ArchivedBoolean that indicates if the version is archived or not
Releaseduser who made the change
CreatedDate of the change
CreatedDateDate of the change
CreatedDateTimeDate of the change
ChangedItemsCountNumber of items changed
Code Block
titleExpand to see the smaple code
collapsetrue
#{for projectVersions historyEntries}
	${HistoryEntries[n].Author}
	${HistoryEntries[n].Created}
	${ProjectVersionsHistoryEntries[n].NameCreatedDate}
	${ProjectVersionsHistoryEntries[n].DescriptionCreatedDateTime}
	${dateformat(“dd-MM-yyyy”):ProjectVersionsHistoryEntries[n].Start dateChangedItemsCount}
	#{for i=HistoryEntries[n].ChangedItemsCount}
		${dateformat(“dd-MM-yyyy”):ProjectVersionsHistoryEntries[n].Release dateChangedItems[i].Field}
		${ProjectVersionsHistoryEntries[n].ChangedItems[i].ArchivedFrom}
		${ProjectVersionsHistoryEntries[n].Released.ChangedItems[i].To}
	#{end}
#{end}

or

#{for <VariableName>=ProjectVersionsHistoryEntriesCount}
   Content and ProjectHistory VersionsEntries Mappings. Example: ${ProjectVersionsHistoryEntries[VariableName].Field}
#{end}

The documents below demonstrate examples both in Word and Excel template that iterates over the issue's project versionschangelogs.

Iterating_Issue_ProjectVersionsHistories.docx

Iterating_Issue_ProjectVersionsHistories.xlsx

...

Iterating

...

Project Components

You can iterate over all sprints to which the issue belongsproject components. The notation is:

...

#{for sprints} ${Sprints
Code Block
titleExpand to see the smaple sample code
collapsetrue
true
#{for ProjectComponents}
   ${ProjectComponents[n].Name}
   ${ProjectComponents[n].Description}
   ${fullname:ProjectComponents[n].Lead}
   ${ProjectComponents[n].Id}
   ${ProjectComponents[n].NameProjectId}
   	${SprintsProjectComponents[n].StatusAssigneeType}
#{end}

or

#{for <VariableName>=SprintsCountProjectComponentsCount}
   Content and SprintsComponents Mappings. Example: ${SprintsProjectComponents[VariableName].Field}
#{end}

The documents below demonstrate examples both in Word and Excel template that iterates over the issue's project versionscomponents.

Iterating_Issue_SprintsProjectComponents.docx

Image Removed Iterating_Issue_Sprints.xlsx

Iterating Issue History Entries

You can iterate over all issue's changelogs. The notation is:

...

Image Added Iterating_Issue_ProjectComponents.xlsx

...

Iterating Issues In Epic

All fields listed here are available on IssuesInEpic[n] because they represent an issue.

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

Code Block
titleExpand to see the smaple sample code
collapsetrue
#{for historyEntriesIssuesInEpic}
	${HistoryEntries[n].Author} 	${HistoryEntries[n].Created} 	${HistoryEntries[n].CreatedDate}
	${HistoryEntries[n].CreatedDateTime} 	${HistoryEntries[n].ChangedItemsCount}
	#{for i=HistoryEntriesIssuesInEpic[n].ChangedItemsCountKey}
		   ${HistoryEntriesIssuesInEpic[n].ChangedItems[i].FieldSummary}
		   ${HistoryEntriesIssuesInEpic[n].ChangedItems[i].FromDescription}
		   ${HistoryEntriesIssuesInEpic[n].ChangedItems[i].ToEpic Link.Key}
	#{end}
#{end} 

or
 
#{for <VariableName>=HistoryEntriesCountIssuesInEpicCount}
   Content and HistoryIssue Entries Mappings. Example: ${HistoryEntriesIssuesInEpic[VariableName].Field}
#{end}

The documents below demonstrate examples both in Word and Excel template that iterates over the issue's changelogsissues in epic.

Iterating_IssueIssues_In_HistoriesEpic.docx

Iterating_IssueIssues_In_HistoriesEpic.xlsx

...

Iterating JQL Queries

...

The documents below demonstrate examples both in Word and Excel template with JQL examples.

JQL.docx

 JQL.xlsx

Info

You can also use a Filter Name or a Filter Id as a clause. For more info, check [http://confluence.xpand-addons.com/display/public/XPORTER/JQL]

...

Links_with_Filter_and_HighPriority.docx

...

Nested Iterations

...

You can have multiple levels of iterations inside other iterations. This can be useful if you want to iterate the comments of each linked issue or the attached images for each subtask.

...