Should RTC really modify the Jenkins job configuration automatically?
Hi all,
This isn't exactly a question, but a suggestion of usability...
I have noticed that when the developer selects the Jenkins job in the RTC client (see image in [1], extracted from the tutorial in [2]), the job configuration is automatically modified to handle the buildResultUUID.
However, the RTC client does not notify or alert such changes. It isn't clear for the developer in the RTC client interface that the Jenkins job has been modified.
It happened that some jobs in the Jenkins side that were not related to RTC at all suddenly appeared with those parameters, simply because some developer click on those jobs before deciding for one and saving the Build Definition.
I think one of these three options should be implemented to avoid that:
- The job configuration should be changed only after the Build Definition is saved. Not before.
- There should be an explicit button to say 'add parameter to Jenkins job' after the job is selected, so that the developer knows what is happening behind the curtains.
- Show a warning message somewhere to notify the user that any click in this screen would modify the job configurations (worst option imho).
These options would imply some additional 'smart' feature, for instance, remove the buildResultUUID from the old Jenkins job when the user selects a new one...
Anyway, the main point of my suggestion is to improve the developer's awareness in this step, to avoid surprises outside the RTC client.
[1] https://jazz.net/wiki/pub/Main/JazzScmWithJenkinsPlugin/BuildDefinitionHJ.png
[2] https://jazz.net/wiki/bin/view/Main/JazzScmWithJenkinsPlugin
This isn't exactly a question, but a suggestion of usability...
I have noticed that when the developer selects the Jenkins job in the RTC client (see image in [1], extracted from the tutorial in [2]), the job configuration is automatically modified to handle the buildResultUUID.
However, the RTC client does not notify or alert such changes. It isn't clear for the developer in the RTC client interface that the Jenkins job has been modified.
It happened that some jobs in the Jenkins side that were not related to RTC at all suddenly appeared with those parameters, simply because some developer click on those jobs before deciding for one and saving the Build Definition.
I think one of these three options should be implemented to avoid that:
- The job configuration should be changed only after the Build Definition is saved. Not before.
- There should be an explicit button to say 'add parameter to Jenkins job' after the job is selected, so that the developer knows what is happening behind the curtains.
- Show a warning message somewhere to notify the user that any click in this screen would modify the job configurations (worst option imho).
These options would imply some additional 'smart' feature, for instance, remove the buildResultUUID from the old Jenkins job when the user selects a new one...
Anyway, the main point of my suggestion is to improve the developer's awareness in this step, to avoid surprises outside the RTC client.
[1] https://jazz.net/wiki/pub/Main/JazzScmWithJenkinsPlugin/BuildDefinitionHJ.png
[2] https://jazz.net/wiki/bin/view/Main/JazzScmWithJenkinsPlugin
Accepted answer
You aren't the only one who didn't like that behaviour work item 274176: Only add buildResultUUID parameter to Hudson/Jenkins job on build definition save
In the next release after 5.0, we have changed the build editor to only add the parameter when the build definition is saved (not when the job was selected in the UI). After the save there will be a dialog that will tell you that the parameter was added. If there already was a parameter then no dialog. If there is a problem adding the parameter (i.e. the user has insufficient permissions to change the Jenkins job configuration) the build definition is still saved and the user is told about the problem.