config.groovy – iceScrum

Obsolete iceScrum documention (R6#14+) This documentation applies only to old iceScrum R6. For new iceScrum v7, click here.

Configure iceScrum

If you want to change config in a nice user interface and to have your changes taken into account immediately, have a look at iceScrum Pro Standalone.

If you don’t use iceScrum Pro, then you may have to update the config.groovy file manually. If you use iceScrum R6#14.2 or above then this file is created for you at the first startup, by default in the home of the user who starts iceScrum under the .icescrum folder. Otherwise, the path of this file (we recommend that you put it in your home folder and that you avoid any tomcat folder) may be defined in the CATALINA_OPTS system variable.

All manual config changes need an application restart to apply if the server is running.

The config.groovy file follows the Groovy format, which is described below.

iceScrum Pro

If you are an iceScrum Pro user, settings can be edited by the administrator through a nice user interface. Please refer to the iceScrum Pro settings documentation.

Additionally, iceScrum Pro features come with their own settings when needed. Please refer to the features documentation for more information.

Config format

iceScrum config must follow the Groovy format:

// Inline comment
    Block comment
key = value            // For booleans and numbers values
key = "string value"   // For strings values 

All paths in your config.groovy must use ‘/’ (forward slash)

You may find old config examples where string values have no quotes, when iceScrum used the Properties format (.properties). This format is now deprecated.

Application settings

Here are the available application settings with their default value, given in the Groovy format (.groovy):

icescrum.project.import.enable = true
icescrum.project.export.enable = true
icescrum.project.creation.enable = true
icescrum.project.private.enable = true
icescrum.project.private.default = false
icescrum.gravatar.enable = false
icescrum.registration.enable = true
icescrum.invitation.enable = false
icescrum.login.retrieve.enable = true
icescrum.auto_follow_productowner = true
icescrum.auto_follow_stakeholder  = true
icescrum.auto_follow_scrummaster  = true = ""
icescrum.alerts.subject_prefix = "[icescrum]"
icescrum.alerts.enable = true
icescrum.alerts.default.from = ""
icescrum.attachments.enable = true

Technical Settings

grails.serverURL = "http://localhost:8080/icescrum" 
                   /* Changing the port will require to change 
                     it in the Tomcat server.xml Connector*/
icescrum.debug.enable = false
icescrum.securitydebug.enable = false
icescrum.baseDir = "<yourHome>/icescrum" 
                   /* Use a custom directory where Tomcat has write rights
                      (not webapps!!). Path must use '/' (forward slash) */
icescrum.cors.enable = true  /* CORS is enabled by default
                                However, it's enabled only for projects 
                                where web services are enabled */
icescrum.cors.allow.origin.regex = "*"  /* Use double backslash for escaping
                                           e.g. (http://|.+.) */ = ""
grails.mail.port = 465
grails.mail.username = ""
grails.mail.password = "mypassword"

An additional email setting needs to be defined if you use TLS, SSL or anonymous authentication:

grails.mail.props = ["mail.smtp.socketFactory.class":""]
grails.mail.props = ["mail.smtp.starttls.enable":"true"]
grails.mail.props = ["mail.smtp.auth":"false"]


If you have any issue when configuring iceScrum, the first thing to check is that your config file is used. The one that is used is mentioned in the tomcat standard output when starting iceScrum.

If it is used but does not work, it may be not well formatted so check again the config format.

Then, you can try changing a trivial setting (like disabling registration) and see if it works. If so then it proves that your configuration is taken into account an that your specific setting may be wrong.

You can also try trivial values for your settings (e.g. Gmail for emails) to see if the problem comes from your values.

Finally, if you try connecting to an external service then try the settings in another client (e.g. in the command line) to check if they are correct.

Upgrade to config.groovy format

If your current config file is called, you will have to follow these instructions:

  • Copy the file and name the copy: config.groovy.
  • Open your freshly created config.groovy file and change the content as follows:

Where you have String value, wrap the value with double quotes. Additionally, comment syntax has changed so you will have to replace all the # by //. For instance, when you had:

# Data Source

Now you will have:

// Data Source

If you have key/value with Boolean or Number values, no change is required.


– Delete or move your old file
– Don’t forget to update your config location if it is defined:



iceScrum comes with an embedded HSQLDB database so you can try iceScrum without needing to install or configure a DBMS. The default HSQLDB configuration is NOT suitable for production environments in terms of reliability and performances. Thus, we recommend the use of one of the external DBMS compatible with iceScrum: MySQL, PostgreSQL, MS SQL Server or Oracle. If you do so, create and empty database for iceScrum with a sensible charset/collation (we recommend the use of UTF-8).

Before iceScrum R6#14.2, JDBC connectors for Oracle, MS SQL Server and PostgreSQL were not included with iceScrum so you may have to download the one you want to use manually and put it in tomcatDir/lib.

This configuration needs to be set in the config file (please refer to the above section). Any change will require you to restart your server if it is running.

Then, provide the JDBC connection URL (which is pre-filled according to the DBMS you chose) that includes your database name and iceScrum will take care of creating the database structure.

Don’t forget to define a sensible charset/collation configuration when creating an empty DB in a custom DBMS. We recommend the use of UTF-8, which allows a wide range of user input.


HSQLDB is the default DB in iceScrum. It is bundled so it is possible to try iceScrum without installing a DBMS. The DB is stored as a script file in your file system.

Your database structure and data is stored as SQL statements in a file called prodDba.script and that are located in the directory where you started Tomcat from. To backup your DB, just keep a copy of these files.

The default username is sa and the password is empty.


dataSource.dialect = "org.hibernate.dialect.MySQL5InnoDBDialect"
dataSource.driverClassName = "com.mysql.jdbc.Driver"
dataSource.url = "jdbc:mysql://localhost:3306/icescrum?useUnicode=true&characterEncoding=utf8"
dataSource.username = "root"
dataSource.password = "myDbPass"

Other DBMS

dataSource.dialect = "org.hibernate.dialect.Oracle10gDialect" 
                     // use this dialect even for greater versions
dataSource.driverClassName = "oracle.jdbc.driver.OracleDriver"
dataSource.url = "jdbc:oracle:thin:@localhost:1521:XE"
dataSource.username = "sa"
dataSource.password = "myDbPass"

With PostgreSQL, be careful, you have to use the “public” schema otherwise iceScrum won’t restart

dataSource.driverClassName = "org.postgresql.Driver"
dataSource.url = "jdbc:postgresql://localhost:5432/icescrum"
dataSource.username = "postgres"
dataSource.password = "myDbPass"
dataSource.driverClassName = ""
dataSource.url = "jdbc:sqlserver://localhost:1433;databaseName=icescrum"
dataSource.username = "sa"
dataSource.password = "myDbPass"

Try it for free now
All you need for your Agile project management