Update descriptions with Markdown

Use the existing Markdown documentation stored in a code repository to populate the descriptions of your IcePanel model objects and connections. This can be automatically updated as part of a build pipeline.

Prerequisites

$export ICEPANEL_API_KEY='your-api-key'
$export ICEPANEL_ORGANIZATION_ID='your-organization-id'

Steps

1

Get your landscape

Get all landscapes in your organization and select a landscape ID:

GET
/v1/organizations/:organizationId/landscapes
1import { IcePanelClient } from "@icepanel/sdk";
2
3async function main() {
4 const client = new IcePanelClient({
5 apiKey: "YOUR_API_KEY_HERE",
6 });
7 await client.organizations.landscapes.list("organizationId");
8}
9main();

Note the id of the landscape:

$export ICEPANEL_LANDSCAPE_ID='your-landscape-id'
2

Find the object to update

List all model objects in a landscape:

GET
/v1/landscapes/:landscapeId/versions/:versionId/model/objects
1import { IcePanelClient } from "@icepanel/sdk";
2
3async function main() {
4 const client = new IcePanelClient({
5 apiKey: "YOUR_API_KEY_HERE",
6 });
7 await client.model.objects.list("landscapeId", "versionId", {});
8}
9main();

Note the id of the object you want to update.

3

Update the description

Patch the model object with your Markdown description. Replace modelObjectId with the object’s id.

PATCH
/v1/landscapes/:landscapeId/versions/:versionId/model/objects/:modelObjectId
1import { IcePanelClient } from "@icepanel/sdk";
2
3async function main() {
4 const client = new IcePanelClient({
5 apiKey: "YOUR_API_KEY_HERE",
6 });
7 await client.model.objects.update("landscapeId", "versionId", "modelObjectId", {
8 body: {},
9 });
10}
11main();