You are not logged in. Click here to log in.

codebeamer Application Lifecycle Management (ALM)

Search In Project

Search inClear

Tags:  not added yet

Application Configuration

This page provides a list of application configurations with which users can manage the various configuration settings of Codebeamer.

Application configuration contains various sections (top level tags), typically each section configures one feature/area of codeBeamer. The sections can contain sub-elements, and each can have several attributes too. This wiki page documents them.

Table of Contents


"installation" section

Configures installation location and the most important installation attributes.

See also: Customizing Remote Issue Reporting in the Footer

A typical example

"installation" : {
  "cbhome" : "/home/zluspai/cbhome/cb/",
  "remoteURL" : "http://localhost:8080/cb/remote-api",
  "setup" : false
}

"interactive" section

Configures interactive parts; allow personalization of texts. Personalize the logo and welcome texts appearing on Codebeamer pages.

A typical example

"interactive" : {
  "exportTypes" : "excel",
  "itemsPerPage" : 25,
  "pullRequestsPerPage" : 10,
  "recentHistoryItems" : 5,
  "verboseErrorPage" : true,
  "registration-text" : {
    "format" : "W"
  },
  "slogan-text" : {
    "format" : "H"
  },
  "welcome-text" : {
    "format" : "W"
  },
  "login-text" : {
    "format" : "W"
  },
  "uploadFileSizeLimit" : 5.36870912E9,
  },
  "warnLowDiskSpace" : {
    "enabled" : true,
    "minFreeDisk" : 10240,
    "minPercentage" : 5
  }
}
  • "uploadFileSizeLimit" - The provided value is the size limit in bytes for file uploads. For example: 1610612736

CB-EMMA

  "interactive" : {
    "footerFilterInformation" : "VISIBLE" // default
}


Added 'footerFilterInformation' to configure footer filter information visibility

  • valid values: IGNORE, VISIBLE, HIDDEN
  • in case of invalid value defaults to VISIBLE

CB 10.1

"interactive" {
    "minAvailablePhysicalMemoryPercentage" : 10,
    "minAvailableMemoryPercentage" : 50,
    "notEnoughTotalMemoryCheckEnabled" : true
}


warnLowDiskSpace's properties

emailTo

separated email addresses to send email to. If empty then sysadmins will be notified

"emailTo" : "administrator@example.com;admin@example.com"


enabled

boolean value to enable/disable the feaute.

default: true


emailFrequency

how often the email should be sent in seconds

default: 86400 //24 * 60 *60 (1 day in seconds)

minimum: 3600 //(1 hour)


minFreeDisk

minimum free space in MB that triggers the warning email, by default 10 Gbytes.

default: 10240 //10GB


minPercentage

the minimum percentage of the disk space that triggers a warning

default: 5 //5%

"diskSpaceVolumes" section

Since CB 10.0.

Multiple disk volumes can be monitored with this property. It has to be used together with warnLowDiskSpace.


name

this will be the disk's name in the warning email


path

path of disk to be monitored


threshold (optional)

minimum free space in MB that triggers the warning email, by default 10 Gbytes.

default: 10240 //10GB


Multiple disk volumes example for Windows

"diskSpaceVolumes" : [ {
    "name" : "diskC",
    "path" : "C:\\",
    "threshold" : 10240
  }, {
    "name" : "diskE",
    "path" : "E:\\",
    "threshold" : 20480
  }, {
    "name" : "diskF",
    "path" : "F:\\"
  } ],




Multiple disk volumes example for Linux

"diskSpaceVolumes" : [ {
    "name" : "disk1",
    "path" : "/dev/sda1",
    "threshold" : 10240
  }, {
    "name" : "disk2",
    "path" : "/dev/sda2",
    "threshold" : 20480
  }, {
    "name" : "disk3",
    "path" : "/dev/sda3"
  } ],


Full Example

"interactive" : {
    "warnLowDiskSpace" : {
        "emailTo" : "administrator@example.com",
        "enabled" : true,
        "minFreeDisk" : 90000,
        "minPercentage" : 50,
        "emailFrequency" : 3600
    }
},
"diskSpaceVolumes" : {
    "name" : "linux",
    "path" : "/dev/nvme0n1p6",
    "threshold" : 90000
},


"diffView" section

Available since Codebeamer release 2.1.

Set the page size to view the diff before the merge operation. The default is 25. The maximum value is 100.

"diffView" : {
  "pageSize" : 5
}




"projectsDir" section

Configures project directory, work directory where projects are built and SCM repositories are stored. That is: ${cbhome}/repository/src directory as default.

A typical example

"projectsDir" : {
  "text" : "/home/codebeamer/CB/repository/src directory"
}

"officeedit" section

Office Edit feature can be configured in this section. For more information, see: Office Edit. For configuration options, see: Office Launcher Installation

A typical example

"officeedit" : {
  "enabled" : true
}

"breadcrumbs" section

Breadcrumbs configuration: configures how the breadcrumbs of CB look like: how the labels in the breadcrumb shortened see: CB:/images/issuetypes/bug.gifYou must login to see this link. Register now, if you have no user account yet.

A typical example

"breadcrumbs": {
  "middle" : true,
  "replacementString" : "~"
}

"pagingConfig" section

Since CB-Dorothy

Paging subconfig: configures how the paging works on few UI elements: the comment and history tabs of items

A typical example

"pagingConfig": {
  "commentPagingEnabled" : true,
  "commentPageSize" : 20,
  "historyPagingEnabled" : true,
  "historyPageSize" : 20,
  "historyChangesPagingEnabled" : true,
  "historyChangesPageSize" : 50
}

"pagingconfig" section

(deprecated since CB-Dorothy)

Paging subconfig: configures how the paging works on few UI elements: the comment and history tabs of items

A typical example

"pagingconfig": {
  "commentPageSize" : 20,
  "historyPageSize" : 20
}

"sysadmin" section

(deprecated)


"serviceDesk" section

This contains the Service Desk configuration: Service Desk

A typical example

"serviceDesk" : {
  "trackerOrder" : "1,2,3",
  "title" : {
    "text" : "myTitle"
  }
}

"ie-strict-mode" section

Configures of Internet Explorer can access CB in compatibility mode. See: CB:/images/issuetypes/task.gifYou must login to see this link. Register now, if you have no user account yet.

A typical example

"ie-strict-mode" : {
  "enabled" : true
}

CB:/images/space.gif

"monitor" section

Configures built in monitoring for CB.

A typical example

"monitor" : {
  "mbeanEnabled" : true,
  "gatherInterval" : 60, // in seconds
  "timeToLive" : 3, // in days
  "slowStatementDurationInterval" : 30, // in seconds,
  "slowStatementTableSize" : 50
}
  • gatherInterval - configure monitor log gathering interval, needs application restart
  • timeToLive - configure cleanup period for monitoring logs
  • slowStatementDurationInterval - configure in seconds slow request duration, from CB-Carmen-SP4
  • slowStatementTableSize - configure table size for slow requests, ignored when exporting, from CB-Carmen-SP4

CB 20.11-SP9:

From version 20.11-SP9 "enableThreadDump" is added to enable/disable slow request thread dumps, default value is false.

"database" section

This part configures database connection. See: Post-installation Configuration

A typical example

"database": {
  "JDBC_ConnectionURL" : "jdbc:mysql://localhost:3306/codebeamer?autoReconnect=true&zeroDateTimeBehavior=convertToNull&emulateLocators=true&characterEncoding=UTF-8",
  "JDBC_Driver" : "com.mysql.jdbc.Driver",
  "JDBC_Password" : "...",
  "JDBC_Username" : "cbroot"
}

"background" section

Configure scheduling of background processes like document indexing (for search).

A typical example

"background" : {
  "hour" : 1,
  "inboxPolling" : 900,
  "minute" : 5,
  "period" : 86400
}

"login" section

Configures login/authentication handling.

A typical example

"login": {
  "accountLink" : "${firstName} ${lastName}",
  "allowToEditEmail" : true,
  "anonymous" : "",
  "captchaEnabled" : false,
  "companyMandatory" : false,
  "cookiesAllowed" : true,
  "displayLastActivityDate" : true,
  "forgetCookies" : true,
  "gravatars" : false,
  "log-expiration" : 30,
  "logoffURL" : "/login.spr",
  "newAccountRole" : "user",
  "passwordPolicy" : "",
  "permission" : "",
  "phoneMandatory" : false,
  "postalAddressMandatory" : false,
  "registration" : "",
  "recoverablePasswords" : true,
  "sendLostPasswordPerMail" : true,
  "showDenyCause" : true,
  "showPresence" : true,
  "showRecovery" : false,
  "inviteByEmailTimeoutInDays" : 1,
  "passwordResetEmailTimeout" : "PT5M",
  "newAccountType" : "", // default null/empty
  "single-signon" : {
    "user-id-header" : "x-user-global-id"
  }
}

"accountLink" can be used to visualize the user's name as follows:

- display the user name of the employee

"accountLink" : "",


- display the first name and last name of the employee

"accountLink" : "${firstName} ${lastName}",




"newAccountType" can be used to configure the new user's license. By default it will be the first product with named license, floating license if named is not available. Format is "productName:licenseType". Product name is defined in the license, licenseType can be:

  • USER_WITH_NAMED_LICENSE
  • USER_WITH_FLOATING_LICENSE
  • CUSTOMER_WITH_NAMED_LICENSE
  • CUSTOMER_WITH_FLOATING_LICENSE

Examples:

  • ALM:USER_WITH_NAMED_LICENSE
  • Collab:USER_WITH_FLOATING_LICENSE


"systemAdminProjectTakeover" boolean property defines if System Administrators can join as Project Admins to any project. Default value is false. When its value is set to true, "Take Ownership" buttons will be available in System Admin > Projects page.



CB 10.1:

From version 10.1 "cookiesAllowed" default value changed to false.

"pdfHandler" section

Configure the maximum main memory for pdf handler in bytes.

A typical example

"pdfHandler" : {
    "max-memory" : ‭104857600‬
  }

"audit" section

We can set which events are stored in audit log.

A typical example

"audit": {
  "removerjob" : {
    "days" : 180
  },
  "loginlog" : {
    "login" : true,
    "logout" : true,
    "systemlogout" : true
  },
  "workitemlog" : {
    "create" : true,
    "delete" : true,
    "remove" : true,
    "restore" : true,
    "update" : true
  },
  "artifactlog" : {
    "create" : true,
    "delete" : true,
    "remove" : true,
    "restore" : true,
    "update" : true
  },
  "permissionlog" : {
    "create" : true,
    "delete" : true,
    "update" : true
  }
}

"hierarchy" section

Rules how field values should be aggregated up/distributed down the issue/item hierarchy

Defines a rule how to aggregate a field value up the a item/issue hierarchy, or how to distribute a field value down the item/issue hierarchy

A typical example

  "hierarchy" : {
    "rule" : [ {
      "class" : "com.intland.codebeamer.manager.hierarchy.MinimumRule",
      "desc" : "Set parent value to smallest child value",
      "id" : 1,
      "name" : "Minimum"
    }, {
      "class" : "com.intland.codebeamer.manager.hierarchy.MaximumRule",
      "desc" : "Set parent value to largest child value",
      "id" : 2,
      "name" : "Maximum"
    }, {
      "class" : "com.intland.codebeamer.manager.hierarchy.SummationRule",
      "desc" : "Set parent value to sum/total of child values",
      "id" : 3,
      "name" : "Sum/Total"
    }, {
      "class" : "com.intland.codebeamer.manager.hierarchy.AverageRule",
      "desc" : "Set parent value to average of child values",
      "id" : 4,
      "name" : "Average"
    }, {
      "class" : "com.intland.codebeamer.manager.hierarchy.UnionRule",
      "desc" : "Set parent value to the union of child values",
      "id" : 5,
      "name" : "Union"
    }, {
      "class" : "com.intland.codebeamer.manager.hierarchy.IntersectionRule",
      "desc" : "Set parent value to the intersection of child values",
      "id" : 6,
      "name" : "Intersection"
    }, {
      "class" : "com.intland.codebeamer.manager.hierarchy.DistributionRule",
      "desc" : "Set child value to parent value",
      "id" : 7,
      "name" : "Set"
    }, {
      "class" : "com.intland.codebeamer.manager.hierarchy.DefaultRule",
      "desc" : "Use parent value as default child value",
      "id" : 8,
      "name" : "Default"
    }, {
      "class" : "com.intland.codebeamer.manager.hierarchy.LeastRule",
      "desc" : "Set child value to least of parent/child value",
      "id" : 9,
      "name" : "Least"
    }, {
      "class" : "com.intland.codebeamer.manager.hierarchy.GreatestRule",
      "desc" : "Set child value to greatest of parent/child value",
      "id" : 10,
      "name" : "Greatest"
    }, {
      "class" : "com.intland.codebeamer.manager.hierarchy.FractionRule",
      "desc" : "Set child value to fraction of parent value",
      "id" : 11,
      "name" : "Fraction"
    }, {
      "class" : "com.intland.codebeamer.manager.hierarchy.RetainRule",
      "desc" : "Retain only child values that are also parent values",
      "id" : 12,
      "name" : "Subset"
    }, {
      "class" : "com.intland.codebeamer.manager.hierarchy.MergeRule",
      "desc" : "Add missing parent values to child values",
      "id" : 13,
      "name" : "Superset"
    }, {
      "class" : "com.intland.codebeamer.manager.hierarchy.MeanStatusRule",
      "desc" : "Set parent status to mean children status",
      "id" : 14,
      "name" : "Mean status"
    }, {
      "class" : "com.intland.codebeamer.manager.hierarchy.CloseChildrenOnParentCloseRule",
      "desc" : "On parent close, close children recursively",
      "id" : 15,
      "name" : "Close recursively"
    }, {
      "class" : "com.intland.codebeamer.manager.hierarchy.CloseOnlyIfAllChildrenClosedRule",
      "desc" : "On parent close, all children must be closed",
      "id" : 16,
      "name" : "Close restricted"
    }, {
      "class" : "com.intland.codebeamer.manager.hierarchy.CloseParentAfterLastChildCloseRule",
      "desc" : "Close parent after closing last child",
      "id" : 17,
      "name" : "Close upwards"
    } ]
  }

CB:/images/space.gif

"listeners" section

(deprecated)

"scc" section


Configures source code control modules.

A typical example

  "scc" : {
    "hg" : {
      "mr-pull-url" : "http://localhost:8080/cb/hg/,ssh://soma@localhost/hg/,http://localhost:8000/",
      "mr-push-url" : "http://localhost:8080/cb/hg/,ssh://soma@localhost/hg/",
      "webconf" : "scmweb/hgweb.config",
      "hgserve" : {
        "port" : 8000,
        "start" : true,
        "stop" : true
      }
    },
    "git" : {
      "http-backend" : "/usr/lib/git-core/git-http-backend",
      "mr-pull-url" : "http://localhost:8080/cb/git/,ssh://soma@localhost/git/,git://localhost/",
      "mr-push-url" : "http://localhost:8080/cb/git/,ssh://soma@localhost/git/",
      "use-git-auth-script" : true,
      "daemon" : {
        "port" : 9418,
        "start" : true,
        "stop" : true
      }
    },
    "svn" : {
      "mr-access-url" : "svn://localhost/",
      "svnserve_start" : false,
      "svnserve" : {
        "start" : false
      }
    }
  }

Since CB 20.11-LTS (Carmen)

Starting from Carmen release timeout can be configured for both Git and Mercurial SCM with human readable numbers

  "scc" : {
    "hg" : {
      ...
      "timeout" : "30m"
      ...
    },
    "git" : {
      ...
      "timeout" : "3h"
      ...
    }
  }

"date" section

Configures date formats.

This is the default date and time formatting. Every user can configure his own format, thus you should NOT modify this value here.

Timezone: Sets time zone code default for dates like "Europe/London". See the full list on create/update user form Time zone droplist.

A typical example

"date" : {
  "date" : "MMM dd yyyy",
  "datetime" : "MMM dd HH:mm yyyy"
  "timezone": "Europe/London"
}

"mail" section

Configures email: outgoing SMTP server and related attributes.

A typical example

  "mail" : {
    "background" : true,
    "checkConnection" : false,
    "host" : "YOURHOST",
    "localname" : "localhost",
    "onlyToProjectMembers" : false,
    "password" : "YOURPASSWORD",
    "recipientsLimit" : -1,
    "serverPort" : 8080,
    "serverScheme" : "http",
    "showProjectNameInSubjects" : false,
    "smtp-port" : 587,
    "ssl" : false,
    "startTLS" : true,
    "usePersonal" : true,
    "user" : "YOURUSER",
    "props" : {
      "prop" : {
        "key" : "mail.smtp.starttls.enable",
        "text" : "true"
      }
    }
  }

"document" section

Configures document handling/Document Management

A typical example

"document": {
  "access-log" : true,
  "auto_restore_from_trash" : "30s",
  "display-plain-text-as-html" : false,
  "log-expiration" : 0,
  "storage-path" : ""
  "store-into-db" : false
}

"storage-path" - Can be a path on the local hard drive.

"store-into-db" - If set to true , the binary content of artifacts are loaded into the db.


Since codebeamer release 21.10 (EMMA), PostgreSQL and Oracle databases are supported. If you have customized the "document" section with the "storage-path" application key and/or set the "store-into-db" to true, make sure a copy of the docs/1 subfolder is still present in the cbhome/repository so that the initial directory-check is passed after an upgrade.
In case the docs/1 subfolder and its content is missing during an upgrade, an InvalidDocumentFolderException could be received.

"documentManagement" Section


Configure the Document Management. See also: Document Tracker Configurations.

"documentManagement" : {
   "enabled" : true,
   "maxFileCountForSingleUpload" : 100,
   "maxFileSizeBytes" : 5000
}
    


Parameter Example Value Description
"enabled" true If set to true, document type trackers are available and new document type trackers can be created. Proper license is required.
"maxFileCountForSingleUpload" 100 The provided value limits the maximum number of files per document upload sessions.
"maxFileSizeBytes" 5000 The provided value limits the maximum size of a document in bytes.

"search" and "indexer" section

Configures searching and indexing

A typical example

  "search" : {
    "delay" : 9000,
    "fuzzy-similarity-factor" : 0.6,
    "incremental-indexing" : true,
    "length" : 2,
    "lucene-cfs-ratio" : 0.1,
    "max-fuzzy-terms" : 10,
    "max-indexing-size" : "standard",
    "operator" : "and",
    "pattern-sufix" : "*",
    "period" : 6000,
    "short-word-length" : 3
    "full-indexing-activated" : true
  },
  "indexer" : {
    "full" : {
      "cronExpression" : "0 0 23 ? * FRI *"
    }
  }

You can use the https://www.freeformatter.com/cron-expression-generator-quartz.html to build a cron expression

0 0 23 ? * FRI * expression means 'At 23:00:00pm, on every Friday, every month'


"wiki" section

Configures how the wiki and wysiwyg editor behaves in the system.

A typical example

{
  "defaultMode" : "wysiwyg",
  "jsCompressingMode" : "none",
  "styles" : {
    "style" : [ {
      "name" : "commentbox",
      "text" : "float: right; width: 20%; border: 2px solid #E5E5E5; background: #F5F5F5; font-size: 7pt; padding: 4px; margin-left: 4px;"
    }, {
      "name" : "blue",
      "text" : "color: blue;"
    }, {
      "name" : "cyan",
      "text" : "color: cyan;"
    }, {
      "name" : "gray",
      "text" : "color: gray;"
    }, {
      "name" : "green",
      "text" : "color: green;"
    }, {
      "name" : "magenta",
      "text" : "color: magenta;"
    }, {
      "name" : "orange",
      "text" : "color: orange;"
    }, {
      "name" : "pink",
      "text" : "color: pink;"
    }, {
      "name" : "red",
      "text" : "color: red;"
    }, {
      "name" : "yellow",
      "text" : "color: yellow;"
    } ]
  }
}

"cssStylesToPreserve" Property

To avoid dropping of styling from imported data during ReqIF import, add the "cssStylesToPreserve" property to the "wiki" node in the Application Configuration:

"wiki": {
  "cssStylesToPreserve" : "font-family,font-variant"
}



Caution:

This property is merely a suggestion to the system. If the styles can be converted to wiki like font-weight:bold to wiki's "__", then those are dropped to limit the regression impact of this configuration. The same applies to font-style Italic.

The styles are also dropped if "inherit" is set as the value.

There could be undesired consequences with wiki/html text as this property bypasses the cleanup added to avoid adverse effects of preserving such styling.

"licenses" section

Defines multiple licenses for (clustered) CodeBeamer servers using the same/shared installation.

This may contain several license entries inside: CB tries to load the appropriate one matching with the current host's ID.

Note: typically users should not edit this section, but just copy-paste licenses provided by Intland !

A typical example

{
  "license" : [ {
    "code" : "34932A47089C0922",
    "expire" : "Dec-31-2008",
    "hostid" : "WIN-29-26-ED-D4"
  }, {
    "code" : "2D412757B4846E21",
    "expire" : "Dec-31-2008",
    "hostid" : "WIN-1D-48-29-CE"
  } ]
}

timeout

You can specify the session timeout for floating licenses in minutes.

Default value is 90 min.

Minimum value is 60 min.

"timeout" : 60,


CB 10.0:

timeout unit is changed to seconds

"timeout" : 3600,


CB 10.1:

timeout is deprecated and no longer processed.

Use session section's timeout configurations instead.


License with timeout full example

"licenses" : {
    "license" : [ {
      "code" : "ABCD1234EFGH56789",
      "companyName" : "Example Company",
      "expire" : "Dec-31-2022",
      "generatedForRelease" : "9.0.0 - ...",
      "generationTime" : "Apr-15-2020 13:28",
      "generatorRelease" : "10.2.0-SNAPSHOT1",
      "hostid" : "LIN-0B:E7:19:C1:5B:18",
      "store_last_activity_time" : true,
      "timeout" : 60,
      "product" : [ {
        "type" : "ALM +Escalation +Jira integration +Branching",
        "user" : [ {
          "kind" : "floating",
          "licenses" : 10,
          "type" : "user"
        }, {
          "kind" : "named",
          "licenses" : 20,
          "type" : "user"
        } ]
      }
  } ]
},

"session" section

Since CB 10.0

Configures the session related settings.

A typical example

CB 10.0

"session": {
    "floatingLicenseSessionTimeout": 3600,
    "namedLicenseSessionTimeout": 900
}


CB 10.1

"session": {
    "floatingLicenseSessionTimeout": 60,
    "namedLicenseSessionTimeout": 15
}


CB CARMEN-SP4

"session": {
    "floatingLicenseSessionTimeout": 60,
    "namedLicenseSessionTimeout": 15,
    "anonymousSessionTimeout": 60
}

floatingLicenseSessionTimeout

  • Configures the timeout of the floating license's sessions.
  • CB 10.0 unit is seconds.
  • CB 10.1 unit is minutes.
  • Minimum value is 60 minutes.
  • Default value is 90 minutes.

namedLicenseSessionTimeout

  • Configures the timeout of the named license's sessions.
  • CB 10.0 unit is seconds.
  • CB 10.1 unit is minutes.
  • Minimum value is 1 minute.
  • Default value is 90 minutes.

anonymousSessionTimeout

  • Configures the timeout of anonymous sessions.
  • unit is seconds.
  • Minimum value is 60 seconds.
  • Default value is 60 seconds.

"LDAP" section

Configuration for LDAP authentication. Typically configured using the UI, see here: Post-installation Configuration

A typical example

See general.xml for an exmaple

"LDAP": {
  "server" : {
    "anonymousReadOnly" : false,
    "base" : "",
    "password" : "",
    "referral" : "follow",
    "url" : "ldap://your-ldap-server:389",
    "userDn" : ""
  },
  "mapping" : {
    "address" : "streetAddress",
    "city" : "L",
    "company" : "company",
    "country" : "c",
    "email" : "mail",
    "firstName" : "givenName",
    "lastName" : "sn",
    "mailSuffix" : "",
    "mobile" : "mobile",
    "name" : "sAMAccountName",
    "password" : "",
    "phone" : "telephoneNumber",
    "state" : "st",
    "status" : "",
    "timeZonePattern" : "tz",
    "title" : "",
    "zip" : "postalCode"
  },
  "realm" : {
    "enabled" : false,
    "fallback" : true,
    "storePassword" : true,
    "userBase" : "",
    "userPattern" : "",
    "userSearch" : "sAMAccountName={0}",
    "userSubtree" : true
  },
  "cache" : {
    "enabled" : true,
    "failureTTL" : 60000,
    "successTTL" : 300000
  }
}

LDAP user synchronization

Since CB 20.11-LTS (Carmen)

Starting from Carmen release there is support to synchronize users in bulk from LDAP server.

See: Post-installation Configuration

A typical example
"sync" : {
    "syncEnabled" : true,
    "syncInterval" : "1D",
    "syncLdapModifyTimestampFormat" : "yyyyMMddHHmmssX",
    "syncPageSize" : 500,
    "syncUserBase" : "ou=people",
    "syncUserSearch" : "uid=*",
    "syncUserSubtree" : true
}

"jvm" section

Configure who and how often gets a notification email if Codebeamer's memory grows too high

A typical example

"jvm": {
  "recipients" : "admins@intland.com"
}

"CTI" section

(deprecated)



"report" section

The "autocompleteSearchDelay" property has been introduced to avoid the server getting overloaded with calls to fetch user or group suggestions.


To control the auto complete search delay for user reference fields in the report filters as per the user load, add the following node to the Application Configuration:

"report": {
  "autocompleteSearchDelay" : 500
}


The following table provides the description of the "autocompleteSearchDelay" property.

Property Default Value Description
"autocompleteSearchDelay"
500
The default value is also the minimum value, that is, the value of the "autocompleteSearchDelay" property cannot be less than 500 milliseconds.

There is no maximum value for this property.
.
The set value is the time period in milliseconds after which the auto complete ajax call is fired to fetch user suggestions if the user has typed more than 2 characters.

Example:

When the value of the "autocompleteSearchDelay" is set to 3000, the ajax call is fired after 3 seconds if the user has typed more than 2 characters.
"report": {
  "autocompleteSearchDelay" : 500
}

"reports" section

Configures limits for Vintage Reports, e.g. the max. number of rows that can be exported

A typical example

"reports": {
  "export" : 5000
}

"traceability" section

Configure the settings of the Traceability Browser. For more information, see Traceability Browser.

A typical example

"traceability": {
  "ignoreRedundantsInBrowser" : true,
  "ignoreRedundantsInTab" : true,
  "maxAdditionalLevelElements" : 25000,
  "maxAdditionalLevelElementsPerItem" : 200,
  "maxElementsOnIntelligentView": 5000,
  "maxFirstLevelElements" : 25000,
  "maxFirstLevelElementsPerItem" : 3,
  "maxTestRunItemsPerItem": 100,
  "pageSize" : 50,
  "maxNumberOfLevels" : 5
}

The following table provides the details of the properties:

Property Default Value Minimum Limit
Maximum Limit
Description
"ignoreRedundantsInBrowser" true Not applicable
Not applicable
If set to true, the Traceability Browser ignores redundant nodes.
Set to false to disable.
"ignoreRedundantsInTab" true Not applicable
Not applicable If set to true, the Traceability tab of the work item page ignores redundant nodes.
Set to false to disable.
"maxAdditionalLevelElements" 25000 No minimum limit.
Set this value to at least 1 for the correct functioning of the traceability features.
100000
Defines the maximum number of tracker items on levels other than Level 1.
"maxAdditionalLevelElementsPerItem" 200 No minimum limit.
Set this value to at least 1 for the correct functioning of the traceability features.
200
Defines the maximum number of items per items on the preceding levels. Applicable from Level 2 and below.
"maxElementsOnIntelligentView" 10000
No minimum limit.
Set this value to at least 1 for the correct functioning of the traceability features.
100000
Defines the maximum number of tracker items displayed on Intelligent Table View.
"maxFirstLevelElements" 25000 No minimum limit.
Set this value to at least 1 for the correct functioning of the traceability features.
100000
Defines the maximum number of tracker items on Level 1.
"maxFirstLevelElementsPerItem" 500 No minimum limit.
Set this value to at least 1 for the correct functioning of the traceability features.
500
Defines the number of upstream or downstream references displayed in the reference popup window of the item.
"maxTestRunItemsPerItem" 10 No minimum limit.
Set this value to at least 1 for the correct functioning of the traceability features.
100
Defines the maximum number of Test Run items per items on preceding levels, Applicable from Level 1 and below.
"pageSize" 25 1
250
Defines the default page size.
The tracker items on the Initial level are loaded first, the other items are loaded by incremental scroll.
"maxNumberOfLevels" 5 No minimum limit.
Set this value to at least 1 for the correct functioning of the traceability features.
No maximum limit.
Increase this value with caution: if too many levels are configured, managing your view can become difficult.

Defines the maximum number of reference levels displayed.
For further information, see step 8 on page Create an Intelligent Document View, or step 12 on page Create an Intelligent Table View.

"review" section

Configuration for Reviews.

From codebeamer 21.04 you are able to configure which roles would be preselected as Viewers while creating a new Review. Use the preSelectedViewerRoleNames property with a comma separated list of role names. Use empty string to disable the preselection ("").

A typical example

 "review" : {
   "hideTrackerItemReview" : true
   "maximumItemsInReview": 500,
   "preSelectedViewerRoleNames": "Developer,Test Engineer"
 }


Automatic Reviewer Role Setting

Since codebeamer release 21.09-LTS (EMMA). See Automatic Reviewer Role Setting

"review" : {
"restrictRolesBasedOnFieldConfiguration" : true
}




Default value: false.
If set to true:

  • the Reviewer's role is pre-selected on the review action dialog in case the field through which the reviewer is assigned to an item accepts one specific role only. The pre-selected role cannot be changed by the user.
  • the Reviewer can choose from the restricted list of roles displayed on the review dialog in case the field through which the reviewer is assigned to an item accepts more than one roles.


Finish a Review - Disabling the Omission of Workflow Actions


Since Codebeamer release 22.04 (FELICITY). Fore more information, see Finish a Review.

"review": {
  "alwaysExecuteOnlyValidTransitions" : true
}




Default value: false

If set to true :

  • the Execute only valid transitions checkbox is selected and disabled on the review close page. By hovering the mouse over the disabled checkbox, a tooltip explaining the configuration is displayed.
  • the [Finish Review] button is disabled until all the reviewed items have a valid status change selected (where there is an executable transition from the current status of the item to the selected target status).

Disable Reference Update Badges

Since Codebeamer 22.04-SP4 (FELICITY) release.


"review" : {
      "hideReferenceUpdateBadges" : true
}


Default value: false

If set to true:

  • the references box will always be shown for reviewed items, even when there are no references
  • the reference count will not be shown
  • the "Updated References" badge will not be displayed

"IPFilters" section

Configures IP filters, see: CB:/images/issuetypes/task.gifYou must login to see this link. Register now, if you have no user account yet.

A typical example

"IPFilters": {
  "IPFilter" : [ {
    "name" : "global",
    "text" : "Allow from 10.1.2.3"
  }, {
    "name" : "source_view",
    "text" : "Allow from 10.1.2.3"
  } ]
}

"testManagement" section

Configures TestManagement, see: Codebeamer QA: Test Management

A typical example

"testManagement": {
  "allowTiming" : true,
  "autoCopyExpectedResults" : true,
  "createTestRunForEachTestCase" : false,
  "disableEditingBuiltInFieldsName" : true,
  "forceCopyOnReRun" : true,
  "includeTestsRecursively" : false,
  "rerunClearsResults" : true,
  "runOnlyAcceptedTestCases" : true,
  "stopTimerWhileRepotingBug" : false,
  "testRunnerShowsBlock" : true,
  "testRunnerShowsEndRun" : true,
  "testSetAllowDuplicates" : false,
  "reviewNeededForFormalTestRuns" : false,
  "maxStepReuse" : 2
  "massTestSetRunGenerationEnabled" : false,
  "maxTestCasesInTestSetOnCreation": 1000
}

Mass Test Run Generation

Configures the availability of the mass test run generation.

"testManagement": {
  "massTestSetRunGenerationEnabled" : false
}




Default value: false.

Set the value to true to enable the mass test run generation.

"testCoverage" section

Automatic Submission of Results

By default, coverage browser results load immediately and automatically. But it is also possible to change this behavior to edit the filters before the results are shown. To disable the results loading automatically, add the the following section:

   "testCoverage" : {
      "automaticSubmitDisabled" : true
   }


If automaticSubmitDisabled is set to true, the user must click the [GO] button to apply the filters and load the results.

If automaticSubmitDisabled is set to false or this section is not present in the application configuration, the results load automatically.



Default Preselection of Trackers

The number of the preselected trackers is limited to five by default when using the below filters in the specified coverage browsers:

Property Default Value Description
"testCoverage" : {
     "maxNumberOfInitialTrackers" :
}

5
Initial level filter - using Test Run browser or the Release Coverage.
"testCoverage" : {
     "maxNumberOfTestCaseTrackers" :
}

5
Test Case filter - using any kind of Test Run browsers.
"testCoverage" : {
     "maxNumberOfSecondaryTrackers" :
}

5
Second level filter - using Epics, Requirements and User Story trackers.


See codebeamer QA: Test Management.

"graphviz" section

(deprecated)

"slack" section

ChatOps / Slack integration configuration, see: codebeamer Integration with Slack

A typical example

"slack": {
  "enabled" : true,
  "slackWorkspaceConfig" : {
    "botOauthToken" : "xoxb-293664950436-nt431xjdRPi0yNXTn5FUfLEl",
    "clientId" : 2.9467519112729364E11,
    "clientSecret" : "6552958917b339ca9f827b241752487f",
    "notificationsEnabled" : true,
    "slackWorkspaceName" : "MTS",
    "slackWorkspaceUrl" : "https://team-mts.slack.com",
    "teamId" : "T8NKV5M3R",
    "verificationToken" : "JfiBw7Pc1cHaROjYHyVbykE7",
    "notificationChannel" : {
      "text" : "notifications"
    }
  }
}

"GeoIP" section

Configure GeoIP service: how the IP address of a new registered user is translated to country/geo-location

A typical example

"geoIp": {
  "requestUrl" : "http://geoip1.maxmind.com/f?l=...."
}[https://codebeamer.com/cb/images/space.gif]

"projectImport" section

Project-import configuration

A typical example

"projectImport": {
  "showConfirmDialogFileSizeLimit" : 5
}

since EMMA 21.09

"projectImport": {
  "showConfirmDialogFileSizeLimit" : 5,
  "enableImportingFromNotSupportedCodebeamerVersions" : false
}

"uploads" section

Configures which kind of files can be uploaded to codeBeamer.

For details see: Configuring Which Files Can be Uploaded to Codebeamer

A typical example

"uploads": {
  "filter" : {
    "orderAllowDeny" : false,
    "denyMime" : [ {
      "text" : "image/svg+xml"
    }, {
      "text" : "text/html"
    } ],
    "allowMimeRegexp" : {
      "text" : ".*"
    }
  }
}

"metadatas" section

See: Entity Metadata

Document/Directory custom attribute definitions in display order.

A typical example

 "metadatas": {
  "metadata" : [ {
    "displayName" : "SAP Document Number",
    "key" : "sapDocNo",
    "object" : 1,
    "type" : "text"
  }, {
    "displayName" : "SAP Document Version",
    "key" : "sapDocRev",
    "object" : 1,
    "type" : "int"
  } ]
}

"tracker-filter" section

The "tracker-filter" property can only be configured in Codebeamer version 2.0 and newer.

Consider the side effects on the performance before changing the configuration.

Configure the number of trackers displayed in the tracker selector drop-down lists.

"tracker-filter" : {
   "limit" : 25
}


The below table contains the description of this property.

Property Default Value Description
"limit"
100
The value of the "limit" property sets the number of trackers to be displayed in the tracker selector drop-down lists.
Default Value Minimum Value Maximum Value
100
25
500

"trash" section

Configures project trash behaviour. In earlier versions it was not allowed to delete work items permanently from trash. Staring from version 9.1.0, it is configurable (not allowed by default). If you delete items from the trash then it may have effect on baselines.

A typical example

"trash": {
  "possibleToDeleteOnlyItems" : true
}

Attributes

possibleToDeleteOnlyItems = false - If it is true delete work items from trash is allowed ("true"/allowed, "false"/not allowed)

"cbSystemProperties" section

Set JVM system properties.

A typical example

"cbSystemProperties": {
  "props" : [
            {
                "prop" : {
                    "key" : "svnkit.http.methods",
                    "text" : "Basic,Digest,Negotiate,NTLM"
                }
            },
            {
                "prop" : {
                    "key" : "WIKI-MAX-LINE-LENGTH-IN-KB",
                    "text" : "20"
                }
            }
        ]
    },

The buffer size for JSPWikiMarkupParser can be reduced by adding a WIKI-MAX-LINE-LENGTH-IN-KB system property that should be set to 20 to reduce the buffer size to 20000.

"websocket" section

(deprecated)

Since CB 20.11-LTS (Carmen), this parameter should be used: "notification" section.

"urlValidator" section

Wiki markup and Wiki Link/URL fields can contain valid URLs like "https://codebeamer.com" in the form of [https://codebeamer.com] Available since CB 10.0

These URLs can only contain valid URLs, but sometimes users may want to add:

  • custom URLs like "skype:username?call"
  • or URLs with custom schemes like "doors://codebeamer.com/mydoorspoint"

System Administrators in the Application Configuration can configure codeBeamer to allow such URLs like this:

 "urlValidator" : {
    "schemes" : "doors,myscheme",
    "regexp" : "skype:[a-z][a-z0-9\\.,\\-_]{5,31}\\?call"
  }


The example above allows URLs as below:

 doors://codebeamer.com:7892/?version=3&view=0000030
 skype:askypeuser?call


The rules are:

  • The standard URLs and schemes like "https://codebeamer.com" is always accepted: these can not be disabled.
  • Add a schemes setting: there you can list your custom URL schemes which are accepted. In this example above doors,myscheme setting means that doors or myscheme schemes are allowed: for example doors://codebeamer.com:7892/?version=3&view=0000030 or myscheme://codebeamer.com?file=dat are accepted. The rest of the url must be still valid in this case similar to any standard HTTP url: just the scheme part may vary.
  • Add a regexp setting: here you can set any valid Regular Expression: URLs matching this expression will be accepted. Be careful with your definition of the Regexp: avoid adding a very open regexp !!! Use some carefully crafted regular expression.
  • You provide both "scheme" and "regexp" in your configuration: then the URLs with matching both rules will be accepted.

Note: this is just an example of a simplified regexp which accepts simple Skype urls like "skype:skypeuser?call". For a more complete Skype url regexp see: https://github.com/kevva/skype-regex/blob/master/index.js


"validatorConfig" section

User validation can be configured since 10.1 version. This contain pattern to match against described as Java regex expressions, and validation messages as text. Below are the default config as example, this does not need to be configured. Only configure changes apart from the default values. Make sure to use the correct key and escape the patterns.

"validatorConfig" : {
	"userFormValidator" : {
		"messages" : {
			"en" : {
				"user.name.required" : "User name is required, and must start with an alpha-numeric character, and can contain only alpha-numeric and \" # - _ . @ / \" characters. Its length must be between 2 and 50 characters.",
				"user.title.nomatch" : "Title can contain only alpha-numeric and \" . , - \" characters. Its length must be less than 70 characters.",
				"user.firstName.required" : "First name is required, and can contain only alpha-numeric and \" # - _ . @ \" characters. Its length must be less than 70 characters.",
				"user.lastName.required" : "Last name is required, and can contain only alpha-numeric and \" # - _ . @ \" characters. Its length must be less than 70 characters.",
				"user.phone.required" : "Phone is required.",
				"user.phone.nomatch" : "Phone can contain only alpha-numeric and \" + - ( ) \" characters. Its length must be less than 70 characters.",
				"user.phone.invalid" : "Invalid phone number.",
				"user.mobile.nomatch" : "Mobile/IP Voice can contain only alpha-numeric and \" + - _ . ( ) \" characters. Its length must be less than 70 characters.",
				"user.company.required" : "Company is required.",
				"user.company.nomatch" : "Company can contain only alpha-numeric and \" + - & @ . , \" characters. Its length must be less than 70 characters.",
				"user.industry.required" : "Industry is required.",
				"user.address.required" : "Address is required.",
				"user.address.nomatch" : "Address can contain only alpha-numeric and \" + - . , / \" characters. Its length must be less than 70 characters.",
				"user.city.required" : "City is required.",
				"user.city.nomatch" : "City can contain only alphabetic, and \" - \" characters. Its length must be less than 70 characters.",
				"user.zip.required" : "Zip/postal code must be at least three characters.",
				"user.zip.nomatch" : "Zip/postal code can contain only alpha-numeric and \" - \" characters. Its length must be less than 15 characters.",
				"user.country.required" : "Country is required.",
				"user.state.nomatch" : "State/Province can contain only alphabetic, and \" - \" characters. Its length must be less than 50 characters.",
				"user.skills.nomatch" : "Skills can contain only alpha-numeric and \" . , - < > ( ) [ ] \" characters.",
				"user.dateFormatPattern.required" : "Date format is required.",
				"user.timeZonePattern.required" : "Time zone is required.",
				"error.disabled.email.address" : "Email system error, please contact Intland.",
				"error.disallowed.email.address" : "The entered e-mail address is not allowed.",
				"error.user.inactivation" : "Account is under activation.",
				"error.user.exists" : "Account name is already reserved.",
				"error.email.address.required" : "Email address is required.",
				"error.disallowed.email.address" : "The entered e-mail address is not allowed.",
				"validation.ChangePasswordForm.newPassword.empty.message" : "New password must be provided",
				"validation.ChangePasswordForm.newPasswordAgain.empty.message" : "New password must be provided",
				"validation.ChangePasswordForm.newPassword.notMatching.message" : "New password must match",
				"validation.ChangePasswordForm.newPasswordAgain.notMatching.message" : "New password must match",
				"validation.ChangePasswordForm.newPassword.notValid.message" : "Password is not valid: {0}",
				"validation.ChangePasswordForm.newPasswordAgain.notValid.message" : "Password is not valid: {0}",
				"passwordPolicy.module.notEnforced.label" : "Not enforced",
				"passwordPolicy.module.minimumOneUpperCaseLetter.label" : "uppercase letter",
				"passwordPolicy.module.minimumOneLowerCaseLetter.label" : "lowercase letter",
				"passwordPolicy.module.minimumOneNumber.label" : "number",
				"passwordPolicy.module.minimumOneSpecialLetter.label" : "special letter (@#$%^&+=!*()_-[]\\{\\}|\')",
				"passwordPolicy.module.minimalLength.label" : "Minimal length is",
				"passwordPolicy.module.middle.label" : "must contain at least one:",
			},
			"de" : {
				"user.name.required" : "Der Benutzername muss angegeben werden, und zwischen 2 und 50 Zeichen lang sein, muss mit einem alphanumerischen Zeichen beginnen, darf nur alphanumerische Zeichen sowie \" - _ . : , ; = @ $ & ! * ( ) / \\ ? % + ~ # [ ] \" enthalten.",
				"user.title.nomatch" : "Titel kann nur alphanumerische und \" - _ . : , ; = @ $ & ! * ( ) / \\ ? % + ~ # [ ] \" Zeichen enthalten. Maximale Länge sind 70 Zeichen.",
				"user.firstName.required" : "Der Vorname muss angegeben werden, darf aber nur max. 70 Zeichen lang sein.",
				"user.lastName.required" : "Der Nachname muss angegeben werden, darf aber nur max. 70 Zeichen lang sein.",
				"user.phone.required" : "Die Telefon-Nr. muss angegeben werden.",
				"user.phone.nomatch" : "Telefon kann nur alphanumerische und \" + - ( ) \" Zeichen enthalten. Maximale Länge sind 70 Zeichen.",
				"user.phone.invalid" : "**Invalid phone number.",
				"user.mobile.nomatch" : "Mobile/IP Voice kann nur alphanumerische und \" + - _ . ( ) \" Zeichen enthalten. Maximale Länge sind 70 Zeichen.",
				"user.company.required" : "Die Firma muss angegeben werden.",
				"user.company.nomatch" : "Firma kann nur alphanumerische und \" + - & @ . \" Zeichen enthalten. Maximale Länge sind 70 Zeichen.",
				"user.industry.required" : "Die Branche muss angegeben werden.",
				"user.address.required" : "Die Strasse und Haus-Nr. müssen angegeben werden.",
				"user.address.nomatch" : "Adresse kann nur alphanumerische und \" - _ . : , ; = @ $ & ! * ( ) / \\ ? % + ~ # [ ] \" Zeichen enthalten. Maximale Länge sind 70 Zeichen.",
				"user.city.required" : "Die Stadt muss angegeben werden.",
				"user.city.nomatch" : "Stadt kann nur alphanumerische und \" - _ . : , ; = @ $ & ! * ( ) / \\ ? % + ~ # [ ] \" Zeichen enthalten. Maximale Länge sind 70 Zeichen.",
				"user.zip.required" : "PLZ muss angegeben werden, und mindestens 3 Ziffern haben.",
				"user.zip.nomatch" : "Postleitzahl kann nur alphanumerische und \" . , - \" Zeichen enthalten. Maximale Länge sind 15 Zeichen.",
				"user.country.required" : "Das Land muss angegeben werden.",
				"user.state.nomatch" : "Bundesland kann nur alphanumerische und \" - _ . : , ; = @ $ & ! * ( ) / \\ ? % + ~ # [ ] \" Zeichen enthalten. Maximale Länge sind 50 Zeichen.",
				"user.skills.nomatch" : "Fähigkeiten kann nur alphanumerische und \" - _ . : , ; = @ $ & ! * < > ( ) / \\ ? % + ~ # [ ] \
 \\n \" Zeichen enthalten.",
				"user.dateFormatPattern.required" : "Das Datumsformat muss angegeben werden.",
				"user.timeZonePattern.required" : "Die Zeitzone muss angegeben werden.",
				"error.disabled.email.address" : "E-Mail Systemfehler, bitte benachrichtigen Sie Intland.",
				"error.disallowed.email.address" : "Die eingegebene E-Mail Adresse ist unzulässig.",
				"error.user.inactivation" : "Benutzer Konto ist noch nicht aktiviert.",
				"error.user.exists" : "Benutzer Name ist bereits reserviert.",
				"error.email.address.required" : "Eine E-Mail Adresse wird benötigt.",
				"error.disallowed.email.address" : "Die eingegebene E-Mail Adresse ist unzulässig.",
				"validation.ChangePasswordForm.newPassword.empty.message" : "Ein neues Passwort muss angegeben werden",
				"validation.ChangePasswordForm.newPasswordAgain.empty.message" : "Das neues Passwort muss nochmal angegeben werden",
				"validation.ChangePasswordForm.newPassword.notMatching.message" : "Die Wiederholung stimmt nicht mit dem neuen Passwort überein",
				"validation.ChangePasswordForm.newPasswordAgain.notMatching.message" : "Die Wiederholung stimmt nicht mit dem neuen Passwort überein",
				"validation.ChangePasswordForm.newPassword.notValid.message" : "Das neue Passwort ist nicht zulässig: {0}",
				"validation.ChangePasswordForm.newPasswordAgain.notValid.message" : "Das neue Passwort ist nicht zulässig: {0}",
				"passwordPolicy.module.notEnforced.label" : "Nicht erzwungen",
				"passwordPolicy.module.minimumOneUpperCaseLetter.label" : "Großbuchstabe",
				"passwordPolicy.module.minimumOneLowerCaseLetter.label" : "Kleinbuchstabe",
				"passwordPolicy.module.minimumOneNumber.label" : "Zahl",
				"passwordPolicy.module.minimumOneSpecialLetter.label" : "Sonderzeichen (@#$%^&+=!*()_-[]\\{\\}|\')",
				"passwordPolicy.module.minimalLength.label" : "Die minimale Passwort-Länge ist",
				"passwordPolicy.module.middle.label" : "muss mindestens eines der folgenden Zeichen enhalten:",
			}
		},
		"patterns" : {
			"userNamePattern" : "^[\\p{L}0-9+\\-_.:,;=@$&!*()/\\?\\%\\+\\~\\#\\[\\]\\\\ ]{1,50}",
			"userTitlePattern" : "^[\\p{L}0-9\\-_.:,;=@$&!*()/\\?\\%\\+\\~\\#\\[\\]\\\\ ]{1,70}",
			"namePattern" : "^[\\p{L}0-9\\-_.:,;=@$&!*()/\\?\\%\\+\\~\\#\\[\\]\\\\ ]{1,70}",
			"userPhonePattern" : "^[\\p{Digit}+\\-() ]{1,70}",
			"userMobilePattern" : "^[\\p{Alnum}+\\-_.() ]{1,70}",
			"userCompanyPattern" : "^[\\p{L}0-9+\\-_.:,;=@$&!*()/\\?\\%\\+\\~\\#\\[\\]\\\\ ]{1,70}",
			"userAddressPattern" : "^[\\p{L}0-9+\\-_.:,;=@$&!*()/\\?\\%\\+\\~\\#\\[\\]\\\\ ]{1,70}",
			"userCityPattern" : "^[\\p{L}0-9\\-_.:,;=@$&!*()/\\?\\%\\+\\~\\#\\[\\]\\\\ ]{1,70}",
			"userZipPattern" : "^[\\p{L}0-9\\-\\\\ ]{1,15}",
			"userStatePattern" : "^[\\p{L}0-9\\-_.:,;=@$&!*()/\\?\\%\\+\\~\\#\\[\\]\\\\ ]{1,50}",
			"userSkillsPattern" : "^[\\p{L}0-9\\-_.:,;=@$&!*<>()/\\?\\%\\+\\~\\#\\[\\]\
\\n\\\\ ]+",
			"validEmailPattern" : "^[_A-Za-z0-9-]+(\\.[_A-Za-z0-9-]+)*@[A-Za-z0-9-]+(\\.[A-Za-z0-9-]+)*((\\.[A-Za-z]{2,}){1}$)"
		}
	}
}

"wordExport" section

Set word export properties

A typical example

"wordExport" : {
  "maxParallelProcesses" : 3,
  "timeoutSeconds" : 3600,
  "restLoaderPageSize" : 50,
  "jvmArguments" : "-Xmx3G",
  "debugLogging" : false,
  "runJdwp" : false,
  "jdwpPort" : 5005,
  "enableLegacyWordExports" : false
}

Added export application URL and run/cleanup period values.

Since CB 10.1

"wordExport" : {
  "wordExportServerUrl" : "http://localhost:8081",
  "apiKeyTimeToLive" : "1D",
  "cleanupPeriod" : "1D",
  "cleanupTimeToLive": "5D",
  "reRunPeriod" : "1H"
}

Since CB 21.04

"wordExport" : {
  "auditTrailLimit" : 100
}

Limit used when exporting tracker audit trail. Number of changes exported is 25 by default and can be changed with above config option.

Since CB Felicity

  • enableRemote: enable/disable remote mode directly, adding wordExportServerUrl no longer configure remote mode

"wordExport.pdfConvertMethod" section

Starting from Carmen release PDF conversion for word documents will be disabled by default.

To enable it, add the "pdfConvertMethod" property to "wordExport" config section. Valid values are: "aspose" and "msword"

Since CB 20.11-LTS (Carmen)

Aspose

Aspose can be enable with a valid Aspose license.
(We tested the following license on our end:
- Product Family: Aspose.Words
- Individual Product: Aspose.Words for Java
- License Type: Contact to the company Aspose please to get more information which license is the best for your company)



License must be provided through system variables:

  • aspose.license.path - Points to the license file e.g: /home/asponse/license.txt
  • aspose.license - Contains the license itself

In case of issues because of the dot "." character in the variable name, configure the following in the application configuration:

"wordExport" : {
...
     "jvmArguments" : "-Xmx3G -Daspose.license.path=<path>"
...
 },




To enable custom Arial font for PDF generation, use the "aspose.arial.font.path" system variable with the path of the font file.


In case of native installation, the jar must be provided on the classpath or added to [java_jre_folder]/lib/ext/ directory. Deodorized version of codebeamer already contain this jar


Jar: aspose-words-19.2-jdk16.jar

MS Word

To enable MS Word PDF conversion through Jacob framework, cb-office application must run on Windows machine with MS Word application installed.

If PDF export fails with exception "Failed to create desktop folder: ..." means that cb-office app failed to fix this bug. The folder [windows]\System32\config\systemprofile\Desktop must be created by hand and permission added for the CB process.

"fileCache" section

Set temporally file storage properties.

Restart of a single node server or restart of all nodes in a cluster will result in data loss in this temporally storage.

Since CB 10.1.

A typical example

"fileCache": {
  "timeToLive" : 432000, // in seconds
  "cleanupPeriod" : 86400 // in seconds
}

"workflowAction" section

Set workflow action properties

scriptTimeoutInSeconds (since 10.1)

Possibility to set timeout of script execution in workflow actions.

A typical example

"workflowAction" : {
   "scriptTimeoutInSeconds" : 2
}

"env.properties" file section

System properties can be defined by adding an env.properties on the configuration path. This file will be loaded before the application configuration is loaded.

The following variables can be set:

  • CB_REMOTE_API_URL
  • CB_LICENSE
  • CB_NOT_ENOUGH_TOTAL_MEMORY_CHECK_ENABLED
  • CB_MIN_AVAILABLE_MEMORY_PERCENTAGE
  • CB_MIN_AVAILABLE_PHYSICAL_MEMORY_PERCENTAGE
  • RPE_HOME
  • CB_SESSION_CLEANUP
  • CB_LOGGING_ERROR_ .. variables
  • CB_SCHEDULER_FACTORY_ .. variables

Not configurable:

  • CB_MAC_ADDRESS
  • CB_CLUSTER_SERVER_ID
  • CB_CLUSTER_ENABLED
  • CB_RMI_ .. variables
  • CB_JGROUPS_ .. variables
  • CB_INIT_SQL_FILES

Since CB 10.3

"signature" section

Since CB 20.11-LTS (Carmen)

"signature" : {
    "usernameRequired" : true (default) / false
},


usernameRequired

  • true: username will be blank on the login popup
  • false: username will be prefilled with the current user's username on the login popup

During electronic signature generation for not FDA-compliant industries (e.g.: automotive), it is acceptable that the username is prefilled in the default codeBeamer login popup where the user identifies itself (it has no effect on SSO login screens).


For more information please read this page:

Generating Electronic Signature with SSO Login

"applicationApi" section

Since CB 20.11-LTS (Carmen)

"applicationApi" : {
    "basicAuthAllowed" : true (default) / false,
    "callbackUrl" : "http://localhost:8080/cb"
},
  • basicAuthAllowed: allow/deny access to rest endpoints if OpenID is configured
  • callbackUrl: export/import applications callback URL to codebeamer, autodetected if not configured

"excelExport" section

Since CB 20.11-LTS (Carmen)

"excelExport" : {
    "exportMultiValuesToMultiRows" : true (default) / false,
    "addDescriptionToExcelExport" : true / false (default),
    "exportDatesAsUserFormattedStrings" : true / false (default),
    "masterTemplateFile" : "..."
},
  • exportMultiValuesToMultiRows: if the multiple valued fields are exported as multiple rows
  • addDescriptionToExcelExport: if the description of the Tracker-item is exported to the Excel
  • exportDatesAsUserFormattedStrings: if the dates should be exported as String using the users' date-format and time-zone
  • masterTemplateFile: filepath to configured excel master-template file, can be configured on separate UI on sysadmin page

"excelImport" section

Since CB 20.11-LTS (Carmen)

Configuration to import excel files through either JVM or remote mode.

A typical example

"excelImport" : {
	// common config
	"maxRows": 10000,
	"maxColumns": 100,
	"maxCells": 1000000,
	// jvm config
	"maxParallelProcesses" : 3,
	"jvmArguments" : "-Xmx3G",
	"runJdwp" : false,
	"jdwpPort" : 5006,
	"jdwpSuspend" : false,
	"timeoutSeconds" : 3600,
	// remote config
	"remoteUrl" : ""
},
  • common max: allowed max row/column/cell count in excel document, import fails if max is overstepped
    • it is important to remove the entire rows instead of just clearing the content
  • maxParallelProcesses: allowed parallel processes for JVM mode, import fails otherwise
  • jvmArguments: arguments to pass to external JVM process
  • timeoutSeconds: max runtime of external JVM process
  • runJdwp, jdwpPort, jdwpSuspend: configure remote debug
  • remoteUrl: remote application URL, if configured implies remote mode import


Since codebeamer 21.09-LTS (EMMA)

The maxParallelProcesses parameter has been deprecated since codebeamer 21.09-LTS (EMMA).


Since CB Felicity

  • enableRemote: enable/disable remote mode directly, adding remoteUrl no longer configure remote mode

"notification" section

Since CB 20.11-LTS (Carmen)

A typical example

"notification" : {
    "enableWebsocket" : true (default) / false,
    "waitBeforeNotifyInSeconds" : 0,
    "notificationThreadPoolCoreSize" : 1,
    "notificationThreadPoolMaximumSize" : 1,
    "notificationThreadPoolKeepAliveTimeInSeconds" : 0
}
  • waitBeforeNotifyInSeconds - configure seconds before message is sent to the browser, applicable for slow instances
  • notificationThreadPoolCoreSize - core size of notification executor pool, increase if waitBeforeNotifyInSeconds is increased
  • notificationThreadPoolMaximumSize - maximum size of notification executor pool, increase if waitBeforeNotifyInSeconds is increased
  • notificationThreadPoolKeepAliveTimeInSeconds - seconds to keep alive the over core size threads
Please note that websocket will keep one connection alive per browser tab, it means if you have a proxy server with connection count limit, you need to monitor is and change it according to the usage of it
Please note that changing notification thread pool will only take effect after restart.

"deployment" section

Since CB 20.11-LTS (Carmen)

A typical example

"deployment" : {
    "enabled" : false (default) / true,
    "waitBeforeJobExecutionInSeconds" : 5
},
  • enabled - enable project deployment, default value: false
  • waitBeforeJobExecutionInSeconds - configure wait time before deployment job is triggered

"dbperf" section

Since CB 20.11-LTS (Carmen)

A typical example

"dbperf" : {
    "delay" : 60,
    "lobRepetition" : 500,
    "period" : 14400,
    "tablesThreshold" : 1.3
},
  • lobRepetition - number of BLOB/CLOB repetition
  • period - measurment period

"latexPlugin" section

Since CB 20.11-SP2

The default font size is 12px, which could produce too small text when codeBeamer is running on Windows.
Default value for defaultFontSizePx is 12.
Individual font size settings on the plugin markup level will override the global setting. You can go below 12px with it.

A typical example

"latexPlugin" : {
    "defaultFontSizePx" : 24
}

"query" section

A typical example

"query" : {
    "enabledLeadingLikeReferenceFilter" : true,
    "isqlMaxItemResultCount" : 2000,
    "maxItemResultCount" : 40000
}
  • enabledLeadingLikeReferenceFilter - determines if leading like reference filters are enabled.
  • isqlMaxItemResultCount - maximum number of rows returned by an iSQL query.
  • maxItemResultCount - maximum number of rows returned by a query in codebeamer. Default value: 40000.
The value of maxItemResultCount can be increased, however do this with caution! Increasing the number of returned rows may introduce performance issues.

"features" section

Since CB-Dorothy

Section dedicated to configure features.


List of available features

  • enableDocumentEditView -- default: true, when set to false, the document edit view is not available anymore

A typical example

"features" : {
  "enableDocumentEditView" : true
}

"webSecurity" section

Since codebeamer release 21.09-LTS (EMMA).

Configuration to enable or disable Cross Site Request Forgery (CSRF) protection.

A typical example

"webSecurity" : {
    "csrfEnabled" : true
}

"csrfEnabled" - The default value is:

  • false in codebeamer release 21.09-LTS (EMMA).
  • true since codebeamer release 22.04 (FELICITY).

"externalScripts" section

Controls whether codebeamer loads and uses external JavaScript and CSS files. This feature is disabled by default. Available from codebeamer 22.04 (Felicity).

A typical example

"externalScripts" : {
    "enabled" : true
}

"ReqIF" section

Configuration to control the compression of the ReqIF .zip file, and to generate thumbnails for images. Available from codebeamer 21.09 (Emma).

A typical example

  "ReqIF" : {
    "identifier" : "<unique identifier of the codebeamer instance>",
    "enableExportPngConversion" : false,
    "enableExportCompression" : false
}
  • enableExportPngConversion - Default value: false. If set to true, ReqIF export will convert any non-PNG image to PNG, otherwise attach a default PNG image as placeholder for thumbnails.
  • enableExportCompression - Default value: true (Emma), false (from Felicity). Enable/disable stronger compression for ReqIF export.

"emailPreferences" section

Configuration to control the accessibility of the Email Delivery Customization settings in the User Preferences. For more information, see: User Preferences.Available from codebeamer 22.04 (Felicity).

A typical example

"emailPreferences" : {
    "emailPreferenceSettingEnabled" : true
}
  • emailPreferenceSettingEnabled - Default value: false. Determines whether the Email Delivery Customization settings are available.

"commentsAndAttachmentFieldPermissionConfig" section

Configuration to enable the field level permissions for Comments/Attachments.

A typical example

"commentsAndAttachmentFieldPermissionConfig" : {
    "enabled" : true
}
  • "enabled" - Default value: false. Determines whether the field level permissions for Comments/Attachments are available.

"sqlDebug" section

Since codebeamer 21.09-SP10 (EMMA) release.


Configuration to enable SQL logging for writing SQL statements into JSON files.


This feature is disabled by default. To enable it, either the "seleniumMode" or the "forcedLoggingMode" value needs to be set to true.

A typical example

{
  "sqlDebug" : {
    "seleniumMode" : false,
    "forcedLoggingMode" : false,
    "anonymousAccess" : false
  }
}
  • seleniumMode - Default value: false. It enables SQL logging even for anonymous users if set to true.
    Environment variable: CB_sqlDebug_seleniumMode
  • forcedLoggingMode - Default value: false. Setting to true enables SQL logging for requests with parameter CbParentRequestForcedSqlLogging.
    Environment variable: CB_sqlDebug_forcedLoggingMode
  • anonymousAccess - Default value: false. By setting to true, SQL logging requests is allowed with anonymous user.
    Environment variable: CB_sqlDebug_anonymousAccess

Parent requests have 2 components:

  • Parent request loggings- Parent request logging is responsible for adding parent-request ID to the AJAX request log context.
  • Parent request SQL loggings - Parent request SQL logging is responsible for writing SQL request description files to [repository]/[serverId]/[startupTime]/[requestId]_[timestamp].json.

To force SQL logging, use the CbParentRequestForcedSqlLogging parameter.
To force parentRequestId to a specific value, use the CbParentRequestForcedId parameter.

See also: Application configuration via environment variables


Application Logging

Since CB 20.11-SP4

The following environment variables are available to customize the application's logging.

CB_LOGFILE_SIZE

Log files will be rolled when they reach this size threshold. Default value is "5000 MB". Log4j2 compatible units can be used.

CB_LOGFILE_TTL

Log files will be deleted after this time period. Default value is 7d (7 days). Log4j2 compatible units can be used.


Simplified implementation of the ISO-8601 Durations standard. The supported format is PnDTnHnMnS, with 'P' and 'T' optional. Days are considered to be exactly 24 hours.

https://logging.apache.org/log4j/2.x/log4j-core/apidocs/org/apache/logging/log4j/core/appender/rolling/action/Duration.html



"massEdit" section

Since codebeamer release 21.09-LTS (EMMA). See Mass Edit


Default configuration:

...
},
"massEdit" : {
    "disableCheckMandatoryFieldsCheckbox" : false,
    "enabled" : true,
    "showResults" : null,
    "showResultsDefault" : false
},
...




If no massEdit configuration is present, the defaults are as shown in the example above.

  • enabled (boolean, default value: true) – Determines whether the Mass Edit feature is enabled (true) or disabled (false).
  • showResults (boolean, default value: null) – Determines whether Mass Edit results are processed either:
    • individually (in separate transactions) and shown separately (true),
    • together (in a single transaction) without the results shown separately (false), or
    • based on user preference (that can be either of the above two) set for each Mass Edit operation interactively (null).
  • showResultsDefault (boolean, default value: false) – Is only used if showResults is null, and defines the default value of the Show Mass Edit Results (true or false).
  • disableCheckMandatoryFieldsCheckbox (boolean, default value: false) – Determines whether the Check mandatory fields during Mass Editcheckbox is displayed:
    • If set to false - there is a checkbox that is initially selected. This can be deselected if the user intends to skip the check for mandatory fields. In this case, all modifications take place irrespective of missing values, for example.
    • If set to true - there is no checkbox, and mandatory fields are always checked.