The new Jira tooling does support importing ballot results from spreadsheets.  In the near term, this is limited to HL7 participants with 'Manager' access - generally co-chairs or facilitators responsible for conducting the ballot.  The intention is for balloters to eventually be able to import content from spreadsheets themselves (and to be responsible for ensuring the spreadsheet imports cleanly).

Ballot administrator steps

Before imports are possible, the ballot coordinator (someone with administrator privileges) must create the relevant ballot definitions for all closed ballots.  This involves the following steps:

  1. Create a CSV that looks like this either by exporting information from the ballot desktop database or creating it manually.
  2. In Jira, use System, External System Import and select the spreadsheet file.  Choose "Use an existing configuration file" and use the file maintained here.
  3. Click 'next' three times and complete the import
  4. Go to each of the imported projects and
    1. click on the Product Family to bring up a window that allows setting the appropriate Specification and, if necessary, Related Artifacts and/or Related Pages
    2. Open the ballot
    3. Close the ballot

Ballot manager steps

To import a spreadsheet, first go to the HL7 Balloting dashboard. To add the Balloting Dashboard as a favorite, see: Add Dashboard as a Favorite

If you are a manager it should display a control that looks like this:

  1. You'll need to consolidate all of the ballot spreadsheets using the macro available from the HL7 ballot desktop
    1. NOTE:  the spreadsheet submitted must be in the spreadsheet format as provided in the ballot
  2. The consolidation process will include clean up of the comments as noted in the QA Guidance section below.  
    1. For example, submitter comments that say things like "see comments submitted by xxx" or "see attached spreadsheet". 
      1. All of those rows should be removed.  We only want comments that are actually 'comments' that ask for changes to the specification or that actually comment on the specification
  3. Simply choose the ballot file to import and click on "Import ballot comments".  (Do not click 'ignore warnings' on your first import attempt.)  The process takes a while to complete, so be patient.  When complete one of two things will happen:
    1. You'll get a message indicating that the ballot content has been successfully imported into Jira (including an indication of how many issues were created and how many existing issues were linked to the ballot)
    2. More likely, a message will be displayed indicating there were issues with the import and a file will be downloaded containing errors
  4. The updated spreadsheet will change the background color of all problematic cells (orange for errors, yellow for warnings) and will have a comment on each impacted cell indicating what the issue is. 
  5. Fix your issues and try again. 
  6. If you run into an issue you don't understand, raise the question on the Jira stream on chat.fhir.org.

NOTE:

  • If the import takes longer than 5 minutes, refresh the page and retry the import

Ballot Spreadsheet Import QA Guidance

There are a number of QA issues that need to be resolved before you can import a spreadsheets.


IssueResolution
1Email address of submitter not copied to comment when Amalgamation Macro is run to merge spreadsheetsCopy the email address to each comment from the first tab of the original spreadsheet submitted by the voter, ensure that it is the email used in Jira which may not match the submitter email used
2Amalgamation macro incorrectly adds a validation to columns that should not have validationMove validations from all columns except "Vote" and "Type" columns, Alternately, copy/Paste values all the comments to a blank submitter spreadsheet
3Submitter name and/or email address does not match JIRA - will be identified on importSearch Jira to find correct name and/or email address for submitter
4Submitter does not have a JIRA Account - will be identified on importContact webmaster@hl7.org to request that a JIRA account be created for the user - provide name and email address or have the submitter create their own.
5Missing "Vote" and/or "Type" for a comment

Attempt to determine vote from the comment

May need to contact the voter

6Missing or inappropriate "sub-category"

Delete the sub-category if it should not be present or choose an appropriate sub-category if missing.  Only A-S, A-C and NEG should have Sub-categories.

7Incorrect "Ballot" informationLook up Ballot information in JIRA and update spreadsheet
8Missing "Resource" and/or "HTML" informationDerive the resource and HTML from the Section and from their comments.
9Incorrect "Resource" information - invalid artifact included

Derive the missing resource from the Section and from their comments.

10

Incorrect content in HTML Page Name - this is not a URL but rather the name of the page in the specification.

IF A URL IS PROVIDED, THE IMPORT PROCESS WILL ATTEMPT TO AUTO-POPULATE THE ARTIFACT OR PAGE FROM THE URL DURING THE IMPORT

Derive the missing HTML from the Section and from their comments. 

Remove URL

The Page name must match one that is registered in Jira. 

11

Voters with a tracker#  have filled in extra columns that should be left blank.

Remove content from columns that should not have content. The only columns that can have content is the ballot code, ballot strength (A-C, NEG , etc.), the tracker# and the submitter name and email.  All others MUST be blank  The on-behalf of must be left blank.

12

Summary is too long, missing or duplicate

Add a summary for the comment 

Adjust a summary it too long

Change the summary to ensure it is not a duplicate

13Disposition Workgroup name requiredMust be the name as registered in Jira, not any short forms.
14URL can include bookmark tag but the HTML Page name must be the page titleThe URL can include the #bookmark (www.example.org/FHIRIG/pagename#bookmark) but only the title at the top of the page must be in the HTML Page Names
15Remove formulas from cellsPaste the content as the value only
  • No labels