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

codebeamer Application Lifecycle Management (ALM)

Search In Project

Search inClear

Tags:  not added yet
This wiki page is about documenting the various settings of the Application configuration.

You can reach Application configuration in System Admin --> Application configuration.

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"
  },
  "warnLowDiskSpace" : {
    "enabled" : true,
    "minFreeDisk" : 10240,
    "minPercentage" : 5
  }
}

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
},

"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 can be configured in this section, see: Office Edit for configuration options see: 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.

If you have customized documents directory with "storage-path" application key, please ensure a copy of docs/1 subfolder is still present in cbhome/repository in order to ensure after upgrade the initial directory-check will be passed.

store-into-db means binary content of artifacts will be loaded into db.

Only PostgresSQL and Oracle databases are supported (available from codebeamer 21.10 (Emma)).


"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;"
    } ]
  }
}

"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)

"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

Traceability Browser default configuration, see: Traceability Browser

A typical example

"traceability": {
  "ignoreRedundantsInBrowser" : true,
  "ignoreRedundantsInTab" : true,
  "maxAdditionalLevelElements" : 25000,
  "maxAdditionalLevelElementsPerItem" : 200,
  "maxFirstLevelElements" : 25000,
  "maxFirstLevelElementsPerItem" : 500,
  "pageSize" : 50
}


"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"
 }



"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
}

"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"
  } ]
}

"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
}

CB:/images/space.gif

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"
    }
  }
}

CB:/images/space.gif

"websocket" section

(deprecated)

"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 \" - _ . : , ; = @ $ & ! * < > ( ) / \\ ? % + ~ # [ ] \\r \\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\\-_.:,;=@$&!*<>()/\\?\\%\\+\\~\\#\\[\\]\\r\\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" : {
    "isBasicAuthAllowed" : true (default) / false,
    "callbackUrl" : "http://localhost:8080/cb"
},
  • isBasicAuthAllowed: 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 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" : true (default) / false,
    "waitBeforeJobExecutionInSeconds" : 5
},
  • enabled - enable project deployment
  • 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.
Minimum 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
}

"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 CB-Emma

Section dedicated to websecurity features.

List of available features

  • csrfEnabled -- default false, enable/disable CSRF (Cross site request forgery) protection.

A typical example

"webSecurity" : {
    "csrfEnabled" : true
}

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.htmlCB:/images/out.png