config.groovy – iceScrum

Documentation This documentation applies only to iceScrum v7.
For old iceScrum R6, read the documentation or migrate.

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 the dedicated App.

If you can’t use this App, you will have to update the config.groovy file manually. This file is created for you at the end of the wizard displayed at first startup. Its default location is in the home of the user who starts iceScrum under a new .icescrum directory.

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.


If you can, use the dedicated App instead of updating the config.groovy file manually.

This documentation only includes core iceScrum settings. Apps can also have their own panel in the Settings window, in which case the documentation of the App explains how to configure it. Refer to the Apps 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).

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.sessionTimeoutSeconds = 1800
icescrum.alerts.enable = true = ""
icescrum.alerts.subject_prefix = "[icescrum]"
icescrum.alerts.default.from = ""

Technical Settings

icescrum.serverURL = "http://localhost:8080/icescrum"
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://|.+.) */

icescrum.check.enable = true
icescrum.reportUsage.enable = true = ""
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. Usually only one of them is required. To combine them, define the property only once and add the entries between the square brackets, separated by a comma.

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 and 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.


iceScrum comes with an embedded H2 database so you can try iceScrum without needing to install or configure a DBMS. The default H2 configuration is NOT suitable for production environments in terms of reliability and performances. Use an external DBMS compatible with iceScrum: MySQL, PostgreSQL, MS SQL Server or Oracle (Oracle is available only for paying licenses).

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.

Create and empty database for iceScrum with a sensible charset/collation: choose the use UTF-8 for your new database.

Here is how to create the empty database on MYSQL:

CREATE DATABASE `icescrum` CHARACTER SET utf8 COLLATE utf8mb4_unicode_ci;

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

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


H2 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 prodDb.h2.db located in the directory where you started iceScrum from. To backup your DB, just keep a copy of prodDb 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 = "com.kagilum.hibernate.OracleCustomDialect" 
dataSource.driverClassName = "oracle.jdbc.driver.OracleDriver"
dataSource.url = "jdbc:oracle:thin:@localhost:1521:XE"
dataSource.username = "system"
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.dialect = "org.hibernate.dialect.SQLServer2012Dialect" // For 2012 and above
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