Creating Radars

Requires at least Maintainer role

To start radar creating:

  1. On the left sidebar, at the top, select Home Logo.

  2. Select New Radar.

You are then taken to a page with different methods to create radars. These methods depend on the license level. Make your choice and continue.

Create using constructor

Available on paid plans

This method allows you to create a blank radar from scratch by using visual constructor.

To create radar:

  1. Enter a unique radar title

  2. Customize the radar shape to suit your needs.

  3. Select Create Radar

Create Radar from Preset

A classic Tech Radar preset is available to save you time.

Create using JSON file

This method allows you to create a fully filled radar by uploading a json file with radar data.

To create radar:

  1. Enter unique radar title

  2. Provide json file with your radar

  3. Select Create Radar

Json Schema of Radar Data

You can load any radar that matches the json schema below.

For paid plan

Json Schema
{
  "type": "object",
  "title": "Radar",
  "required": ["sections", "rings"],
  "properties": {
    "sections": {
      "type": "array",
      "title": "Sections",
      "uniqueItemProperties": ["title"],
      "minItems": 1,
      "items": {
        "type": "object",
        "title": "Section",
        "required": ["title", "description", "color"],
        "properties": {
          "title": {
            "type": "string",
            "title": "Title",
            "minLength": 2,
            "maxLength": 25,
            "regexp": {
              "pattern": "^[-_.!~*&()\\p{L}\\d](?:[-_.!~*&()\\p{L}\\d]|\\s(?=[-_.!~*&()\\p{L}\\d]))*$",
              "flags": "u"
            },
            "not": {
              "type": "string",
              "transform": ["trim", "toEnumCase"],
              "enum": ["new"]
            }
          },
          "description": {
            "type": "string",
            "title": "Description"
          },
          "color": {
            "type": "string",
            "title": "Color",
            "pattern": "^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$"
          }
        }
      }
    },
    "rings": {
      "type": "array",
      "title": "Rings",
      "uniqueItemProperties": ["title", "radius"],
      "minItems": 1,
      "items": {
        "type": "object",
        "title": "Ring",
        "required": ["title", "radius", "arcWidth", "tagColor"],
        "properties": {
          "title": {
            "type": "string",
            "title": "Title",
            "minLength": 2,
            "maxLength": 20,
            "regexp": {
              "pattern": "^[-_.!~*&()\\p{L}\\d](?:[-_.!~*&()\\p{L}\\d]|\\s(?=[-_.!~*&()\\p{L}\\d]))*$",
              "flags": "u"
            },
            "not": {
              "type": "string",
              "transform": ["trim", "toEnumCase"],
              "enum": ["new"]
            }
          },
          "radius": {
            "type": "integer",
            "title": "Radius",
            "description": "Radius in percents",
            "minimum": 10,
            "maximum": 100
          },
          "arcWidth": {
            "type": "integer",
            "title": "Arc Width",
            "description": "Width in pixels",
            "minimum": 1
          },
          "tagColor": {
            "type": "string",
            "title": "Tag Color",
            "description": "Color of ring tag across the pages",
            "pattern": "^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$"
          }
        }
      }
    },
    "items": {
      "type": "array",
      "title": "Items",
      "uniqueItems": true,
      "items": {
        "type": "object",
        "title": "Item",
        "required": ["title", "revisions"],
        "properties": {
          "title": {
            "type": "string",
            "title": "Title",
            "regexp": {
              "pattern": "^[-_.!~*&()\\p{L}\\d](?:[-_.!~*&()\\p{L}\\d]|\\s(?=[-_.!~*&()\\p{L}\\d]))*$",
              "flags": "u"
            },
            "not": {
              "type": "string",
              "transform": ["trim", "toEnumCase"],
              "enum": ["new"]
            }
          },
          "description": {
            "type": "string",
            "title": "Description"
          },
          "tags": {
            "type": "array",
            "uniqueItems": true,
            "title": "Tags",
            "items": {
              "type": "string",
              "title": "Tag Value",
              "transform": ["trim"],
              "minLength": 1
            }
          },
          "revisions": {
            "type": "array",
            "minItems": 1,
            "uniqueItemProperties": ["date"],
            "title": "Revisions",
            "items": {
              "type": "object",
              "title": "Revision",
              "required": ["section", "ring", "date"],
              "properties": {
                "section": {
                  "type": "string",
                  "title": "Section",
                  "minLength": 2,
                  "maxLength": 30,
                  "regexp": {
                    "pattern": "^[-_.!~*&()\\p{L}\\d](?:[-_.!~*&()\\p{L}\\d]|\\s(?=[-_.!~*&()\\p{L}\\d]))*$",
                    "flags": "u"
                  },
                  "not": {
                    "type": "string",
                    "transform": ["trim", "toEnumCase"],
                    "enum": ["new"]
                  }
                },
                "ring": {
                  "type": "string",
                  "title": "Ring",
                  "minLength": 2,
                  "maxLength": 20,
                  "regexp": {
                    "pattern": "^[-_.!~*&()\\p{L}\\d](?:[-_.!~*&()\\p{L}\\d]|\\s(?=[-_.!~*&()\\p{L}\\d]))*$",
                    "flags": "u"
                  },
                  "not": {
                    "type": "string",
                    "transform": ["trim", "toEnumCase"],
                    "enum": ["new"]
                  }
                },
                "description": {
                  "type": "string",
                  "title": "Description"
                },
                "date": {
                  "type": "string",
                  "format": "date"
                }
              }
            }
          }
        }
      }
    }
  }
}

For free plan

Json Schema
{
  "type": "object",
  "title": "Radar",
  "required": ["sections", "rings"],
  "properties": {
    "sections": {
      "type": "array",
      "title": "Sections",
      "uniqueItemProperties": ["title"],
      "minItems": 1,
      "maxItems": 4,
      "items": {
        "type": "object",
        "title": "Section",
        "required": ["title", "description", "color"],
        "properties": {
          "title": {
            "type": "string",
            "title": "Title",
            "minLength": 2,
            "maxLength": 25,
            "regexp": {
              "pattern": "^[-_.!~*&()\\p{L}\\d](?:[-_.!~*&()\\p{L}\\d]|\\s(?=[-_.!~*&()\\p{L}\\d]))*$",
              "flags": "u"
            },
            "not": {
              "type": "string",
              "transform": ["trim", "toEnumCase"],
              "enum": ["new"]
            }
          },
          "description": {
            "type": "string",
            "title": "Description"
          },
          "color": {
            "type": "string",
            "title": "Color",
            "pattern": "^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$"
          }
        }
      }
    },
    "rings": {
      "type": "array",
      "title": "Rings",
      "uniqueItemProperties": ["title", "radius"],
      "minItems": 1,
      "maxItems": 4,
      "items": {
        "type": "object",
        "title": "Ring",
        "required": ["title", "radius", "arcWidth", "tagColor"],
        "properties": {
          "title": {
            "type": "string",
            "title": "Title",
            "minLength": 2,
            "maxLength": 20,
            "regexp": {
              "pattern": "^[-_.!~*&()\\p{L}\\d](?:[-_.!~*&()\\p{L}\\d]|\\s(?=[-_.!~*&()\\p{L}\\d]))*$",
              "flags": "u"
            },
            "not": {
              "type": "string",
              "transform": ["trim", "toEnumCase"],
              "enum": ["new"]
            }
          },
          "radius": {
            "type": "integer",
            "title": "Radius",
            "description": "Radius in percents",
            "minimum": 10,
            "maximum": 100
          },
          "arcWidth": {
            "type": "integer",
            "title": "Arc Width",
            "description": "Width in pixels",
            "minimum": 1
          },
          "tagColor": {
            "type": "string",
            "title": "Tag Color",
            "description": "Color of ring tag across the pages",
            "pattern": "^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$"
          }
        }
      }
    },
    "items": {
      "type": "array",
      "title": "Items",
      "uniqueItems": true,
      "items": {
        "type": "object",
        "title": "Item",
        "required": ["title", "revisions"],
        "properties": {
          "title": {
            "type": "string",
            "title": "Title",
            "regexp": {
              "pattern": "^[-_.!~*&()\\p{L}\\d](?:[-_.!~*&()\\p{L}\\d]|\\s(?=[-_.!~*&()\\p{L}\\d]))*$",
              "flags": "u"
            },
            "not": {
              "type": "string",
              "transform": ["trim", "toEnumCase"],
              "enum": ["new"]
            }
          },
          "description": {
            "type": "string",
            "title": "Description"
          },
          "tags": {
            "type": "array",
            "uniqueItems": true,
            "title": "Tags",
            "items": {
              "type": "string",
              "title": "Tag Value",
              "transform": ["trim"],
              "minLength": 1
            }
          },
          "revisions": {
            "type": "array",
            "minItems": 1,
            "uniqueItemProperties": ["date"],
            "title": "Revisions",
            "items": {
              "type": "object",
              "title": "Revision",
              "required": ["section", "ring", "date"],
              "properties": {
                "section": {
                  "type": "string",
                  "title": "Section",
                  "minLength": 2,
                  "maxLength": 30,
                  "regexp": {
                    "pattern": "^[-_.!~*&()\\p{L}\\d](?:[-_.!~*&()\\p{L}\\d]|\\s(?=[-_.!~*&()\\p{L}\\d]))*$",
                    "flags": "u"
                  },
                  "not": {
                    "type": "string",
                    "transform": ["trim", "toEnumCase"],
                    "enum": ["new"]
                  }
                },
                "ring": {
                  "type": "string",
                  "title": "Ring",
                  "minLength": 2,
                  "maxLength": 20,
                  "regexp": {
                    "pattern": "^[-_.!~*&()\\p{L}\\d](?:[-_.!~*&()\\p{L}\\d]|\\s(?=[-_.!~*&()\\p{L}\\d]))*$",
                    "flags": "u"
                  },
                  "not": {
                    "type": "string",
                    "transform": ["trim", "toEnumCase"],
                    "enum": ["new"]
                  }
                },
                "description": {
                  "type": "string",
                  "title": "Description"
                },
                "date": {
                  "type": "string",
                  "format": "date"
                }
              }
            }
          }
        }
      }
    }
  }
}

Import Radar

Available at PRO plan

Learn provided guide to import radar