Custom fields can be managed in More: Administration: Custom fields. You can create a custom filed for every entity in the system. You can create a new custom field by clicking on "New custom field" button in the top right corner. Then the following list appears.
There are various formats of custom fields.
Some validations can be defined for each custom field:
- Group: Custom fields can be grouped for quicker navigation among them. To create a new group, enter its name into the field. To select an existing group, just start typing its name and select one from the found results.
- Min - max length: minimum and maximum length for the field (0 means that there is no restriction)
- Multiple values: while enabled, more than one item may be selected.
- Possible values: possible values for the "List" fields. One line for each value.
- Default value: default value to apply if none selected.
Default types of custom fields
Address - Google map
This field (an address with a link to google maps) is perfect for adding addresses and allows you to search google maps with only one click. After activating the field, you will have this box to fill in the address.
This custom field come in handy when you want to set amount of money for goods.
It can be used for various calculations with a calculated custom field, which we will be looking at later. This is how it looks when you are editing a task. You just fill in the number.
This is a numeric custom field with a default value (starting point) that will automatically increase by 1 for each new issue that is created until it reaches the maximum value within "from-to" range. After it reaches the limit, all the following items get the default value (usually 1) so the counting does not start again from the beginning. Sequential numbers can be counted globally (one row) or within each project or task type individually (more duplicate rows) depending on whether the respective checkboxes "sequential numbers are counted within" are ticked or not. Autoincrement value is pre-filled automatically but can be changed manually.
The scenario begins with "default value" 1, range "from-to" is set 0-999, checkboxes "sequential numbers are counted within" are not ticked.
Project 1 - autoincrement value set to 1 (automatically)
Project 2 - autoincrement value set to 2 (automatically)
Project 3 - autoincrement value set to 66 (manually)
Project 4 - autoincrement value set to 67 (automatically)
Project 5 - autoincrement value set to 5 (manually)
Project 6 - autoincrement value set to 68 (automatically), range "from-to" changed to 10-999 (manually)
Project 7 - autoincrement value set to 69 (automatically), range "from-to" changed to 90-999 (manually)
Project 8 - autoincrement value set to 90 (automatically), default value changed to 101 (manually)
Project 9 - autoincrement value set to 101 (automatically), range "from-to" changed to 0-999 and default value changed to 50 (manually)
Project 10 - autoincrement value set to 50 (automatically), default value changed to 66 (manually, the number has already been used in project 3)
Project 11 - autoincrement value set to 70 (automatically, values 67, 68, 69 have already been used in projects 4, 6, 7)
There are two options that can be chosen individually or together (combination):
- Project - the numeric sequence starts with Nr. 1 for each project independently (unless the minimum number is set differently)
- Task Type - the numeric sequence starts with Nr. 1 for each task type independently (unless the minimum number is set differently)
- Project & Task type - the numeric sequence starts with the minimum number independently for each task type and each project
This custom field (checkbox) is used to confirm or deny anything you want by using YES or NO answers.
There are three possible ways to display boolean field. You can either have a drop down list only with YES or NO, or you can a have a boolean checkbox or radio buttons. I named this custom field Boolean, but you can put anything there, for example, you want the user to confirm that he performed some kind of test, you can name it "Test performed" and he will fill in yes or no. You will then see the result in task detail.
Corner situation: When a boolean custom field is displayed as a checkbox and set as required, no action will actually be required because an empty checkbox is considered as "no" value.
This custom field has many uses. For example, you want to have Date of a contract in your task? Just add it in this field and you will have it in the task overview.
Date and time
If you want to be a little more specific you can use the date and time field.
A simple text field designed for entering an e-mail address.
The term floating point is derived from the fact that there is no fixed number of digits before and after the decimal point; that is, the decimal point can float. There are also representations in which the number of digits before and after the decimal point is set, called fixed-point representations.
Positive or negative number.
You can create your own list of values that you want your users to add. In principle, this is almost the same as "List" type except that a change in values of "List" type will not affect any existing records created in the past, while a change in values of "Key/value list" will also affect existing records created in the past. To create this type of custom field, follow these steps:
- Create a new Key/value list
- Save the field without adding values (because you can't do that anyway)
- The option to add values appears after saving
Let's say you have a "list" type with the following items:
Then you assign to the particular instance Value1.
Later on, you change your list to:
Your particular instance will still have assigned older Value1. With "key/value list" type all the instances will change to the new value.
Corner situation: Key/value list does not support inline editing. It only works on standard task update.
You can create your own list of values which you want your users to add. Please note that a change in values of "List" type will not affect any existing records created in the past.
This is how it looks when set, each row is a choosable value.
Resizeable multiple lines of text (supports rich text formatting as of 2.50)
Allows you to look up in a specific entity. This field has a great functionality. You are able to lookup from a specific entity without the need to fill the entries. It takes data directly from the system. Here, for example, I created this lookup field.
I decided that I want to add a tester to the task I create. You have to choose the entity in which the system will allow you to pick, in this case, name.
I will choose users. After that, I will choose what attribute this field will have.
After saving, you will be able to fill in this field in both existing and new tasks under the projects and task types you checked in the settings. To add a user to an existing task click on Update and >>> Click here to change additional attributes <<< You will see this.
Click on the plus sign and you will be able to add a user there.
Here you can see the field in the task overview after a name was selected.
This custom field allows you to select a milestone from a drop-down menu or tick one or more milestones as checkboxes, depending on your custom field settings. Only milestones created in the selected project are available to select.
A simple custom field with a percentage value entered by a user.
Multiple lines of text (supports rich text formatting)
This custom field allows you to select any existing user from a drop-down list or checkboxes. A custom field of the format User only works correctly on project-linked entities like Tasks, Spent time, Milestones, Documents, and Projects. When created on a different entity, no users are visible in the custom field. In such a case, use Lookup custom field instead of User custom field.
You can make multiple possible values which you can then select simultaneously. The setting is pretty simple.
After filling in the values according to your liking, you will be able to choose them in the ticket by clicking the Update button.
Dependent custom fields
This is another widely desired feature that comes to life. It brings great possibilities but also corner cases that just can't be logically avoided due to the complexity of the available configurations. Please use it without unnecessary limiting factors. Dependent custom fields do not support quick edit mode.
How to set
1. The top custom field (Brand) must always be in format List with disabled multi-select and output drop-down list.
2. Now it is possible to create a secondary - dependent field. Here, enter all values that should be available on this level - for all possible options of the parent field. Again, set it as a drop-down list. At this point, choose the parent field, based on which you will determine the available values of this field. Save.
3. After saving, a matrix of available selections will appear. Select which Model goes with each Brand.
4. If needed, you can add another level of dependency by creating a new custom field and setting a Model as a parent field.
Carefully consider settings and changes
- Required, read-only, hidden - there are many cases when incorrect settings may lead to errors. For example, if you set a 2nd level field as required (either via workflow or in the setting of the field), you can't hide the parent field from any role (via workflow or special visibility). We recommend keeping visibility, edit and security settings overall identical to all fields in a "dependency chain".
- Changes in available values - if you change possible values in any parent field, you need to make sure to reconfigure all dependent fields as well.
We recommend listing the dependent fields into the description of the field. This way you will realize that your change requires further steps.
- If the value of the parent custom field has changed (or is cleared), the values of dependent custom fields (children) allow choosing new relevant values after refreshing so as to remain relevant to the dependency table (or are cleared as well).
Custom fields with formula
Apart from the default custom fields, you can create a custom field with formula (also called computed field) for every entity in More: Administration: Custom fields. Please note that you must have purchased the plugin in your Client zone, otherwise, it's not available in the selection of custom field formats.
By choosing the entity you choose, where you want the custom field to appear. Here I created an example custom field, where I will demonstrate, how you can use it. When creating a custom field of any kind, don't forget to set task types and other attributes, so it will appear where you need it to appear.
Computed custom field can be used with classic math symbols, to reach your desired result. In this example, I want to see how many hour remain when an issue is 50% done and estimated time was set to 2 hours. You can calculate this by creating this equation 2*50%/100. So you find the field for estimated time*%done/100. If you don´t put /100 there, you will get a wrong result. Correctly it would be 2*0,5 but since it is not possible to divide a field itself, you can help yourself by dividing the result.
When choosing the computed field format Use the Float format. The term Float refers to the fact that a number's decimal point can "float"; that is, it can be placed anywhere relative to the significant digits of the number. When you set up the custom field like this, you have to wait around ten minutes for them to recalculate. You can speed this process up via Rake tasks where you can execute the One shot task (executes background custom actions)
Data input and data output in the formula of a computed custom field must be of the same data type (such as number or text) to be compatible. Otherwise, the computed custom field is invalid due to incompatible output for calculated values. Please review the settings of your computed custom fields for this reason. Example: text value on input cannot result in numerical value on output.
Dividing by zero?
This is a simple hack to avoid invalid outputs from computed custom fields. If you have a formula containing division and there is any chance that it may be zero, it is best to add a small value (+0,00001) to the denominator. It will be insignificant for the result and it takes care of the validity o the calculation.
Common custom field attributes
The following attributes are available as checkboxes for each custom field type, however, not all attributes are available for all types of object to which the custom field is to be attached.
- Required - this custom field must contain some data, otherwise, it cannot be saved
- For all projects - this custom field is available on all projects
- Used as a filter - this custom field can be used as a filter in the query search
- Searchable - this custom field can be found by typing its name into the search box and pressing the ENTER key
- Show as additional attribute - this custom field is not shown among basic task attributes but additional ones
- Email notifications - e-mail notification is sent when data is changed in this custom field
- Do not export - this custom field will be removed from exported data
- A computed custom field from a filter that is computed from a computed custom field from a filter cannot be applied (will not be processed).
- A lookup-type custom field cannot be edited via quick edit or the Quick task editor but only in task detail.
- When enabling Multiple values option in combination with dependent custom fields, it would work too but the value would be shown doubled (or tripled, according to the field setting). That's why we do not recommend using Multiple values along with dependent custom fields.
- Computed custom fields only compute numerical values and their results can only be a numerical value as well. For example, if a user entity is added to a formula of a computed custom field, the user ID (which is a number) will be used to compute the resulting value.
- All custom fields having active the special visibility setting (which means they are visible to selected user types, groups or users only) are excluded from the bulk edit option due to system performance reasons. Therefore, the values in these custom fields can only be changed individually, not all at once during a single bulk edit.
- The default names of two or more custom fields within the same entity cannot be identical. This is being validated already during custom field creation. However, an issue with identical names may still occur due to translations of custom fields in various languages. For example, one custom field may have a default English name and its German translation. A second custom field may have a default German name, which is identical to the German translation of the first custom field. This is not being validated during custom field creation but only during project creation where both such custom fields are present.