Option to Not Modify the Build in Jenkins Team Concert Plugin
Thank you for making the Jenkins Team Concert plugin. Would it be feasible to give it an option to not modify the build result when subsequent SCM retrievals occur?
If your build retrieves source code more than once, you really only want a snapshot to be associated with the build the first time. With the current functionality, multiple snapshots (and external links to Jenkins) are created if you access the source code more than once in your job.
Here is a use case that would benefit from this functionality:
-
A Jenkins pipeline where the build is configured to get the pipeline script from SCM (using the build definition/
buildResultUUID
). At this point, a snapshot is created in the build result (if not a personal build). Also, the external links to Jenkins are created. -
The pipeline script retrieves source code using the
teamconcert
step. It would be nice if it noticed that this build result was already in progress (i.e. had a snapshot associated to it or a repository workspace if personal build). It would also be nice if it didn't create additional external links to Jenkins.
We've worked around the issue in step #2 by using the
team_scm_snapshotUUID
environment variable instead of the build definition/
buildResultUUID
. This works OK, but it adds a logic branch to our source retrieval: if it is a personal build, there isn't a snapshot, so we instead need to use the repository workspace UUID.
Accepted answer
Yes, without the workaround, the plugin would create multiple build results and snapshots. This issue has been captured in this work item.