data-api-builder icon indicating copy to clipboard operation
data-api-builder copied to clipboard

🥕[Bug]: JSON Schema: Application Insights Connection String is Required

Open JerryNixon opened this issue 1 year ago • 0 comments

The application-insights section of the configuration requires a connection-string whenever the section exists, even if "enabled": false. The property is usually missing entirely in most configurations, but as soon as you include the application-insights block, even with telemetry disabled, the schema forces you to provide a connection-string. This makes no sense for developers trying to opt out of telemetry cleanly.

Example

This configuration is invalid though it should be valid.

{
  "telemetry": {
    "application-insights": {
      "enabled": false
    }
  }
}

Instead, this is required. A silly friction for the developer.

{
  "telemetry": {
    "application-insights": {
      "enabled": false,
      "connection-string": "dummy-value"
    }
  }
}

Recommendation

Fix the schema so connection-string is only required when enabled is true.

{
  "if": {
    "properties": { "enabled": { "const": true } }
  },
  "then": {
    "required": ["connection-string"]
  }
}

JerryNixon avatar Jan 13 '25 21:01 JerryNixon