Once you've configured your Artifact Creation Flow, your next step is to configure your Field Flow.
On the Field Flow screen, you can configure:
- the direction fields flow in
- the frequency with which they flow (i.e., only upon creation vs. always updating)
- how your field values will flow under set conditions
Each field can be configured individually.
Configuring Field Flow
To get to the Field Flow screen, click the Field Flow link on the Integration Configuration screen.
You will be directed to the Field Flow screen.
Here, you can see the names of the mapped repository fields for each collection on the far left and right, with the model fields displayed in the middle. By default, model fields without mapped repository fields are hidden. You can see all model fields by toggling the Show unmapped fields checkbox. Constant values will be identified by a grey box and the constant value icon.
Once you're done updating your field flow, click Save and Done.
Tip: Clicking ctrl+s on Windows and cmd+s on macOS will save your configuration.
Conditional Field Flow
See Tasktop Editions table to determine if your edition supports Conditional Field Flow functionality.
When ownership of an artifact changes during the artifact lifecycle, data conflicts can occur if field values are updated on both sides. With Conditional Field Flow, you can avoid these conflicts by setting conditions on the field flow of an artifact.
You can use conditional field flow to determine:
- Which fields will flow from one tool to the other
- How the fields should flow (i.e., direction of the field flow)
To use a field for conditional field flow, it must:
- Be a part of your model, and be mapped in each collection
- Be one of the following field types:
- Single Select
You can create multiple conditional field flows, which will be executed in order from top to bottom.
Note: If an artifact does not meet the set condition(s), the default field flow will be used. If the artifact meets multiple conditions, the first matching conditional field flow will be used.
In the scenario configured below, ownership of an artifact changes from the manufacturer (Jira) to the supplier (qTest) when the status of the artifact is updated from New to In Progress, and back to the manufacturer when updated to Fixed. To prevent conflicting data, conditional field flows are used to only flow field values from the owner of the artifact when these changes occur.
Configuring Conditional Field Flow
To configure a conditional field flow, click New Conditional Field Flow.
This will bring you to the Conditional Field Flow screen.
Select a field and set your desired conditions.
Select your field flow frequency to determine the direction of your field flow.
In this scenario, the field flow frequency is set to No Update so that the field values will only flow from the manufacturer (Jira). If the supplier (qTest) owns the defect, field values will only flow from the supplier (see second screenshot).
After you have finished configuring your conditional field flow(s), click Save and Done to save your changes.
Once you have saved your conditional field flow(s), they will appear on the Field Flow screen and can be re-ordered by using the arrows.
Note: If multiple changes are made to an artifact in an interval of time shorter than the integration's change detection interval, these changes will be detected all at once and the field flow will be chosen based on the state of the artifact at the time it was detected by Hub.
Field Flow Direction and Frequency
When configuring field flow for a synchronization integration, you have several options available to specify the direction and frequency of field updates:
|Update Normally: This field will be updated whenever it is modified on the corresponding artifact|
Always Update: This field will be updated whenever any fields are updated on the corresponding artifact
Note: "Always Update" can only be used concurrently with "No Update" or "Upon Artifact Creation" field flow frequencies. If attempting to use "Always Update" with "Update Normally" or "Always Update" on both sides, a conflict will occur.
|Upon Artifact Creation: This field will only be updated upon artifact creation|
|No Update: This field will not be updated|
Note: The field flow settings behave a bit differently for Constant Values. This is because constant values exist as part of your Tasktop configuration, and not on the artifact itself. Therefore, changes in constant values are not detected in the same way that updates made on the actual artifact are detected. If you change the constant value that is linked to your model, your integration will not automatically detect this update and sync it over. The value will only update if another field on that artifact is updated. Because of this, for constant values, "update normally" and "always update" will behave identically: meaning that the constant value will update whenever any other field is updated on that artifact.
Field Flow Icons
On the Integration Field Flow screen, you will see a number of icons, which will help you understand any special properties or requirements for each field. If you hover your mouse over an icon, you will see a pop-up explaining what that icon means. You can also review their meanings in the legend below:
A constant value will be sent.
A state transition will be utilized. Note that:
Note that Tasktop will update the field flow frequency for fields utilizing state transitions to 'no update.' This is because they are updated via the transition and not via normal 'field flow.' Do not modify the field flow frequency for this field.
|Collection field is read-only and cannot receive data|
To create artifacts in your collection, this field must be mapped to your model.
|This is a required field in your model; it must be mapped to your collection.|
|This field will not be updated as part of your integration, due to how you have configured it. This field flow configuration can be changed if you'd like.|
|This field will not be updated as part of your integration because the mapping would be invalid. You do not have the option of changing this.|
|This field will update normally as part of your integration; this means it will be updated whenever it is modified on the corresponding artifact.|
|This field will always update as part of your integration; this means that it will be updated whenever any fields are modified on the corresponding artifact.|
|This field will only be updated upon initial artifact creation.|
Process All Artifacts
The Process All Artifacts button will prompt Tasktop to process all artifacts in the integration. Any changes or additions you've made to your collection-to-model mappings will be applied to all artifacts participating in the integration upon the next change detection interval. This functionality can be useful when adding a new field to your field flow configuration. You can learn more about this process here.
Note: Process All Artifacts will attempt to re-synchronize all mapped fields on all artifacts. If there are some fields in your collections that are only writeable upon creation, this may cause errors. To avoid this, ensure that all such fields have their Field Flow set to update Upon Artifact Creation.
Once you have completed your Field Flow configuration, your next step will be to review your Artifact Routing.