Continuous integration (CI) plays an important role in agile development. iceScrum integrates build information from your CI server so you don’t have to leave iceScrum in order to check that your builds pass. This integration also allows traceability between stories and the builds in which they are implemented.
iceScrum provides a generic data structure to store build information. It is sent by a CI server through the iceScrum Web Services API. For Jenkins/Hudson and Travis CI, we provide apps to do that automatically:
Build information is sent when your CI server constructs your application by following instructions described in a job.
Build information mainly describes the build name, number, date, job and status. When sent to iceScrum, build information must be associated with a project (you can associate several jobs with a project). iceScrum knows that builds belong to the same job according to the job name that is provided.
The Dashboard displays the latest build information for each job associated with the project. On the left, the job name is displayed. The build name color depends on the build status. You will get more information by hovering over it.
Builds, tasks and stories
Within a project, build information are displayed with one or many stories. The stories are displayed with the build if they include one or more tasks associated with this build number.
Build information is also displayed in task and story details views according to this association. Unlike the dashboard information which displays only the latest build per job, all the associated builds are displayed.
The continuous integration plugin includes tasks in build information if they are found in commit messages according to this pattern: T<taskUID>[-<taskEstimation>]. This pattern is the one we defined for SCM integration. Consequently, if you already use this iceScrum feature, builds will be associated with your tasks automatically.
The next sections describe how to configure the integration with your CI server. At the moment both Jenkins and Travis CI are available out of the box. If you would like to have a new plugin developed by our team, please contact us. Let us know if you develop one on your own so we may consider making it available for everybody.
This section describes how to link iceScrum with your Jenkins server.
The only configuration to make on your iceScrum project is to enable the Jenkins App.
Jenkins plugin configuration
If you use Jenkins, you can install the iceScrum plugin directly from the Manage Jenkins > Manage Plugins menu. You will find it under the Available tab (it is named iceScrum plugin). Choose Download now and install after restart.
If you use Hudson, you will have to install the plugin manually. Download the latest icesrum.hpi file into the $HUDSON_HOME/plugins directory and restart Hudson.
Once your Jenkins server is restarted, you can configure the connection to iceScrum in the iceScrum settings panel of your job configuration.
For legacy R6 version, you can also enter credentials of a user who is in your team.
In both cases, before going further, check your credentials with the Test credentials button.
Finally, add the iceScrum post-build action that will send your build data to your iceScrum server.
If you have multiple jobs for your iceScrum project, don’t forget to add the post-build action to all of them. Then, the plugin will automatically send build data to your iceScrum project for each build that includes commits with the iceScrum task naming pattern.
Travis CI App
This section describes how to link iceScrum with your Travis CI server.
Then add the notify iceScrum task to your existing build definitions. Go to the Build and Releases menu, edit a build definition, and add a task to the phase. You will find the iceScrum build task by searching “iceScrum” or by browsing the Utility section.
The notify iceScrum task should be added at the end of your last build phase.