Creating Radars

Requires at least Maintainer role

Create for paid plan

Available on paid plans

To create radar:

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

  2. Select New Radar.

  3. Enter a unique radar title and customize the radar shape to suit your needs.

  4. Select Create Radar

Create Radar from Preset

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

Create for free

Available on free plan

To create radar:

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

  2. Select New Radar.

  3. Enter unique radar name and provide json file with your radar

  4. Select Create Radar

Json Schema of free Radar
{
  "type": "object",
  "title": "Radar",
  "required": ["sections", "rings"],
  "properties": {
    "sections": {
      "type": "array",
      "title": "Sections",
      "uniqueItems": true,
      "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",
      "uniqueItems": true,
      "uniqueItemProperties": ["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"
          },
          "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"
                }
              }
            }
          }
        }
      }
    }
  }
}