Skip to end of metadata
Go to start of metadata

The subproject live template is used to store important subproject details, such as start/end dates, milestones and related documents.

Using Scaffolding elements, we will build a form like the one above for storing project data. 

 

What's in this guide:

Under each section is the source of that particular template. Alternatively, the full template is available in the last section.

The templates can be easily inserted into your Confluence instance using the Confluence Source Editor.


 

Creating a Template

  1. Go to Space tools on the bottom left corner of the Confluence sidebar.
  2. Select Content Tools.
  3. In the User Created Templates section, click on Create New Template.

Subproject Details

Create a 2 x 8 table, select the Heading Column button so that the table headers are vertical.

Project Title

Name the first row Title of Project and insert a Reporting block like this:

Project Type

In a new row, type Project Type. We will create a dropdown menu with some predefined categories to describe the nature of the project.

Insert a list-data block and nest it with some list-option blocks like this:

Project Status

Next, create a row for Project Status. Again, create a list-data block and nest it with list-option blocks.

Insert the Status macro to customise selection items like below:

Project Lead

Next, create the Project leader row and insert a list-data block. Nest a user-options block inside the list-data block.

For the groups paramater, insert a user group with all the project leaders. In this case, it's pmd-project-leaders.

Project Members

Now for Project members, create a list-data block and choose auto complete for type.

This means the field will allow livesearch during input, like this:

Project Dates

Next, create two date fields for the start and end date of project. Insert a date-data block for each.

For the date format, use dd MMMM yyyy.

Days Left: If-Else statements and parameter injection

Finally, create a simple if-else statement that will display the days left for ongoing projects or display a completed message if the project is over.

With report-eval, we can do calculations on predefined variables, suppliers or Scaffolding data blocks.

For the full list of calculations, visit our documentation.

In the report-eval block, we will perform the calculation of Days Left using parameter injection. Set the parameters for report-eval as such:

Make sure to check the Hidden option as we would like to use the result of this calculation as a variable

 

Now for the report-eval calculation formula, type in:

(%data:Project End Date > date:milliseconds% - %global:current date > date:milliseconds%)/1000/60/60/24

 

What does this mean?

Notice that the first part, %data:Project End Date calls a Scaffolding Data block that contains the end date of the project. Next, a keychain is used to convert this date object to milliseconds.

The second part, %global:current date calls the current date via the Global supplier. Then, a keychain is also used to convert the date object into milliseconds. 

Together, the above formula means: Convert both end date and current date into milliseconds, get the difference (in milliseconds) and convert back to days with division. 


Done! We now have a variable that holds the difference of end date and current date in days.

The report-eval variable can then be accessed via the Variable supplier, and the key being the name of the report-eval block (variable:Days Left).

 

Now create a report-block macro for the if-else statement.

In the report-block macro, insert a local-reporter block and set the keychain to @self.

Next, create a number-filter macro and set the keychain to variable:Days Left.  Then, set Above Value to 0.

This will create the 'if' statement if Days Left is above 0.

Next, insert a report-body block and set injected to true.

Inside the report-body block, type:

%variable:Days Left > number:#% day(s)

The parameter injection above is paired with a keychain that formats the Number as #. That way, Days Left is formatted to display as a whole number.

Now create the 'else' statement by inserting another number-filter macro.

Set the keychain to variable:Days Left. Then, set Below Value to 0.

This will create the 'else' statement else if Days Left is below 0.

Next, insert a report-body block and type: This project has ended.

You should now have a report-block that looks like this:

 

Subproject details livetemplate
<table class="relative-table wrapped" style="width: 37.7372%;">
  <colgroup>
    <col style="width: 36.1757%;"/>
    <col style="width: 63.5228%;"/>
  </colgroup>
  <tbody>
    <tr>
      <th>Title of project</th>
      <td>
        <div class="content-wrapper">
          <p>
            <ac:structured-macro ac:macro-id="1eb06ca4-9a7f-4946-9c72-6f493f8f7f8f" ac:name="report-info" ac:schema-version="1">
              <ac:parameter ac:name="">content:title</ac:parameter>
            </ac:structured-macro>
          </p>
        </div>
      </td>
    </tr>
    <tr>
      <th colspan="1">Project type</th>
      <td colspan="1">
        <div class="content-wrapper">
          <p>
            <ac:structured-macro ac:macro-id="06461ea1-55c1-4dad-bbc0-bb49b59e26b4" ac:name="list-data" ac:schema-version="1">
              <ac:parameter ac:name="name">Project Type</ac:parameter>
              <ac:parameter ac:name="atlassian-macro-output-type">INLINE</ac:parameter>
              <ac:rich-text-body>
                <ac:structured-macro ac:macro-id="95e3e9b0-111c-49a3-9b38-c82e97e2afc7" ac:name="list-option" ac:schema-version="1">
                  <ac:parameter ac:name="sortValue">1</ac:parameter>
                  <ac:parameter ac:name="label">Equipment</ac:parameter>
                  <ac:parameter ac:name="value">Equipment</ac:parameter>
                  <ac:rich-text-body>
                    <p> Equipment</p>
                  </ac:rich-text-body>
                </ac:structured-macro>
                <ac:structured-macro ac:macro-id="27e84db2-015a-41e9-9513-360260d38343" ac:name="list-option" ac:schema-version="1">
                  <ac:parameter ac:name="sortValue">2</ac:parameter>
                  <ac:parameter ac:name="label">Human Resources</ac:parameter>
                  <ac:parameter ac:name="value">Human Resources</ac:parameter>
                  <ac:rich-text-body>
                    <p>Human Resources</p>
                  </ac:rich-text-body>
                </ac:structured-macro>
                <ac:structured-macro ac:macro-id="eebd563b-e845-4f89-a08b-773e9fb1bdd4" ac:name="list-option" ac:schema-version="1">
                  <ac:parameter ac:name="sortValue">3</ac:parameter>
                  <ac:parameter ac:name="label">Marketing</ac:parameter>
                  <ac:parameter ac:name="value">Marketing</ac:parameter>
                  <ac:rich-text-body>
                    <p>Marketing</p>
                  </ac:rich-text-body>
                </ac:structured-macro>
                <ac:structured-macro ac:macro-id="04eeed5f-dfef-492b-bbe4-ffec0ee09d94" ac:name="list-option" ac:schema-version="1">
                  <ac:parameter ac:name="sortValue">4</ac:parameter>
                  <ac:parameter ac:name="label">Software</ac:parameter>
                  <ac:parameter ac:name="value">Software</ac:parameter>
                  <ac:rich-text-body>
                    <p>Software</p>
                  </ac:rich-text-body>
                </ac:structured-macro>
                <ac:structured-macro ac:macro-id="3b4806a9-6e50-4d52-9393-91d79b922e15" ac:name="list-option" ac:schema-version="1">
                  <ac:parameter ac:name="sortValue">5</ac:parameter>
                  <ac:parameter ac:name="label">Others</ac:parameter>
                  <ac:parameter ac:name="value">Others</ac:parameter>
                  <ac:rich-text-body>
                    <p>Others</p>
                  </ac:rich-text-body>
                </ac:structured-macro>
              </ac:rich-text-body>
            </ac:structured-macro>
          </p>
        </div>
      </td>
    </tr>
    <tr>
      <th colspan="1">Project status</th>
      <td colspan="1">
        <div class="content-wrapper">
          <p>
            <ac:structured-macro ac:macro-id="7b9af378-8611-4bc1-86df-a576367a655b" ac:name="list-data" ac:schema-version="1">
              <ac:parameter ac:name="name">Project Status</ac:parameter>
              <ac:parameter ac:name="atlassian-macro-output-type">INLINE</ac:parameter>
              <ac:rich-text-body>
                <ac:structured-macro ac:macro-id="bc5aef71-f6de-4cf3-8099-86feccbbea00" ac:name="list-option" ac:schema-version="1">
                  <ac:parameter ac:name="sortValue">1</ac:parameter>
                  <ac:parameter ac:name="label">Unstarted</ac:parameter>
                  <ac:parameter ac:name="value">Unstarted</ac:parameter>
                  <ac:rich-text-body>
                    <p>
                      <ac:structured-macro ac:macro-id="1dc308a4-d0b0-4611-a03a-87fa7f8141ce" ac:name="status" ac:schema-version="1">
                        <ac:parameter ac:name="colour">Grey</ac:parameter>
                        <ac:parameter ac:name="title">Unstarted</ac:parameter>
                        <ac:parameter ac:name=""/>
                      </ac:structured-macro>
                    </p>
                  </ac:rich-text-body>
                </ac:structured-macro>
                <ac:structured-macro ac:macro-id="5053a7df-450f-4b38-ad46-bad0111b4186" ac:name="list-option" ac:schema-version="1">
                  <ac:parameter ac:name="sortValue">2</ac:parameter>
                  <ac:parameter ac:name="label">In progress</ac:parameter>
                  <ac:parameter ac:name="value">In progress</ac:parameter>
                  <ac:rich-text-body>
                    <p>
                      <ac:structured-macro ac:macro-id="27c86cda-4642-4289-b044-05efd23bcd3f" ac:name="status" ac:schema-version="1">
                        <ac:parameter ac:name="colour">Yellow</ac:parameter>
                        <ac:parameter ac:name="title">In Progress</ac:parameter>
                        <ac:parameter ac:name=""/>
                      </ac:structured-macro>
                    </p>
                  </ac:rich-text-body>
                </ac:structured-macro>
                <ac:structured-macro ac:macro-id="d9124413-7181-4b77-ac38-3e72539eb4d2" ac:name="list-option" ac:schema-version="1">
                  <ac:parameter ac:name="sortValue">3</ac:parameter>
                  <ac:parameter ac:name="label">Awaiting approval</ac:parameter>
                  <ac:parameter ac:name="value">Awaiting approval</ac:parameter>
                  <ac:rich-text-body>
                    <p>
                      <ac:structured-macro ac:macro-id="e8fa6644-a9fe-486e-9973-47d3ba0f1b1f" ac:name="status" ac:schema-version="1">
                        <ac:parameter ac:name="colour">Blue</ac:parameter>
                        <ac:parameter ac:name="title">Awaiting Approval</ac:parameter>
                        <ac:parameter ac:name=""/>
                      </ac:structured-macro>
                    </p>
                  </ac:rich-text-body>
                </ac:structured-macro>
                <ac:structured-macro ac:macro-id="d401ff0b-6e1e-4e8d-85a8-f79c9dc53a79" ac:name="list-option" ac:schema-version="1">
                  <ac:parameter ac:name="sortValue">4</ac:parameter>
                  <ac:parameter ac:name="label">Completed</ac:parameter>
                  <ac:parameter ac:name="value">Completed</ac:parameter>
                  <ac:rich-text-body>
                    <p>
                      <ac:structured-macro ac:macro-id="18c4d013-92c7-4465-99b0-ac373d968a5c" ac:name="status" ac:schema-version="1">
                        <ac:parameter ac:name="colour">Green</ac:parameter>
                        <ac:parameter ac:name="title">Completed</ac:parameter>
                        <ac:parameter ac:name=""/>
                      </ac:structured-macro> </p>
                  </ac:rich-text-body>
                </ac:structured-macro>
              </ac:rich-text-body>
            </ac:structured-macro>
          </p>
        </div>
      </td>
    </tr>
    <tr>
      <th>Project leader</th>
      <td>
        <div class="content-wrapper">
          <p>
            <ac:structured-macro ac:macro-id="721b955c-610a-4a26-997f-18e9da0339fd" ac:name="list-data" ac:schema-version="1">
              <ac:parameter ac:name="name">Project Leader</ac:parameter>
              <ac:parameter ac:name="atlassian-macro-output-type">INLINE</ac:parameter>
              <ac:rich-text-body>
                <ac:structured-macro ac:macro-id="399b7252-b502-4f71-b6ad-9f3c6e3d98a5" ac:name="user-options" ac:schema-version="1">
                  <ac:parameter ac:name="groups">pmd-project-leaders</ac:parameter>
                  <ac:rich-text-body>
                    <p> </p>
                  </ac:rich-text-body>
                </ac:structured-macro>
              </ac:rich-text-body>
            </ac:structured-macro>
          </p>
        </div>
      </td>
    </tr>
    <tr>
      <th>Project members</th>
      <td>
        <div class="content-wrapper">
          <p>
            <ac:structured-macro ac:macro-id="86803746-577d-420f-b6cf-47fa43a0c9ea" ac:name="list-data" ac:schema-version="1">
              <ac:parameter ac:name="multiple">true</ac:parameter>
              <ac:parameter ac:name="name">Project Members</ac:parameter>
              <ac:parameter ac:name="type">auto complete</ac:parameter>
              <ac:parameter ac:name="atlassian-macro-output-type">INLINE</ac:parameter>
              <ac:parameter ac:name="blankText">No members</ac:parameter>
              <ac:rich-text-body>
                <ac:structured-macro ac:macro-id="bb91a8ee-a1cb-41ab-ab06-8c967c7ac7c7" ac:name="user-options" ac:schema-version="1">
                  <ac:parameter ac:name="groups">pmd-project-members</ac:parameter>
                  <ac:rich-text-body>
                    <p> </p>
                  </ac:rich-text-body>
                </ac:structured-macro>
              </ac:rich-text-body>
            </ac:structured-macro>
          </p>
        </div>
      </td>
    </tr>
    <tr>
      <th>Start date</th>
      <td>
        <div class="content-wrapper">
          <p>
            <ac:structured-macro ac:macro-id="b4b0ca7a-ec0c-4d7d-ae2c-58ce87ca0fe9" ac:name="date-data" ac:schema-version="1">
              <ac:parameter ac:name="format">dd MMMM yyyy</ac:parameter>
              <ac:parameter ac:name="name">Project Start Date</ac:parameter>
              <ac:parameter ac:name="atlassian-macro-output-type">INLINE</ac:parameter>
              <ac:plain-text-body><![CDATA[ ]]></ac:plain-text-body>
            </ac:structured-macro>
          </p>
        </div>
      </td>
    </tr>
    <tr>
      <th>End date</th>
      <td>
        <div class="content-wrapper">
          <p>
            <ac:structured-macro ac:macro-id="f6f0a856-87d6-4aff-a616-e446a78d9bea" ac:name="date-data" ac:schema-version="1">
              <ac:parameter ac:name="format">dd MMMM yyyy</ac:parameter>
              <ac:parameter ac:name="name">Project End Date</ac:parameter>
              <ac:parameter ac:name="atlassian-macro-output-type">INLINE</ac:parameter>
              <ac:plain-text-body><![CDATA[ ]]></ac:plain-text-body>
            </ac:structured-macro>
          </p>
        </div>
      </td>
    </tr>
    <tr>
      <th colspan="1">Days left</th>
      <td colspan="1">
        <div class="content-wrapper">
          <p>
            <ac:structured-macro ac:macro-id="e1062e71-f8d0-4427-8882-e44dac773b66" ac:name="report-eval" ac:schema-version="1">
              <ac:parameter ac:name="default">0</ac:parameter>
              <ac:parameter ac:name="hidden">true</ac:parameter>
              <ac:parameter ac:name="format">##,00</ac:parameter>
              <ac:parameter ac:name="atlassian-macro-output-type">INLINE</ac:parameter>
              <ac:parameter ac:name="">Days Left</ac:parameter>
              <ac:plain-text-body><![CDATA[(%data:Project End Date > date:milliseconds% - %global:current date > date:milliseconds%)/1000/60/60/24]]></ac:plain-text-body>
            </ac:structured-macro>
            <ac:structured-macro ac:macro-id="cb311386-9493-44a6-af29-ab7c190ed0c1" ac:name="report-block" ac:schema-version="1">
              <ac:parameter ac:name="atlassian-macro-output-type">INLINE</ac:parameter>
              <ac:rich-text-body>
                <ac:structured-macro ac:macro-id="4e7c657c-0c99-4c95-b343-8f3f58fe4c05" ac:name="local-reporter" ac:schema-version="1">
                  <ac:parameter ac:name="">@self</ac:parameter>
                  <ac:rich-text-body> </ac:rich-text-body>
                </ac:structured-macro>
                <p>
                  <ac:structured-macro ac:macro-id="8381c68f-f058-47c6-839f-2a0f47f460cb" ac:name="number-filter" ac:schema-version="1">
                    <ac:parameter ac:name="aboveValue">0</ac:parameter>
                    <ac:parameter ac:name="">variable:Days Left</ac:parameter>
                  </ac:structured-macro>
                </p>
                <ac:structured-macro ac:macro-id="af877eef-0630-442c-adf7-dc516a17a520" ac:name="report-body" ac:schema-version="1">
                  <ac:parameter ac:name="injected">true</ac:parameter>
                  <ac:rich-text-body>
                    <p>%variable:Days Left &gt; number:#% day(s)</p>
                  </ac:rich-text-body>
                </ac:structured-macro>
                <p>
                  <ac:structured-macro ac:macro-id="20f5798d-143e-41d8-9569-dd0564fd327c" ac:name="number-filter" ac:schema-version="1">
                    <ac:parameter ac:name="belowValue">0</ac:parameter>
                    <ac:parameter ac:name="">variable:Days Left</ac:parameter>
                  </ac:structured-macro>
                </p>
                <ac:structured-macro ac:macro-id="90136fad-3ffa-45ae-bfa9-17fd2df2f8ea" ac:name="report-body" ac:schema-version="1">
                  <ac:rich-text-body>
                    <p>This project has ended</p>
                  </ac:rich-text-body>
                </ac:structured-macro>
              </ac:rich-text-body>
            </ac:structured-macro>
          </p>
        </div>
      </td>
    </tr>
  </tbody>
</table>

 


 

Milestones

To view the full sized image, simply click on the image to expand.


Now let's create a form that tabulates all the related milestones of each subproject, along with the due date and budget.

Insert a table-data macro. Name it Project Milestones and set initial rows to 1.

Within the table-data macro, insert a 10 x 2 table.

Select the Heading Row button so that the table headers are horizontal.

Milestone ID

Name the first column ID, and insert a number-data macro in the second row. 

Milestone name

Name the second column Name, and insert a text-data macro in the second row.

Choose line or area for the type, depending on the length of milestone names.

Due date

Name the third column Due date, and insert a date-data macro in the second row.

Enter dd MMMM yyyy for the Display Format.

Status

Name the fourth column Status, and insert a list-data macro in the second row. Nest it with some list-option macro blocks.

Like the previous section, Project Details, we would like to make a dropdown menu to choose the milestone status.

Again, use the Status macro to customise selection items with colours.

Estimated time

Name the fifth column Estimated time, and insert a number-data block to allow user to input hours estimated to complete a milestone.

Additionally, check Allow Decimal Values if you'd like users to input for example, 2.5 hours.

After the number-data block, type in hours, like this:

Actual time

Name the sixth column Actual time, and insert a number-data block to allow user to input actual hours spent to achieve a milestone.

Additionally, check Allow Decimal Values if you'd like users to input for example, 2.5 hours.

After the number-data block, type in hours, similar to the previous example.

Time Difference

Name the seventh column Time difference, and insert a eval-data block to calculate the difference between actual time and estimated time.

In the eval-data block, type:

${Actual Time}-${Estimated Time}

Note that a prefix is not needed here because eval-data is used strictly for Scaffolding data blocks only.

For more information, visit our documentation.

After the number-data block, type in hours, similar to the previous example.

Budget

Name the eigth column Budget, and insert a number-data block to allow user to input the budget allocated for a particular milestone.

Edit the number-data block, and check Allow Decimal Values and set the Display Format as $#,##0.00.

Expenditure

Name the ninth column Actual expenditure, and insert a number-data block to allow user to input the actual amount spent on a particular milestone.

Edit the number-data block, and check Allow Decimal Values and set the Display Format as $#,##0.00.

Expenditure Difference

Name the last column Expenditure difference, and insert an eval-data block to calculate the difference between actual expenditure and budget allocation.

Edit the eval-data block and set the Display Format as $#,##0.00.

In the eval-data block, type:

${Budget}-${Expenditure}

Total Budget and Expenditure

After the table, we'd like to add two eval-data blocks to calculate the sum of all milestone's budget allocation and actual expenditure, like this:

 

Subproject milestones livetemplate
<h2>Milestones</h2>
<ac:structured-macro ac:macro-id="02300977-32f9-47f8-b823-7bd706ddde57" ac:name="table-data" ac:schema-version="1">
  <ac:parameter ac:name="name">Project Milestones</ac:parameter>
  <ac:parameter ac:name="initialRows">1</ac:parameter>
  <ac:rich-text-body>
    <table class="relative-table wrapped" style="width: 100.0%;">
      <colgroup>
        <col/>
        <col style="width: 16.3506%;"/>
        <col style="width: 16.3506%;"/>
        <col style="width: 18.24%;"/>
        <col style="width: 16.3506%;"/>
        <col style="width: 16.3506%;"/>
        <col style="width: 16.3506%;"/>
        <col/>
        <col/>
        <col/>
      </colgroup>
      <tbody>
        <tr>
          <th colspan="1">ID</th>
          <th>
            <p>Name</p>
          </th>
          <th colspan="1">Due Date</th>
          <th colspan="1">Status</th>
          <th colspan="1">
            <span>Estimated time</span>
          </th>
          <th>Actual time</th>
          <th>Time difference</th>
          <th colspan="1">Budget</th>
          <th colspan="1">Actual expenditure</th>
          <th colspan="1">Expenditure Difference</th>
        </tr>
        <tr>
          <td colspan="1">
            <div class="content-wrapper">
              <p>
                <ac:structured-macro ac:macro-id="48cbccf4-7374-494a-ae3a-6a6ddeaa70ef" ac:name="number-data" ac:schema-version="1">
                  <ac:parameter ac:name="minValue">1</ac:parameter>
                  <ac:parameter ac:name="name">Milestone ID</ac:parameter>
                  <ac:parameter ac:name="atlassian-macro-output-type">INLINE</ac:parameter>
                  <ac:plain-text-body><![CDATA[ ]]></ac:plain-text-body>
                </ac:structured-macro>
              </p>
            </div>
          </td>
          <td colspan="1">
            <div class="content-wrapper">
              <p>
                <ac:structured-macro ac:macro-id="5f5a0300-b130-4e34-a483-f95d8aeca74f" ac:name="text-data" ac:schema-version="1">
                  <ac:parameter ac:name="name">Name</ac:parameter>
                  <ac:parameter ac:name="type">line</ac:parameter>
                  <ac:parameter ac:name="content">text</ac:parameter>
                  <ac:parameter ac:name="atlassian-macro-output-type">INLINE</ac:parameter>
                  <ac:rich-text-body>
                    <p> </p>
                  </ac:rich-text-body>
                </ac:structured-macro>
              </p>
            </div>
          </td>
          <td colspan="1">
            <div class="content-wrapper">
              <p>
                <ac:structured-macro ac:macro-id="0ae3bac1-4a49-4a48-9804-89232ba09483" ac:name="date-data" ac:schema-version="1">
                  <ac:parameter ac:name="format">dd MMMM yyyy</ac:parameter>
                  <ac:parameter ac:name="name">Date</ac:parameter>
                  <ac:parameter ac:name="atlassian-macro-output-type">INLINE</ac:parameter>
                  <ac:plain-text-body><![CDATA[ ]]></ac:plain-text-body>
                </ac:structured-macro>
              </p>
            </div>
          </td>
          <td colspan="1">
            <div class="content-wrapper">
              <p>
                <ac:structured-macro ac:macro-id="b201093c-948b-49d5-94b9-6791ff312376" ac:name="list-data" ac:schema-version="1">
                  <ac:parameter ac:name="name">Status</ac:parameter>
                  <ac:parameter ac:name="atlassian-macro-output-type">INLINE</ac:parameter>
                  <ac:rich-text-body>
                    <ac:structured-macro ac:macro-id="1eb3887e-33ed-4191-b0fd-310c920633b9" ac:name="list-option" ac:schema-version="1">
                      <ac:parameter ac:name="sortValue">1</ac:parameter>
                      <ac:parameter ac:name="label">Unstarted</ac:parameter>
                      <ac:parameter ac:name="value">Unstarted</ac:parameter>
                      <ac:rich-text-body>
                        <p>
                          <ac:structured-macro ac:macro-id="a7a95a35-01f9-44a0-a66e-674bb4a28b08" ac:name="status" ac:schema-version="1">
                            <ac:parameter ac:name="colour">Grey</ac:parameter>
                            <ac:parameter ac:name="title">Unstarted</ac:parameter>
                            <ac:parameter ac:name=""/>
                          </ac:structured-macro>
                        </p>
                      </ac:rich-text-body>
                    </ac:structured-macro>
                    <ac:structured-macro ac:macro-id="18967985-f49f-45e4-bd54-2a0103a7d0e9" ac:name="list-option" ac:schema-version="1">
                      <ac:parameter ac:name="sortValue">2</ac:parameter>
                      <ac:parameter ac:name="label">In progress</ac:parameter>
                      <ac:parameter ac:name="value">In progress</ac:parameter>
                      <ac:rich-text-body>
                        <p> <ac:structured-macro ac:macro-id="d5094294-8d8a-4a40-aa81-1c763c3bc5fb" ac:name="status" ac:schema-version="1">
                            <ac:parameter ac:name="colour">Yellow</ac:parameter>
                            <ac:parameter ac:name="title">In Progress</ac:parameter>
                            <ac:parameter ac:name=""/>
                          </ac:structured-macro>
                        </p>
                      </ac:rich-text-body>
                    </ac:structured-macro>
                    <ac:structured-macro ac:macro-id="88e7dfd5-da14-45c9-9128-b85b7a99f439" ac:name="list-option" ac:schema-version="1">
                      <ac:parameter ac:name="sortValue">3</ac:parameter>
                      <ac:parameter ac:name="label">Awaiting approval</ac:parameter>
                      <ac:parameter ac:name="value">Awaiting approval</ac:parameter>
                      <ac:rich-text-body>
                        <p>
                          <ac:structured-macro ac:macro-id="e9907196-c52b-49c4-b82c-c28df13f1149" ac:name="status" ac:schema-version="1">
                            <ac:parameter ac:name="colour">Blue</ac:parameter>
                            <ac:parameter ac:name="title">Awaiting Approval</ac:parameter>
                            <ac:parameter ac:name=""/>
                          </ac:structured-macro>
                        </p>
                      </ac:rich-text-body>
                    </ac:structured-macro>
                    <ac:structured-macro ac:macro-id="bc457abe-1f19-46ad-9d59-7630f4105588" ac:name="list-option" ac:schema-version="1">
                      <ac:parameter ac:name="sortValue">4</ac:parameter>
                      <ac:parameter ac:name="label">Completed</ac:parameter>
                      <ac:parameter ac:name="value">Completed</ac:parameter>
                      <ac:rich-text-body>
                        <p>
                          <ac:structured-macro ac:macro-id="5a51a925-52ce-4218-b2d4-c1d1de8df594" ac:name="status" ac:schema-version="1">
                            <ac:parameter ac:name="colour">Green</ac:parameter>
                            <ac:parameter ac:name="title">Completed</ac:parameter>
                            <ac:parameter ac:name=""/>
                          </ac:structured-macro> </p>
                      </ac:rich-text-body>
                    </ac:structured-macro>
                  </ac:rich-text-body>
                </ac:structured-macro>
              </p>
            </div>
          </td>
          <td colspan="1">
            <div class="content-wrapper">
              <p>
                <ac:structured-macro ac:macro-id="82c3d400-8d1e-4445-9ba4-ee5b23a1ea5b" ac:name="number-data" ac:schema-version="1">
                  <ac:parameter ac:name="name">Estimated Time</ac:parameter>
                  <ac:parameter ac:name="decimal">true</ac:parameter>
                  <ac:parameter ac:name="atlassian-macro-output-type">INLINE</ac:parameter>
                  <ac:plain-text-body><![CDATA[ ]]></ac:plain-text-body>
                </ac:structured-macro>
              </p>hours<p> </p>
            </div>
          </td>
          <td colspan="1">
            <div class="content-wrapper">
              <p>
                <ac:structured-macro ac:macro-id="2fe01a8b-f277-49c7-ab5f-141034afeaa3" ac:name="number-data" ac:schema-version="1">
                  <ac:parameter ac:name="name">Actual Time</ac:parameter>
                  <ac:parameter ac:name="decimal">true</ac:parameter>
                  <ac:parameter ac:name="atlassian-macro-output-type">INLINE</ac:parameter>
                  <ac:plain-text-body><![CDATA[ ]]></ac:plain-text-body>
                </ac:structured-macro>
              </p>hours<p> </p>
            </div>
          </td>
          <td colspan="1">
            <div class="content-wrapper">
              <p>
                <ac:structured-macro ac:macro-id="9fc6f0c0-2f20-4bea-8a5a-cfab409512ca" ac:name="eval-data" ac:schema-version="1">
                  <ac:parameter ac:name="name">Time Difference</ac:parameter>
                  <ac:parameter ac:name="atlassian-macro-output-type">INLINE</ac:parameter>
                  <ac:plain-text-body><![CDATA[${Actual Time}-${Estimated Time}]]></ac:plain-text-body>
                </ac:structured-macro>
              </p>hours<p> </p>
            </div>
          </td>
          <td colspan="1">
            <div class="content-wrapper">
              <p>
                <ac:structured-macro ac:macro-id="54c0e6a7-d281-47ff-a44d-ed2e032f65f9" ac:name="number-data" ac:schema-version="1">
                  <ac:parameter ac:name="format">$#,##0.00</ac:parameter>
                  <ac:parameter ac:name="name">Budget</ac:parameter>
                  <ac:parameter ac:name="decimal">true</ac:parameter>
                  <ac:parameter ac:name="atlassian-macro-output-type">INLINE</ac:parameter>
                  <ac:plain-text-body><![CDATA[ ]]></ac:plain-text-body>
                </ac:structured-macro>
              </p>
            </div>
          </td>
          <td colspan="1">
            <div class="content-wrapper">
              <p>
                <ac:structured-macro ac:macro-id="3d11761c-2359-4943-96c0-01d71b87799f" ac:name="number-data" ac:schema-version="1">
                  <ac:parameter ac:name="format">$#,##0.00</ac:parameter>
                  <ac:parameter ac:name="name">Expenditure</ac:parameter>
                  <ac:parameter ac:name="decimal">true</ac:parameter>
                  <ac:parameter ac:name="atlassian-macro-output-type">INLINE</ac:parameter>
                  <ac:plain-text-body><![CDATA[ ]]></ac:plain-text-body>
                </ac:structured-macro>
              </p>
            </div>
          </td>
          <td colspan="1">
            <div class="content-wrapper">
              <p>
                <ac:structured-macro ac:macro-id="ed54b449-0c4c-4af8-8737-c2ee61253e53" ac:name="eval-data" ac:schema-version="1">
                  <ac:parameter ac:name="format">$#,##0.00</ac:parameter>
                  <ac:parameter ac:name="name">Project Budget Difference</ac:parameter>
                  <ac:parameter ac:name="atlassian-macro-output-type">INLINE</ac:parameter>
                  <ac:plain-text-body><![CDATA[${Budget}-${Expenditure}]]></ac:plain-text-body>
                </ac:structured-macro>
              </p>
            </div>
          </td>
        </tr>
      </tbody>
    </table>
  </ac:rich-text-body>
</ac:structured-macro>
<p> </p>
<h4>Total budget:</h4>
<p>
  <ac:structured-macro ac:macro-id="18443199-58ab-489d-8f6f-a4506f180a11" ac:name="eval-data" ac:schema-version="1">
    <ac:parameter ac:name="format">$#,##0.00</ac:parameter>
    <ac:parameter ac:name="name">Budget Total</ac:parameter>
    <ac:parameter ac:name="atlassian-macro-output-type">INLINE</ac:parameter>
    <ac:plain-text-body><![CDATA[sumtable("Project Milestones", "Budget")]]></ac:plain-text-body>
  </ac:structured-macro>
</p>
<h4>Total expenditure:</h4>
<p>
  <ac:structured-macro ac:macro-id="2a409a81-f48d-4406-bce3-1991cd3f72cb" ac:name="eval-data" ac:schema-version="1">
    <ac:parameter ac:name="format">$#,##0.00</ac:parameter>
    <ac:parameter ac:name="name">Expenditure Total</ac:parameter>
    <ac:parameter ac:name="atlassian-macro-output-type">INLINE</ac:parameter>
    <ac:plain-text-body><![CDATA[sumtable("Project Milestones", "Expenditure")]]></ac:plain-text-body>
  </ac:structured-macro>
</p> 

 


 

Notes

Next, create a Notes section for extra notes related to the project, or other details that are not captured in the Milestones section.

The hidden-data block shows a message when user has not added any notes in the text-data block (Optional). 

Remember to state the name of the macro block for the condition to be based in hidden-data.

In this case, we set the name of our text-data block as Project Notes, so the condition for hidden-data is when Project Notes is not empty, hide this message.

 

Subproject notes livetemplate
<h2>Notes</h2>
<p>
  <ac:structured-macro ac:macro-id="2abf2f98-7d7f-458b-bf5b-a327eea9e277" ac:name="hidden-data" ac:schema-version="1">
    <ac:parameter ac:name="whenNotEmpty">Project Notes</ac:parameter>
    <ac:parameter ac:name="atlassian-macro-output-type">INLINE</ac:parameter>
    <ac:rich-text-body>
      <p>
        <em>No notes for this project.</em>
      </p>
    </ac:rich-text-body>
  </ac:structured-macro>
  <ac:structured-macro ac:macro-id="b557f535-98ad-44cc-92f7-8b6a73a2f45c" ac:name="text-data" ac:schema-version="1">
    <ac:parameter ac:name="name">Project Notes</ac:parameter>
    <ac:parameter ac:name="atlassian-macro-output-type">INLINE</ac:parameter>
    <ac:rich-text-body>
      <p> </p>
    </ac:rich-text-body>
  </ac:structured-macro> </p> 

 

Related Documents

This section is useful when documents like invoices, quotations are related to a particular subproject. attachment-data block allows users to quickly upload subproject related documents and find them easily in the future.

Similar to the Notes section, we will have a hidden-data block that shows a message when there are no attachments in this section. 

Insert a hidden-data block and set When Has Rows to Related Documents.

Now insert a table-data block and call it Related Documents.

In the table-data block, insert 2 x 2 table. Select the Heading Row button so that the table headers are horizontal.

Name the first column Attachment and insert an attachment-data macro in the second row.

Name the second column Description and insert a text-data macro in the second row. 

Edit the text-data macro, and choose either line or area for the type, depending on the length of attachment descriptions.

 

Subproject documents livetemplate
<h2>Related Documents</h2>
<p>
  <ac:structured-macro ac:macro-id="1e600d57-9846-477e-aa4c-bef1be9a22d8" ac:name="hidden-data" ac:schema-version="1">
    <ac:parameter ac:name="whenHasRows">Related Documents</ac:parameter>
    <ac:parameter ac:name="atlassian-macro-output-type">INLINE</ac:parameter>
    <ac:rich-text-body>
      <p>
        <em>No attachments for this project.</em>
      </p>
    </ac:rich-text-body>
  </ac:structured-macro>
</p>
<ac:structured-macro ac:macro-id="f1d4bf0a-ae16-49a2-bc24-a47510f27cb7" ac:name="table-data" ac:schema-version="1">
  <ac:parameter ac:name="name">Related Documents</ac:parameter>
  <ac:parameter ac:name="initialRows">1</ac:parameter>
  <ac:rich-text-body>
    <table class="wrapped relative-table" style="width: 45.7411%;">
      <colgroup>
        <col style="width: 59.0164%;"/>
        <col style="width: 40.9836%;"/>
      </colgroup>
      <tbody>
        <tr>
          <th>Attachment</th>
          <th>Description</th>
        </tr>
        <tr>
          <td>
            <div class="content-wrapper">
              <p>
                <ac:structured-macro ac:macro-id="24bd0a56-44c1-4de5-bd36-17766e801014" ac:name="attachment-data" ac:schema-version="1">
                  <ac:parameter ac:name="include">.*png</ac:parameter>
                  <ac:parameter ac:name="name">Attachment</ac:parameter>
                </ac:structured-macro>
              </p>
            </div>
          </td>
          <td>
            <div class="content-wrapper">
              <p>
                <ac:structured-macro ac:macro-id="c39a80f7-702f-4543-8760-3cf339374ed5" ac:name="text-data" ac:schema-version="1">
                  <ac:parameter ac:name="name">Attachment description</ac:parameter>
                  <ac:parameter ac:name="type">line</ac:parameter>
                  <ac:parameter ac:name="content">text</ac:parameter>
                  <ac:parameter ac:name="atlassian-macro-output-type">INLINE</ac:parameter>
                  <ac:rich-text-body>
                    <p> </p>
                  </ac:rich-text-body>
                </ac:structured-macro>
              </p>
            </div>
          </td>
        </tr>
      </tbody>
    </table>
  </ac:rich-text-body>
</ac:structured-macro> 

 


 

Full Source

Subproject livetemplate
<table class="relative-table wrapped" style="width: 37.7372%;">
  <colgroup> <col style="width: 36.1757%;"/> <col style="width: 63.5228%;"/> </colgroup>
  <tbody>
    <tr>
      <th>Title of project</th>
      <td>
        <div class="content-wrapper">
          <p>
            <ac:structured-macro ac:macro-id="1eb06ca4-9a7f-4946-9c72-6f493f8f7f8f" ac:name="report-info" ac:schema-version="1">
              <ac:parameter ac:name="">content:title</ac:parameter>
            </ac:structured-macro>
          </p>
        </div>
      </td>
    </tr>
    <tr>
      <th colspan="1">Project type</th>
      <td colspan="1">
        <div class="content-wrapper">
          <p>
            <ac:structured-macro ac:macro-id="06461ea1-55c1-4dad-bbc0-bb49b59e26b4" ac:name="list-data" ac:schema-version="1">
              <ac:parameter ac:name="name">Project Type</ac:parameter>
              <ac:parameter ac:name="atlassian-macro-output-type">INLINE</ac:parameter>
              <ac:rich-text-body>
                <ac:structured-macro ac:macro-id="95e3e9b0-111c-49a3-9b38-c82e97e2afc7" ac:name="list-option" ac:schema-version="1">
                  <ac:parameter ac:name="sortValue">1</ac:parameter>
                  <ac:parameter ac:name="label">Equipment</ac:parameter>
                  <ac:parameter ac:name="value">Equipment</ac:parameter>
                  <ac:rich-text-body>
                    <p> Equipment</p>
                  </ac:rich-text-body>
                </ac:structured-macro>
                <ac:structured-macro ac:macro-id="27e84db2-015a-41e9-9513-360260d38343" ac:name="list-option" ac:schema-version="1">
                  <ac:parameter ac:name="sortValue">2</ac:parameter>
                  <ac:parameter ac:name="label">Human Resources</ac:parameter>
                  <ac:parameter ac:name="value">Human Resources</ac:parameter>
                  <ac:rich-text-body>
                    <p>Human Resources</p>
                  </ac:rich-text-body>
                </ac:structured-macro>
                <ac:structured-macro ac:macro-id="eebd563b-e845-4f89-a08b-773e9fb1bdd4" ac:name="list-option" ac:schema-version="1">
                  <ac:parameter ac:name="sortValue">3</ac:parameter>
                  <ac:parameter ac:name="label">Marketing</ac:parameter>
                  <ac:parameter ac:name="value">Marketing</ac:parameter>
                  <ac:rich-text-body>
                    <p>Marketing</p>
                  </ac:rich-text-body>
                </ac:structured-macro>
                <ac:structured-macro ac:macro-id="04eeed5f-dfef-492b-bbe4-ffec0ee09d94" ac:name="list-option" ac:schema-version="1">
                  <ac:parameter ac:name="sortValue">4</ac:parameter>
                  <ac:parameter ac:name="label">Software</ac:parameter>
                  <ac:parameter ac:name="value">Software</ac:parameter>
                  <ac:rich-text-body>
                    <p>Software</p>
                  </ac:rich-text-body>
                </ac:structured-macro>
                <ac:structured-macro ac:macro-id="3b4806a9-6e50-4d52-9393-91d79b922e15" ac:name="list-option" ac:schema-version="1">
                  <ac:parameter ac:name="sortValue">5</ac:parameter>
                  <ac:parameter ac:name="label">Others</ac:parameter>
                  <ac:parameter ac:name="value">Others</ac:parameter>
                  <ac:rich-text-body>
                    <p>Others</p>
                  </ac:rich-text-body>
                </ac:structured-macro>
              </ac:rich-text-body>
            </ac:structured-macro>
          </p>
        </div>
      </td>
    </tr>
    <tr>
      <th colspan="1">Project status</th>
      <td colspan="1">
        <div class="content-wrapper">
          <p>
            <ac:structured-macro ac:macro-id="7b9af378-8611-4bc1-86df-a576367a655b" ac:name="list-data" ac:schema-version="1">
              <ac:parameter ac:name="name">Project Status</ac:parameter>
              <ac:parameter ac:name="atlassian-macro-output-type">INLINE</ac:parameter>
              <ac:rich-text-body>
                <ac:structured-macro ac:macro-id="bc5aef71-f6de-4cf3-8099-86feccbbea00" ac:name="list-option" ac:schema-version="1">
                  <ac:parameter ac:name="sortValue">1</ac:parameter>
                  <ac:parameter ac:name="label">Unstarted</ac:parameter>
                  <ac:parameter ac:name="value">Unstarted</ac:parameter>
                  <ac:rich-text-body>
                    <p>
                      <ac:structured-macro ac:macro-id="1dc308a4-d0b0-4611-a03a-87fa7f8141ce" ac:name="status" ac:schema-version="1">
                        <ac:parameter ac:name="colour">Grey</ac:parameter>
                        <ac:parameter ac:name="title">Unstarted</ac:parameter>
                        <ac:parameter ac:name=""/>
                      </ac:structured-macro>
                    </p>
                  </ac:rich-text-body>
                </ac:structured-macro>
                <ac:structured-macro ac:macro-id="5053a7df-450f-4b38-ad46-bad0111b4186" ac:name="list-option" ac:schema-version="1">
                  <ac:parameter ac:name="sortValue">2</ac:parameter>
                  <ac:parameter ac:name="label">In progress</ac:parameter>
                  <ac:parameter ac:name="value">In progress</ac:parameter>
                  <ac:rich-text-body>
                    <p>
                      <ac:structured-macro ac:macro-id="27c86cda-4642-4289-b044-05efd23bcd3f" ac:name="status" ac:schema-version="1">
                        <ac:parameter ac:name="colour">Yellow</ac:parameter>
                        <ac:parameter ac:name="title">In Progress</ac:parameter>
                        <ac:parameter ac:name=""/>
                      </ac:structured-macro>
                    </p>
                  </ac:rich-text-body>
                </ac:structured-macro>
                <ac:structured-macro ac:macro-id="d9124413-7181-4b77-ac38-3e72539eb4d2" ac:name="list-option" ac:schema-version="1">
                  <ac:parameter ac:name="sortValue">3</ac:parameter>
                  <ac:parameter ac:name="label">Awaiting approval</ac:parameter>
                  <ac:parameter ac:name="value">Awaiting approval</ac:parameter>
                  <ac:rich-text-body>
                    <p>
                      <ac:structured-macro ac:macro-id="e8fa6644-a9fe-486e-9973-47d3ba0f1b1f" ac:name="status" ac:schema-version="1">
                        <ac:parameter ac:name="colour">Blue</ac:parameter>
                        <ac:parameter ac:name="title">Awaiting Approval</ac:parameter>
                        <ac:parameter ac:name=""/>
                      </ac:structured-macro>
                    </p>
                  </ac:rich-text-body>
                </ac:structured-macro>
                <ac:structured-macro ac:macro-id="d401ff0b-6e1e-4e8d-85a8-f79c9dc53a79" ac:name="list-option" ac:schema-version="1">
                  <ac:parameter ac:name="sortValue">4</ac:parameter>
                  <ac:parameter ac:name="label">Completed</ac:parameter>
                  <ac:parameter ac:name="value">Completed</ac:parameter>
                  <ac:rich-text-body>
                    <p>
                      <ac:structured-macro ac:macro-id="18c4d013-92c7-4465-99b0-ac373d968a5c" ac:name="status" ac:schema-version="1">
                        <ac:parameter ac:name="colour">Green</ac:parameter>
                        <ac:parameter ac:name="title">Completed</ac:parameter>
                        <ac:parameter ac:name=""/>
                      </ac:structured-macro> </p>
                  </ac:rich-text-body>
                </ac:structured-macro>
              </ac:rich-text-body>
            </ac:structured-macro>
          </p>
        </div>
      </td>
    </tr>
    <tr>
      <th>Project leader</th>
      <td>
        <div class="content-wrapper">
          <p>
            <ac:structured-macro ac:macro-id="721b955c-610a-4a26-997f-18e9da0339fd" ac:name="list-data" ac:schema-version="1">
              <ac:parameter ac:name="name">Project Leader</ac:parameter>
              <ac:parameter ac:name="atlassian-macro-output-type">INLINE</ac:parameter>
              <ac:rich-text-body>
                <ac:structured-macro ac:macro-id="399b7252-b502-4f71-b6ad-9f3c6e3d98a5" ac:name="user-options" ac:schema-version="1">
                  <ac:parameter ac:name="groups">pmd-project-leaders</ac:parameter>
                  <ac:rich-text-body>
                    <p> </p>
                  </ac:rich-text-body>
                </ac:structured-macro>
              </ac:rich-text-body>
            </ac:structured-macro>
          </p>
        </div>
      </td>
    </tr>
    <tr>
      <th>Project members</th>
      <td>
        <div class="content-wrapper">
          <p>
            <ac:structured-macro ac:macro-id="86803746-577d-420f-b6cf-47fa43a0c9ea" ac:name="list-data" ac:schema-version="1">
              <ac:parameter ac:name="multiple">true</ac:parameter>
              <ac:parameter ac:name="name">Project Members</ac:parameter>
              <ac:parameter ac:name="type">auto complete</ac:parameter>
              <ac:parameter ac:name="atlassian-macro-output-type">INLINE</ac:parameter>
              <ac:parameter ac:name="blankText">No members</ac:parameter>
              <ac:rich-text-body>
                <ac:structured-macro ac:macro-id="bb91a8ee-a1cb-41ab-ab06-8c967c7ac7c7" ac:name="user-options" ac:schema-version="1">
                  <ac:parameter ac:name="groups">pmd-project-members</ac:parameter>
                  <ac:rich-text-body>
                    <p> </p>
                  </ac:rich-text-body>
                </ac:structured-macro>
              </ac:rich-text-body>
            </ac:structured-macro>
          </p>
        </div>
      </td>
    </tr>
    <tr>
      <th>Start date</th>
      <td>
        <div class="content-wrapper">
          <p>
            <ac:structured-macro ac:macro-id="b4b0ca7a-ec0c-4d7d-ae2c-58ce87ca0fe9" ac:name="date-data" ac:schema-version="1">
              <ac:parameter ac:name="format">dd MMMM yyyy</ac:parameter>
              <ac:parameter ac:name="name">Project Start Date</ac:parameter>
              <ac:parameter ac:name="atlassian-macro-output-type">INLINE</ac:parameter>
              <ac:plain-text-body><![CDATA[ ]]></ac:plain-text-body>
            </ac:structured-macro>
          </p>
        </div>
      </td>
    </tr>
    <tr>
      <th>End date</th>
      <td>
        <div class="content-wrapper">
          <p>
            <ac:structured-macro ac:macro-id="f6f0a856-87d6-4aff-a616-e446a78d9bea" ac:name="date-data" ac:schema-version="1">
              <ac:parameter ac:name="format">dd MMMM yyyy</ac:parameter>
              <ac:parameter ac:name="name">Project End Date</ac:parameter>
              <ac:parameter ac:name="atlassian-macro-output-type">INLINE</ac:parameter>
              <ac:plain-text-body><![CDATA[ ]]></ac:plain-text-body>
            </ac:structured-macro>
          </p>
        </div>
      </td>
    </tr>
    <tr>
      <th colspan="1">Days left</th>
      <td colspan="1">
        <div class="content-wrapper">
          <p>
            <ac:structured-macro ac:macro-id="e1062e71-f8d0-4427-8882-e44dac773b66" ac:name="report-eval" ac:schema-version="1">
              <ac:parameter ac:name="default">0</ac:parameter>
              <ac:parameter ac:name="hidden">true</ac:parameter>
              <ac:parameter ac:name="format">##,00</ac:parameter>
              <ac:parameter ac:name="atlassian-macro-output-type">INLINE</ac:parameter>
              <ac:parameter ac:name="">Days Left</ac:parameter>
              <ac:plain-text-body><![CDATA[(%data:Project End Date > date:milliseconds% - %global:current date > date:milliseconds%)/1000/60/60/24]]></ac:plain-text-body>
            </ac:structured-macro>
            <ac:structured-macro ac:macro-id="cb311386-9493-44a6-af29-ab7c190ed0c1" ac:name="report-block" ac:schema-version="1">
              <ac:parameter ac:name="atlassian-macro-output-type">INLINE</ac:parameter>
              <ac:rich-text-body>
                <ac:structured-macro ac:macro-id="4e7c657c-0c99-4c95-b343-8f3f58fe4c05" ac:name="local-reporter" ac:schema-version="1">
                  <ac:parameter ac:name="">@self</ac:parameter>
                  <ac:rich-text-body> </ac:rich-text-body>
                </ac:structured-macro>
                <p>
                  <ac:structured-macro ac:macro-id="8381c68f-f058-47c6-839f-2a0f47f460cb" ac:name="number-filter" ac:schema-version="1">
                    <ac:parameter ac:name="aboveValue">0</ac:parameter>
                    <ac:parameter ac:name="">variable:Days Left</ac:parameter>
                  </ac:structured-macro>
                </p>
                <ac:structured-macro ac:macro-id="af877eef-0630-442c-adf7-dc516a17a520" ac:name="report-body" ac:schema-version="1">
                  <ac:parameter ac:name="injected">true</ac:parameter>
                  <ac:rich-text-body>
                    <p>%variable:Days Left &gt; number:#% day(s)</p>
                  </ac:rich-text-body>
                </ac:structured-macro>
                <p>
                  <ac:structured-macro ac:macro-id="20f5798d-143e-41d8-9569-dd0564fd327c" ac:name="number-filter" ac:schema-version="1">
                    <ac:parameter ac:name="belowValue">0</ac:parameter>
                    <ac:parameter ac:name="">variable:Days Left</ac:parameter>
                  </ac:structured-macro>
                </p>
                <ac:structured-macro ac:macro-id="90136fad-3ffa-45ae-bfa9-17fd2df2f8ea" ac:name="report-body" ac:schema-version="1">
                  <ac:rich-text-body>
                    <p>This project has ended</p>
                  </ac:rich-text-body>
                </ac:structured-macro>
              </ac:rich-text-body>
            </ac:structured-macro>
          </p>
        </div>
      </td>
    </tr>
  </tbody>
</table>
<h2>Milestones</h2>
<ac:structured-macro ac:macro-id="02300977-32f9-47f8-b823-7bd706ddde57" ac:name="table-data" ac:schema-version="1">
  <ac:parameter ac:name="name">Project Milestones</ac:parameter>
  <ac:parameter ac:name="initialRows">1</ac:parameter>
  <ac:rich-text-body>
    <table class="relative-table wrapped" style="width: 100.0%;">
      <colgroup> <col/> <col style="width: 16.3506%;"/> <col style="width: 16.3506%;"/> <col style="width: 18.24%;"/> <col style="width: 16.3506%;"/> <col style="width: 16.3506%;"/> <col style="width: 16.3506%;"/> <col/> <col/> <col/> </colgroup>
      <tbody>
        <tr>
          <th colspan="1">ID</th>
          <th>
            <p>Name</p>
          </th>
          <th colspan="1">Due Date</th>
          <th colspan="1">Status</th>
          <th colspan="1">
            <span>Estimated time</span>
          </th>
          <th>Actual time</th>
          <th>Time difference</th>
          <th colspan="1">Budget</th>
          <th colspan="1">Actual expenditure</th>
          <th colspan="1">Expenditure Difference</th>
        </tr>
        <tr>
          <td colspan="1">
            <div class="content-wrapper">
              <p>
                <ac:structured-macro ac:macro-id="48cbccf4-7374-494a-ae3a-6a6ddeaa70ef" ac:name="number-data" ac:schema-version="1">
                  <ac:parameter ac:name="minValue">1</ac:parameter>
                  <ac:parameter ac:name="name">Milestone ID</ac:parameter>
                  <ac:parameter ac:name="atlassian-macro-output-type">INLINE</ac:parameter>
                  <ac:plain-text-body><![CDATA[ ]]></ac:plain-text-body>
                </ac:structured-macro>
              </p>
            </div>
          </td>
          <td colspan="1">
            <div class="content-wrapper">
              <p>
                <ac:structured-macro ac:macro-id="5f5a0300-b130-4e34-a483-f95d8aeca74f" ac:name="text-data" ac:schema-version="1">
                  <ac:parameter ac:name="name">Name</ac:parameter>
                  <ac:parameter ac:name="type">line</ac:parameter>
                  <ac:parameter ac:name="content">text</ac:parameter>
                  <ac:parameter ac:name="atlassian-macro-output-type">INLINE</ac:parameter>
                  <ac:rich-text-body>
                    <p> </p>
                  </ac:rich-text-body>
                </ac:structured-macro>
              </p>
            </div>
          </td>
          <td colspan="1">
            <div class="content-wrapper">
              <p>
                <ac:structured-macro ac:macro-id="0ae3bac1-4a49-4a48-9804-89232ba09483" ac:name="date-data" ac:schema-version="1">
                  <ac:parameter ac:name="format">dd MMMM yyyy</ac:parameter>
                  <ac:parameter ac:name="name">Date</ac:parameter>
                  <ac:parameter ac:name="atlassian-macro-output-type">INLINE</ac:parameter>
                  <ac:plain-text-body><![CDATA[ ]]></ac:plain-text-body>
                </ac:structured-macro>
              </p>
            </div>
          </td>
          <td colspan="1">
            <div class="content-wrapper">
              <p>
                <ac:structured-macro ac:macro-id="b201093c-948b-49d5-94b9-6791ff312376" ac:name="list-data" ac:schema-version="1">
                  <ac:parameter ac:name="name">Status</ac:parameter>
                  <ac:parameter ac:name="atlassian-macro-output-type">INLINE</ac:parameter>
                  <ac:rich-text-body>
                    <ac:structured-macro ac:macro-id="1eb3887e-33ed-4191-b0fd-310c920633b9" ac:name="list-option" ac:schema-version="1">
                      <ac:parameter ac:name="sortValue">1</ac:parameter>
                      <ac:parameter ac:name="label">Unstarted</ac:parameter>
                      <ac:parameter ac:name="value">Unstarted</ac:parameter>
                      <ac:rich-text-body>
                        <p>
                          <ac:structured-macro ac:macro-id="a7a95a35-01f9-44a0-a66e-674bb4a28b08" ac:name="status" ac:schema-version="1">
                            <ac:parameter ac:name="colour">Grey</ac:parameter>
                            <ac:parameter ac:name="title">Unstarted</ac:parameter>
                            <ac:parameter ac:name=""/>
                          </ac:structured-macro>
                        </p>
                      </ac:rich-text-body>
                    </ac:structured-macro>
                    <ac:structured-macro ac:macro-id="18967985-f49f-45e4-bd54-2a0103a7d0e9" ac:name="list-option" ac:schema-version="1">
                      <ac:parameter ac:name="sortValue">2</ac:parameter>
                      <ac:parameter ac:name="label">In progress</ac:parameter>
                      <ac:parameter ac:name="value">In progress</ac:parameter>
                      <ac:rich-text-body>
                        <p> <ac:structured-macro ac:macro-id="d5094294-8d8a-4a40-aa81-1c763c3bc5fb" ac:name="status" ac:schema-version="1">
                            <ac:parameter ac:name="colour">Yellow</ac:parameter>
                            <ac:parameter ac:name="title">In Progress</ac:parameter>
                            <ac:parameter ac:name=""/>
                          </ac:structured-macro>
                        </p>
                      </ac:rich-text-body>
                    </ac:structured-macro>
                    <ac:structured-macro ac:macro-id="88e7dfd5-da14-45c9-9128-b85b7a99f439" ac:name="list-option" ac:schema-version="1">
                      <ac:parameter ac:name="sortValue">3</ac:parameter>
                      <ac:parameter ac:name="label">Awaiting approval</ac:parameter>
                      <ac:parameter ac:name="value">Awaiting approval</ac:parameter>
                      <ac:rich-text-body>
                        <p>
                          <ac:structured-macro ac:macro-id="e9907196-c52b-49c4-b82c-c28df13f1149" ac:name="status" ac:schema-version="1">
                            <ac:parameter ac:name="colour">Blue</ac:parameter>
                            <ac:parameter ac:name="title">Awaiting Approval</ac:parameter>
                            <ac:parameter ac:name=""/>
                          </ac:structured-macro>
                        </p>
                      </ac:rich-text-body>
                    </ac:structured-macro>
                    <ac:structured-macro ac:macro-id="bc457abe-1f19-46ad-9d59-7630f4105588" ac:name="list-option" ac:schema-version="1">
                      <ac:parameter ac:name="sortValue">4</ac:parameter>
                      <ac:parameter ac:name="label">Completed</ac:parameter>
                      <ac:parameter ac:name="value">Completed</ac:parameter>
                      <ac:rich-text-body>
                        <p>
                          <ac:structured-macro ac:macro-id="5a51a925-52ce-4218-b2d4-c1d1de8df594" ac:name="status" ac:schema-version="1">
                            <ac:parameter ac:name="colour">Green</ac:parameter>
                            <ac:parameter ac:name="title">Completed</ac:parameter>
                            <ac:parameter ac:name=""/>
                          </ac:structured-macro> </p>
                      </ac:rich-text-body>
                    </ac:structured-macro>
                  </ac:rich-text-body>
                </ac:structured-macro>
              </p>
            </div>
          </td>
          <td colspan="1">
            <div class="content-wrapper">
              <p>
                <ac:structured-macro ac:macro-id="82c3d400-8d1e-4445-9ba4-ee5b23a1ea5b" ac:name="number-data" ac:schema-version="1">
                  <ac:parameter ac:name="name">Estimated Time</ac:parameter>
                  <ac:parameter ac:name="decimal">true</ac:parameter>
                  <ac:parameter ac:name="atlassian-macro-output-type">INLINE</ac:parameter>
                  <ac:plain-text-body><![CDATA[ ]]></ac:plain-text-body>
                </ac:structured-macro>
              </p>hours<p> </p>
            </div>
          </td>
          <td colspan="1">
            <div class="content-wrapper">
              <p>
                <ac:structured-macro ac:macro-id="2fe01a8b-f277-49c7-ab5f-141034afeaa3" ac:name="number-data" ac:schema-version="1">
                  <ac:parameter ac:name="name">Actual Time</ac:parameter>
                  <ac:parameter ac:name="decimal">true</ac:parameter>
                  <ac:parameter ac:name="atlassian-macro-output-type">INLINE</ac:parameter>
                  <ac:plain-text-body><![CDATA[ ]]></ac:plain-text-body>
                </ac:structured-macro>
              </p>hours<p> </p>
            </div>
          </td>
          <td colspan="1">
            <div class="content-wrapper">
              <p>
                <ac:structured-macro ac:macro-id="9fc6f0c0-2f20-4bea-8a5a-cfab409512ca" ac:name="eval-data" ac:schema-version="1">
                  <ac:parameter ac:name="name">Time Difference</ac:parameter>
                  <ac:parameter ac:name="atlassian-macro-output-type">INLINE</ac:parameter>
                  <ac:plain-text-body><![CDATA[${Actual Time}-${Estimated Time}]]></ac:plain-text-body>
                </ac:structured-macro>
              </p>hours<p> </p>
            </div>
          </td>
          <td colspan="1">
            <div class="content-wrapper">
              <p>
                <ac:structured-macro ac:macro-id="54c0e6a7-d281-47ff-a44d-ed2e032f65f9" ac:name="number-data" ac:schema-version="1">
                  <ac:parameter ac:name="format">$#,##0.00</ac:parameter>
                  <ac:parameter ac:name="name">Budget</ac:parameter>
                  <ac:parameter ac:name="decimal">true</ac:parameter>
                  <ac:parameter ac:name="atlassian-macro-output-type">INLINE</ac:parameter>
                  <ac:plain-text-body><![CDATA[ ]]></ac:plain-text-body>
                </ac:structured-macro>
              </p>
            </div>
          </td>
          <td colspan="1">
            <div class="content-wrapper">
              <p>
                <ac:structured-macro ac:macro-id="3d11761c-2359-4943-96c0-01d71b87799f" ac:name="number-data" ac:schema-version="1">
                  <ac:parameter ac:name="format">$#,##0.00</ac:parameter>
                  <ac:parameter ac:name="name">Expenditure</ac:parameter>
                  <ac:parameter ac:name="decimal">true</ac:parameter>
                  <ac:parameter ac:name="atlassian-macro-output-type">INLINE</ac:parameter>
                  <ac:plain-text-body><![CDATA[ ]]></ac:plain-text-body>
                </ac:structured-macro>
              </p>
            </div>
          </td>
          <td colspan="1">
            <div class="content-wrapper">
              <p>
                <ac:structured-macro ac:macro-id="fc9f1db6-24fe-4074-8670-0f5c082c1381" ac:name="eval-data" ac:schema-version="1">
                  <ac:parameter ac:name="format">$#,##0.00</ac:parameter>
                  <ac:parameter ac:name="name">Project Budget Difference</ac:parameter>
                  <ac:parameter ac:name="atlassian-macro-output-type">INLINE</ac:parameter>
                  <ac:plain-text-body><![CDATA[${Budget}-${Expenditure}]]></ac:plain-text-body>
                </ac:structured-macro>
              </p>
            </div>
          </td>
        </tr>
      </tbody>
    </table>
  </ac:rich-text-body>
</ac:structured-macro>
<p> </p>
<h4>Total budget:</h4>
<p>
  <ac:structured-macro ac:macro-id="18443199-58ab-489d-8f6f-a4506f180a11" ac:name="eval-data" ac:schema-version="1">
    <ac:parameter ac:name="format">$#,##0.00</ac:parameter>
    <ac:parameter ac:name="name">Budget Total</ac:parameter>
    <ac:parameter ac:name="atlassian-macro-output-type">INLINE</ac:parameter>
    <ac:plain-text-body><![CDATA[sumtable("Project Milestones", "Budget")]]></ac:plain-text-body>
  </ac:structured-macro>
</p>
<h4>Total expenditure:</h4>
<p>
  <ac:structured-macro ac:macro-id="2a409a81-f48d-4406-bce3-1991cd3f72cb" ac:name="eval-data" ac:schema-version="1">
    <ac:parameter ac:name="format">$#,##0.00</ac:parameter>
    <ac:parameter ac:name="name">Expenditure Total</ac:parameter>
    <ac:parameter ac:name="atlassian-macro-output-type">INLINE</ac:parameter>
    <ac:plain-text-body><![CDATA[sumtable("Project Milestones", "Expenditure")]]></ac:plain-text-body>
  </ac:structured-macro>
</p>
<h2>Notes</h2>
<p>
  <ac:structured-macro ac:macro-id="2abf2f98-7d7f-458b-bf5b-a327eea9e277" ac:name="hidden-data" ac:schema-version="1">
    <ac:parameter ac:name="whenNotEmpty">Project Notes</ac:parameter>
    <ac:parameter ac:name="atlassian-macro-output-type">INLINE</ac:parameter>
    <ac:rich-text-body>
      <p>
        <em>No notes for this project.</em>
      </p>
    </ac:rich-text-body>
  </ac:structured-macro>
  <ac:structured-macro ac:macro-id="b557f535-98ad-44cc-92f7-8b6a73a2f45c" ac:name="text-data" ac:schema-version="1">
    <ac:parameter ac:name="name">Project Notes</ac:parameter>
    <ac:parameter ac:name="atlassian-macro-output-type">INLINE</ac:parameter>
    <ac:rich-text-body>
      <p> </p>
    </ac:rich-text-body>
  </ac:structured-macro> </p>
<h2>Related Documents</h2>
<p>
  <ac:structured-macro ac:macro-id="1e600d57-9846-477e-aa4c-bef1be9a22d8" ac:name="hidden-data" ac:schema-version="1">
    <ac:parameter ac:name="whenHasRows">Related Documents</ac:parameter>
    <ac:parameter ac:name="atlassian-macro-output-type">INLINE</ac:parameter>
    <ac:rich-text-body>
      <p>
        <em>No attachments for this project.</em>
      </p>
    </ac:rich-text-body>
  </ac:structured-macro>
</p>
<ac:structured-macro ac:macro-id="f1d4bf0a-ae16-49a2-bc24-a47510f27cb7" ac:name="table-data" ac:schema-version="1">
  <ac:parameter ac:name="name">Related Documents</ac:parameter>
  <ac:parameter ac:name="initialRows">1</ac:parameter>
  <ac:rich-text-body>
    <table class="wrapped relative-table" style="width: 45.7411%;">
      <colgroup> <col style="width: 59.0164%;"/> <col style="width: 40.9836%;"/> </colgroup>
      <tbody>
        <tr>
          <th>Attachment</th>
          <th>Description</th>
        </tr>
        <tr>
          <td>
            <div class="content-wrapper">
              <p>
                <ac:structured-macro ac:macro-id="24bd0a56-44c1-4de5-bd36-17766e801014" ac:name="attachment-data" ac:schema-version="1">
                  <ac:parameter ac:name="include">.*png</ac:parameter>
                  <ac:parameter ac:name="name">Attachment</ac:parameter>
                </ac:structured-macro>
              </p>
            </div>
          </td>
          <td>
            <div class="content-wrapper">
              <p>
                <ac:structured-macro ac:macro-id="c39a80f7-702f-4543-8760-3cf339374ed5" ac:name="text-data" ac:schema-version="1">
                  <ac:parameter ac:name="name">Attachment description</ac:parameter>
                  <ac:parameter ac:name="type">line</ac:parameter>
                  <ac:parameter ac:name="content">text</ac:parameter>
                  <ac:parameter ac:name="atlassian-macro-output-type">INLINE</ac:parameter>
                  <ac:rich-text-body>
                    <p> </p>
                  </ac:rich-text-body>
                </ac:structured-macro>
              </p>
            </div>
          </td>
        </tr>
      </tbody>
    </table>
  </ac:rich-text-body>
</ac:structured-macro>

 

 

 

 

 

 

 

 

 

 

 

 

 

Pro tip

When creating a field with predefined options, choose select for drop-down menus, check for checklist, or autocomplete for input field with live search. 

  • No labels