Skip to content

Commit 89d90bd

Browse files
tilenkavcicgithub-actions[bot]shalomgkAvinashSingh10-1Atul-Butola
authored
docs: Add fallback docs (#241)
* Update IDM docs * Update supported object types * Add fallback description * Address comments * Don't capitalize titles in supported object types * Add hint for integrating DevRev documentation into MCP server * Introduce Chef UI, better explain fallbacks * Update fern/docs/pages/airdrop/initial-domain-mapping.mdx Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * Nits * Address comments * frontend user-identity method (#232) * Update user-identity.mdx * Update user-identity.mdx Add beta message with limitations * changed the position of note (#243) * adding a note * Update ue-migration.mdx --------- Co-authored-by: Atul-Butola <[email protected]> * chore: Update OpenAPI specs (#245) * Point to customization API docs from identity SDK docs (#246) * chore: Include 'Bearer' in authorization header documentation (#247) * Document `unit` and `is_read_only` customization UI hints (#248) - Use imperative tense in headings. This has been done in the custom objects documentation. - Use smaller image for group_name UI hint. * style rules for marketplace (#214) * some minor updates and organization * MP style and sample * corrected LLM token var name * prohibited * check responses better --------- Co-authored-by: Atul-Butola <[email protected]> * add instructions for local instance (#171) * add instructions for local instance * use yarn --------- Co-authored-by: Atul-Butola <[email protected]> * Update supported objects for Airdrop (#250) * Update supported objects for Airdrop * Update supported-object-types.mdx * Update supported-object-types.mdx * Update supported-object-types.mdx --------- Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: shalomgk <[email protected]> Co-authored-by: Avinash Singh <[email protected]> Co-authored-by: Atul-Butola <[email protected]> Co-authored-by: Brian Byrne <[email protected]> Co-authored-by: Shivansh Rai <[email protected]> Co-authored-by: Ben Colborn <[email protected]> Co-authored-by: Arturo Aparicio <[email protected]>
1 parent b28ac36 commit 89d90bd

File tree

4 files changed

+63
-25
lines changed

4 files changed

+63
-25
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,5 +3,6 @@ fern/dist
33
fern/*/definition/
44
.DS_Store
55
.idea
6+
.vscode
67
temp
78
__pycache__

fern/docs/pages/airdrop/initial-domain-mapping.mdx

Lines changed: 55 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -11,17 +11,17 @@ system is triggered.
1111

1212
You can create initial domain mappings using two methods:
1313

14-
1. **Chef-cli UI**: Interactive web interface for comprehensive mapping creation
14+
1. **Chef UI**: Interactive web interface for comprehensive mapping creation
1515
2. **Model Context Protocol (MCP)**: AI-assisted mapping creation for developers (experimental)
1616

17-
Choose the chef-cli UI for manual control or use MCP for rapid prototyping with AI assistance.
17+
Choose the Chef UI for manual control or use MCP for rapid prototyping with AI assistance.
1818
MCP is an experimental feature and works locally without requiring a sync to be created.
1919

2020
<Info>
2121
For AI-assisted mapping creation, see the [Model Context Protocol integration guide](./mcp.mdx).
2222
</Info>
2323

24-
## Chef-cli initial domain mapping setup
24+
## Chef UI setup
2525

2626
### Prerequisites
2727

@@ -36,7 +36,7 @@ or by running `make auth` in your snap-in repository.
3636

3737
### Add your token as an environment variable
3838

39-
Obtain a PAT-token from the **Settings** > **Account** tab of the dev org where you deploy your snap-in,
39+
Obtain a PAT-token from the **Settings** > **Account** tab of the org where you deploy your snap-in,
4040
and export it as `DEVREV_TOKEN`.
4141

4242
You can also run the following command if you are authenticated with the CLI:
@@ -70,7 +70,7 @@ Or you can use the interactive helper of the CLI:
7070
eval $(chef-cli ctx init); chef-cli ctx show > ctx.json
7171
```
7272

73-
### Use the local UI to create a recipe blueprint for your initial import
73+
### Use the Chef UI
7474

7575
```bash
7676
chef-cli configure-mappings --env prod
@@ -81,48 +81,79 @@ If you are also creating a bidirectional sync (DevRev to external system), to en
8181
chef-cli configure-mappings --env prod --reverse
8282
```
8383

84-
If your org is not in `US-East-1`, you have to override an environment variable to make sure the tool reaches the right server. For example:
84+
If your org is not in `US-East-1`, you h ave to override an environment variable to make sure the tool reaches the right server. For example:
8585
```bash
8686
ACTIVE_PARTITION=dvrv-in-1 chef-cli configure-mappings --env prod
8787
```
8888

8989
The options are: `dvrv-us-1`, `dvrv-eu-1`, `dvrv-in-1`, and `dvrv-de-1`.
9090

91-
The first function of the local UI is to assemble a *blueprint* for a concrete import running in the test-org, allowing the mapping to be tested out and evaluated.
92-
After it is used for the import, the mappings become immutable, but the chef-cli UI offers a button to make a draft clone, which can be edited again for refinements.
91+
The first function of the Chef UI is to assemble a *blueprint* for a concrete import running in the test-org, allowing the mapping to be tested out and evaluated.
92+
After it is used for the import, the mappings become immutable, but the Chef UI offers a button to make a draft clone, which can be edited again for refinements.
9393

9494
### Continue to initial domain mapping
9595

96-
When you are done, you should have the chef-cli context set up and have the chef-cli local UI running in your browser.
97-
You can now use the chef-cli web UI to create initial domain mappings.
96+
When you are done, you should have the chef-cli context set up and have the Chef UI running in your browser.
97+
You can now use the Chef UI to create initial domain mappings.
9898

9999
</Steps>
100100

101-
## Use the local UI to create initial domain mappings
101+
## Use the Chef UI to create initial domain mappings
102102

103-
The final artifact of the recipe creation process is the `initial_domain_mapping.json`, which has to be embedded in the extractor.
103+
The Chef UI generates an `initial_domain_mapping.json` file that must be embedded in your extractor. This defines the options that the end-user sees when they are mapping the data.
104104

105-
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 also contain mappings that apply to a record type category.
106-
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 applies the per-category default to them.
105+
Initial domain mappings provide two key configuration capabilities:
107106

108-
After the blueprint of the test import is 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.
107+
- **Multiple mapping options**: The developer can choose how external record types map to DevRev records (for example, external *task* can map to either *issue* or *ticket*).
108+
- **Category-based defaults**: Mappings can apply to entire record type categories, automatically handling new record types.
109109

110-
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.
110+
<Steps>
111+
112+
### Map record types and fields
113+
114+
Use the Chef UI to map record types and fields.
115+
The UI displays the external record types you defined in external domain metadata and allows you to map them to DevRev objects.
116+
Map one record type at a time, ensuring you map all required fields and as many optional fields as possible.
117+
118+
### Specify fallback mappings
119+
120+
For some required DevRev fields a fallback is required.
121+
122+
The fallback you choose is used on item creation if the extractor doesn't provide a value for the required DevRev field.
123+
This is useful for fields that are required by DevRev but optional in the external system.
124+
125+
### Install the blueprint
126+
127+
Apply the mappings and **install them in your org** to access the initial domain mapping creation screen.
128+
Follow the instructions to create your initial domain mapping.
129+
130+
### Merge configurations
131+
132+
To create multiple mappings for different record types and fields, repeat this process:
133+
Create a new import, map the record types and fields, then install the mappings in your org.
134+
The install screen allows you to merge new mappings with existing initial domain mappings.
135+
136+
### Export the mapping file
137+
138+
When all fields are mapped correctly, click **Export** to download `initial_domain_mapping.json`.
139+
140+
</Steps>
141+
142+
### Advanced configuration
111143

112-
Finally, when all the fields are mapped without deficiencies and the blueprint is installed, the Export button allows you to retrieve the `initial_domain_mapping.json`.
144+
You can provide a local metadata file for enhanced functionality:
113145

114-
<Tip>
115-
You can also provide a local metadata file to the command using the `-m` flag, for example:
116146
```bash
117147
chef-cli configure-mappings --env prod -m metadata.json
118148
```
119149

120-
This enables the following features:
121-
- Raw jq transformations using an external field as input (experimental feature).
122-
- Filling in example input data for trying out the transformation.
150+
This enables:
151+
- Raw jq transformations using external fields as input (experimental)
152+
- Example input data for testing transformations
123153

124-
In this case, it's not validated that the local file is the same as the one submitted by the snap-in.
125-
</Tip>
154+
<Warning>
155+
The local metadata file is not validated against the snap-in submission.
156+
</Warning>
126157

127158
### Test an import with initial mapping using the in-app UI
128159

fern/docs/pages/airdrop/mcp.mdx

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,11 @@ Create a `.mcp.json` file with the following content:
4242
3. Use the editor to guide the AI to create the initial domain mappings.
4343
4. Use `initial-mapping check` to test the initial domain mappings against the local domain metadata file.
4444

45+
<Hint>
46+
To assist you in creating the Airdrop snap-in you can add DevRev's documentation to your MCP server, just add `https://developer.devrev.ai/public/airdrop/` as a custom docs URL.
47+
See [Cursor documentation](https://docs.cursor.com/context/@-symbols/@-docs#add-custom-docs) for more information.
48+
</Hint>
49+
4550
### Claude Code setup
4651

4752
1. Provide `.mcp.json` in your project root.
@@ -58,7 +63,7 @@ You can use the same `.mcp.json` file in other IDEs that support MCP.
5863
To guide the AI tool, provide the following instructions to your AI assistant:
5964

6065
```markdown
61-
When asked to perform airdrop initial mapping:
66+
When asked to perform Airdrop initial mapping:
6267

6368
- Refer to the `metadata.json` for the external domain metadata.
6469
- Use `mappings.json` as your initial domain mapping file.

fern/docs/pages/airdrop/supported-object-types.mdx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,7 @@ This document contains the list of all DevRev object types that are supported fo
7575

7676
[ ▲ top](#summary)
7777

78+
---
7879

7980
## account
8081

0 commit comments

Comments
 (0)