FHIR Chat · JIRA warning in IG qa · IG creation

Stream: IG creation

Topic: JIRA warning in IG qa


view this post on Zulip Brian Reinhold (Mar 11 2021 at 11:37):

@Lloyd McKenzie I get this warning in the QA.html relating to the JIRA specification

The jira specification file appears to be out of date with the versions, artifacts and pages currently defined in the IG. A proposed revised file to be reviewed and, if appropriate, submitted as a pull request against the XML folder in https://github.com/HL7/JIRA-Spec-Artifacts. To see the differences, perform a file compare on 'template/jira-current.xml' (a normalized view of what is in Github) and 'template/jira-new.xml' (reflects current IG content)

Anyone know what it means and how to fix it?

For what its worth I see no difference between my jiraspec.xml and the FHIR-phd.xml in JIRA-Spec-Artifacts. What is out of date? one of the version values in both of the files? I edited my local file to use version 1.0 instead of 0.1 and it got restored to the original when running the publisher. Probably pulled from JIRA-Spec-Artifacts...?

view this post on Zulip Lloyd McKenzie (Mar 11 2021 at 15:41):

Did you do a diff on the two files it told you to diff?

view this post on Zulip Brian Reinhold (Mar 12 2021 at 10:05):

@Lloyd McKenzie Where do I find these files? I found the JIRA_Spec-Artifacts project but I have no idea where template/jira-current.xml and template/jira-new.xml are located. I could not find them in the Artifacts project. Where are these two 'template' files? I searched some other projects with the name 'template' in them but that turned out to be barking up the wrong tree. Of course there are many pages of projects and I could not search them all.

I found them in my own project...why would my project have both files and not use the new one? What needs to happen here? Do I need to put the new one in JIRA_Spec-Artifacts? If so, I suppose it is something you have to do or something someone with write access to that repo has to do. If so, I attach the file here. jira-new.xml
By the way, the difference is HUGE which scares me. There are many elements in the 'new' version that are not in the old. It seems like it is much MUCH larger than any of the corresponding files in JIRA_Spec-Artifacts. That does not bode well.

view this post on Zulip Lloyd McKenzie (Mar 12 2021 at 14:40):

The 'new' file is driven by what artifacts and pages exist in your IG. If you've renamed artifacts or pages, you'll need to adjust the 'new' file to reflect that renaming (keep the key and change the name, possibly also including the old name). You might choose to not expose certain fine-grained artifacts. E.g. you might choose not to allow tracking changes against each individual example, but instead have an 'examples' page. But you do want to ensure that all major artifacts and pages that exist in your IG are represented in Jira and there is continuity between feedback provided in past releases, even as artifacts have been renamed, merged, etc.

view this post on Zulip Brian Reinhold (Mar 12 2021 at 14:56):

@Lloyd McKenzie How does the new file get generated? I certainly did not do it. And looking through the list it looks like it does list all the 'artifacts' that are in the IG. Is there a reason NOT to include all of them? And if I renamed an example, for example, wouldn't that get automatically updated next build?

view this post on Zulip Lloyd McKenzie (Mar 12 2021 at 14:57):

The new file is generated by the build process - driven by what's in your IG.

view this post on Zulip Lloyd McKenzie (Mar 12 2021 at 15:00):

The reason to not include them is if you feel the fine-grained list would be overwhelming. For example, with core, we don't list every single example or search parameter because we'd have 10k+ artifacts. For IGs, that's less of a problem, but could still be too much. Similarly, some pages get 'grouped' and are treated as a single 'page' from the perspective of tracking feedback. Your key question is "how, as a work group, do you want feedback against your IG to be categorized?"

view this post on Zulip Brian Reinhold (Mar 12 2021 at 15:10):

So I guess I would have a better understanding of this file if I went through the process of reporting a bug or something like that on this IG. I am not sure how to do that. I see the usual propose a change option, but that brings me to the generic FHIR issues page. I would think it would be easier to find the issue the more 'detail' one has - so one can home into the problem. Of course, I have no idea what I am talking about as I have never submitted an issue against an IG.

view this post on Zulip Lloyd McKenzie (Mar 12 2021 at 15:12):

From the generic FHIR issues page, fill in the 'specification' to be your IG. That then determines what artifacts, pages and versions are available in the other dropdowns.

view this post on Zulip Brian Reinhold (Mar 12 2021 at 15:21):

@Lloyd McKenzie I actually tried to do that, but I did not find my IG in the list. I did find Personal HealthCare Devices but I do not think that is the IG - it only has a version of 0.1 (probably a default). It might be because this IG has never been published.

view this post on Zulip Lloyd McKenzie (Mar 12 2021 at 15:29):

If it's gone to ballot it'll be in Jira. Why do you think "Personal Healthcare Devices" isn't the IG?

view this post on Zulip Brian Reinhold (Mar 12 2021 at 15:42):

@Lloyd McKenzie Its version was 0.1 (it was 1.0.0 at ballot) and I could not find any artifacts. All my entries return nothing found.

Wait a second, that's what's in the phd file in the JIRA-artifacts file. There are no artifacts in that file and its also 0.1. That's why I am finding nothing. So I need that updated file to replace the PHD version of the template in the JIRA-Artifacts directory. Then I should find something.

view this post on Zulip Lloyd McKenzie (Mar 12 2021 at 15:46):

It should not have been 1.0.0 at ballot - that would have been the publication release number, not the ballot release number.
Correct - that file is what determines what's available in the Jira dropdowns for people to provide feedback. (And that's why the build process now hollers if it appears there's content in your IG that isn't listed in Jira)

view this post on Zulip Brian Reinhold (Mar 12 2021 at 16:08):

@Lloyd McKenzie Okay, maybe it wasn't 1.0.0 at ballot. Was probably current. But then I need to have that updated file installed in the artifacts list. I assume that it can always be changed once we have some experience. To be honest with you, I had no idea such an infrastructure existed for IGs.

view this post on Zulip Lloyd McKenzie (Mar 12 2021 at 16:10):

Once you add an artifact or page, you can't remove it (easily) because someone might have referenced it in Jira, so in general it's best to be cautious about what you add, because once it's in a Jira dropdown, it's there forever. You can deprecate - which keeps people from selecting it on new issues, but you can't easily get rid of stuff that might have been used on old issues.

view this post on Zulip Brian Reinhold (Mar 12 2021 at 16:16):

@Lloyd McKenzie Okay, better have a discussion about that in DoF. It would be good for them to know about this as they will have the same situation arise when its time to publish the PoCD. At least I know what all this means. Learn something new every day!

view this post on Zulip Bryn Rhodes (Apr 08 2021 at 21:16):

@Lloyd McKenzie , I thought that the templated IGs generated this file, but I can't find it? Is there a parameter I need to set to turn on generation?

view this post on Zulip Jose Costa Teixeira (Apr 08 2021 at 21:19):

@Bryn Rhodes are you using an HL7 template? Only those use the Jira stuff

view this post on Zulip Bryn Rhodes (Apr 08 2021 at 21:24):

Yes, hl7.fhir.template

view this post on Zulip Lloyd McKenzie (Apr 09 2021 at 04:24):

Do you have a package-list.json file? You won't get a Jira file unless/until you have a package-list.json

view this post on Zulip Bryn Rhodes (Apr 09 2021 at 15:53):

I do, in the root of the directory (same place as the ig.ini), but I haven't added the entry for the version we're publishing, I'll try that.

view this post on Zulip Bryn Rhodes (Apr 09 2021 at 16:00):

What is the relationship between the package-list.json in the root and the data/packagelist-list.yaml

view this post on Zulip Bryn Rhodes (Apr 09 2021 at 16:00):

Is the tooling aware of the packagelist yaml?

view this post on Zulip Bryn Rhodes (Apr 09 2021 at 16:01):

(Other than making it available through the sitedata variables)?

view this post on Zulip Bryn Rhodes (Apr 09 2021 at 16:01):

@Eric Haas

view this post on Zulip Lloyd McKenzie (Apr 09 2021 at 16:37):

No clue what packagelist-list.yaml is. Is that a FSH thing?

view this post on Zulip Jean Duteau (Apr 09 2021 at 16:40):

nope, not a FSH thing

view this post on Zulip Lloyd McKenzie (Apr 09 2021 at 16:42):

Then the yaml file shouldn't exist and you should be authoring and editing the package-list.json file directly.

view this post on Zulip Bryn Rhodes (Apr 09 2021 at 17:36):

Okay, I've got an updated package-list and building with templates, but I still don't see the JIRA Spec artifact file. Where does it get generated?

view this post on Zulip Lynn Laakso (Apr 09 2021 at 17:45):

@Lloyd I see you merged his PR but how does the update get into Jira then?

view this post on Zulip Lloyd McKenzie (Apr 09 2021 at 18:15):

When the PR is merged into the main build, there's an automatic process that pushes "built" content into a separate branch. Jira grabs the list of elements from the XML file exposed on that separate branch

view this post on Zulip Eric Haas (Apr 09 2021 at 18:16):

@Bryn Rhodes the data/package-list.yaml is to enable references to the package-list within the ig and is not used for validation. In the guides I author, I typically set it up to have both ig.yaml and package-list.yaml in the data folder using a bash script to refresh the ig.yaml file. The package-list is manually updated in real time as I apply trackers to create a change log which is published in the blue information box in the home page. for example see here: This helps reviewers qa the applied trackers. Prior to publishing the package-list.yaml is converted to a json file and the blue box removed.

view this post on Zulip Bryn Rhodes (Apr 09 2021 at 18:18):

Thanks Eric! Yes, we adopted your styling for the QM IG (because it's fantastic), so we are using that same approach, and I've just then updated the package-list.json manually. (http://build.fhir.org/ig/HL7/cqf-measures)

view this post on Zulip Lloyd McKenzie (Apr 09 2021 at 18:18):

I think it'd be cleaner to have the template process copy the package-list.json file into the temp/pages/_data folder - no need to have a yaml file (or remember to run custom bash scripts)

view this post on Zulip Bryn Rhodes (Apr 09 2021 at 18:19):

I agree, I don't like having that content in multiple places, so if there's a way that can be automated, that would be great.

view this post on Zulip Eric Haas (Apr 09 2021 at 18:22):

@Lloyd McKenzie For me editing in Yaml is easier and more intuitive. converting to and from json is single click on my editing or a single line in my bash. It is automated for me and I am not advocating or mandating everyone does it the same way.

view this post on Zulip Eric Haas (Apr 09 2021 at 18:22):

json, yaml or csv all work in the data files, I like yaml

view this post on Zulip Eric Haas (Apr 09 2021 at 18:27):

Right now this is a manual process, but we have discussed before the automation of the change logs , maybe by adding a couple of fields to Jira and doing an export into the ig. The fields are summary of change and reference to change in the spec.

view this post on Zulip Lloyd McKenzie (Apr 09 2021 at 18:28):

The problem is if someone comes along and fixes something in your IG, they're going to edit the json file - and may not even realize the yaml exists. And you'll then wipe their fix the next time you run the bash script. We're trying to make our IGs so that anyone who knows how to edit IGs can feel comfortable editing any IG.

view this post on Zulip Eric Haas (Apr 09 2021 at 18:32):

same problem with fsh. So I don't see why this is any different

view this post on Zulip Lloyd McKenzie (Apr 09 2021 at 19:14):

FSH is an official HL7 standard and is used by many HL7 IG authors (eventually, I expect it'll be used by most). It also offers a bunch of features that make it significantly faster and easier to create and maintain IGs. I don't think we can make the same argument here for yaml vs. json for the package-list.json. If you feel strongly that there's a serious benefit to moving to yaml, then we should have that as a discussion and do it for everyone.

view this post on Zulip Bryn Rhodes (Apr 09 2021 at 19:22):

Back to the issue at hand though, I'm still not seeing the generated JIRA spec artifact file, am I looking in the wrong place?

view this post on Zulip Lloyd McKenzie (Apr 09 2021 at 21:52):

Should be in the root folder of your IG. What's the Git URL? I can take a look if you like

view this post on Zulip Bryn Rhodes (Apr 11 2021 at 20:30):

I see the issue, it is looking in the JIRA-Spec-Artifacts github for FHIR-us-cqfmeasures.xml, but the file in github is named "FHIR-us-qm.xml"

view this post on Zulip Bryn Rhodes (Apr 11 2021 at 20:30):

So it gets an error trying to download and doesn't generate.

view this post on Zulip Lynn Laakso (Apr 11 2021 at 20:58):

so the https://confluence.hl7.org/display/HL7/Configuring+Specification+Feedback page says that if the code in the package-id ever changes, the Jira code must remain the same. To allow the IG to link to the correct Jira file, add a parameter called 'jira-code' to your ImplementationGuide resource (under 'definition'), with a value of whatever the 'Code' is in Jira.

view this post on Zulip Bryn Rhodes (Apr 11 2021 at 23:07):

Perfect, that did it, thank you @Lynn Laakso


Last updated: Apr 12 2022 at 19:14 UTC