You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Once you have implemented data extraction, you should deploy your snap-in to your test organization and run an import.
92
+
93
+
To deploy the snap-in, run `make auth` and `make deploy` in the snap-in repository. Then, activate the snap-in by running `devrev snap_in activate`.
94
+
95
+
After activation, you can create an import in the DevRev UI, which will initially reach the 'waiting for user input' stage. During this phase, you can verify your data extraction implementation is working correctly.
96
+
97
+
Relevant documentation can be found under [Snap-in development](/snapin-development/locally-testing-snap-ins).
## Complete the chef-cli initial domain mapping setup
2
+
3
+
Next, continue with the steps outlined in [chef-cli setup](initial_domain_mapping_setup.md).
4
+
5
+
When you are done you should have the chef-cli context set up and have the chef-cli local UI running in your browser.
6
+
7
+
## Use the local UI to create initial domain mappings
8
+
9
+
The final artifact of the recipe creation process is the `initial_domain_mapping.json`, which has to be embedded in the extractor.
10
+
11
+
This mapping, unlike the recipe blueprint of a concrete import, can contain multiple options for each external record type from which the end-user might choose (for example allow 'task' from an external system to map either to issue or ticket in DevRev), and it can contain also mappings that apply to a record type category. When the user runs a new import, and the extractor reports in its metadata record types belonging to this category, that are not directly mapped in the initial domain mappings, the recipe manager will apply the per-category default to them.
12
+
13
+
After the blueprint of the test import was completed, the 'install in this org' button takes you to the initial domain mapping creation screen, where you can 'merge' the blueprint to the existing initial mappings of the org.
14
+
15
+
By repeating this process (run a new import, create a different configuration, merge to the initial mappings), you can create an initial mapping that contains multiple options for the user to choose from.
16
+
17
+
Finally the Export button allows you to retrieve the `initial_domain_mapping.json`.
18
+
19
+
## Tip: use local metadata in the local UI
20
+
21
+
You can also provide a local metadata file to the command using the '-m' flag for example: `chef-cli configure-mappings --env prod -m metadata.json`, this enables to use:
22
+
23
+
- raw jq transformations using an external field as input. (This is an experimental feature)
24
+
25
+
- filling in example input data for trying out the transformation.
26
+
27
+
In this case it is not validated that the local file is the same as the one submitted by the snap-in, this has to be ensured by you.
28
+
29
+
## Test an import with initial mapping using the in-app UI.
30
+
31
+
Once the initial mappings are prepared and, any new import in the org (with the same snap-in slug and import slug) where they are installed will use them. The end-users can influence the recipe blueprint that gets created for the sync unit trough the mapping screen in the UI, where they can make record-type filtering, mapping, fine grained filtering, low-code field and value mapping, and finally custom field filtering.
32
+
33
+
Their decisions are constrained by the choices provided in the initial domain mappings. Currently the low-code UI offers limited insight into the mappings and their reasons, and in some cases, mismatches arise when something that worked in chef-cli doesn't offer the right options to the user, or not all fields that should be resolved are solved. To assist debugging such cases, chef-cli provides a command to extract the description of the low-code decisions that are asked in the UI. Please provide this to us when reporting an issue with how the end-user mapping UI behaves.
34
+
35
+
```bash
36
+
chef-cli low-code --env prod > low_code.json`
37
+
```
38
+
39
+
## Read metadata tips to improve the metadata
40
+
41
+
See the [metadata tips](tips.md) section for more information on how to improve the metadata.
0 commit comments