Some general issues on Version Control integration

Tuesday, September 1, 2020
Avatar

We're a medical (software) device manufacturer and have started using Spira for a few months now. We're now testing Source Code integration via Git, and it seems to work great. However, I have several questions about this part - since they're all about the same topic, I will combine them in one thread:

1. Formatting of source code - when previewing source code, we noticed that many file extensions are not recognized, although for example TypeScript files could be formatted like Javascript. Also, I would expect non-recognized files to be just plaintext formatted instead of not shown at all. Is there any way to influence how files with certain extensions are displayed in the preview tab?

 

2. For traceability purposes, we'd like to link Artifacts (requirements and testcases) with Source Code. Use case: since we are using specification-by-example with Gherkin feature files, we consider the feature files to be an extension of our requirements/test cases. Therefore it's perfect to be able to link them with those artifacts. I can either create a link from a source file to an artifact, or add a source code attachment to an artifact, accomplishing the same thing.

However, when I do this, there is this strange effect where the same source file is automatically added an X number of times to the artifact attachments. If I delete one of these attachments, they are all deleted at once. I wonder what is causing this and if it is a bug or intended behavior. When I add a source code REVISION to the artifact associations, this does not happen. However, in that case I have to specify a branch. When adding a source code attachment, no branch is specified - so I am wondering if the code file is attached once for each existing branch? The fact that when I view the 'version' column, some of the attachments have a different revision, seems to confirm this...

Anyone encountered this? Ideally, I simply want to add a source code attachment for ONE branch (Develop or Master). Is this possible?

3. Is it possible to limit the source code synchronization in general to only one or a specified set of branches? We use GitFlow, and in general, most branches we use are short-lived and considered 'draft' code. We typically want to have the Spira artifacts linked with one single Develop or Master branch. Is there any way to limit the branches Spira 'knows' about ?

4. The attachment links mentioned in 2 don't seem to be retrievable via custom Report queries, and will not show up in the Attachment tables (neither will ArtifactAssociations have the links between Source Files and other artifacts). It would be a benefit to be able to include certain kinds of Source Code files into a document (like said Gherkins). Does anyone know if there any other way to do this? Apart from using the REST interface and build your own custom solution?

4 Replies
Wednesday, September 2, 2020
Avatar
re: dl.pie Tuesday, September 1, 2020

Hi DL

Your post has good timing, we're working on some major enhancements on the Source Code Management / Version Control features of SpiraTeam and SpiraPlan that will be either in v6.6.1 or v6.7 depending on the timing.

Regarding your specific questions/suggestions:

  1. We only display recognized file types for security reasons, since you could binary files as well as text based formats. Do you have some specific formats that are missing? Just .tsx and .ts or others?
  2. I think this maybe due to it being displayed across multiple branches as you suggest. You can also link a requirement to a specific revision, which is another option. The link between files and artifacts is independent of the branch, so I will make sure we have a bug logged for the repeating display.
  3. We also use GitFlow internally and will be adding better support for it. In our next release we'll be better handling the relationship between branches and revisions, when feature branches get merged into develop and then develop gets merged into master. We do show all branches in the dropdown, and you will be able to link feature branches to sprints and production branches/tags to release so the display on the dashboard will change by release. So the plan is keep showing the short-lived feature branches, but they will be set to IS-Active = NO once they are deleted from origin.
  4. We are moving all those relationships to the database in the next version, so that will fix it I believe :-)

Regards

David

Wednesday, September 2, 2020
Avatar
re: inflectra.david Tuesday, September 1, 2020

David: great stuff. Can't wait to see those next releases. 

1. Formats we are currently using but cannot be previewed right now:

* .ts, *.tsx (about 95% of our front end code...), *.json, *.yml, *.bat, *.feature, *.svg

2. I can link with a revision/commit, but that doesn't give me one single source file - a revision can contain many source files. We want to link revisions with Issues (which will be the vehicle for our Chang Control process)

Thanks for the response!

Dennis

 

Wednesday, September 2, 2020
Avatar
re: dl.pie Wednesday, September 2, 2020

I mean Incidents

 

Wednesday, September 2, 2020
Avatar
re: dl.pie Wednesday, September 2, 2020

Thanks, I have logged an incident internally for the missing filetypes.

Thanks

David

Statistics
  • Started: Tuesday, September 1, 2020
  • Last Reply: Wednesday, September 2, 2020
  • Replies: 4
  • Views: 312