title: Template parameter JToken type is not valid in Azure (Expected 'String, Uri'. Actual 'Integer')
body: <p>I'm trying to deploy many Azure Alert Rules with Powershell but it result : </p>
  
  <blockquote>
    <p>New-AzResourceGroupDeployment : 9:27:32 AM - Error:
    Code=InvalidTemplate; Message=Deployment template validation failed:
    'Template parameter JToken type is not valid. Expected 'String,  Uri'.
    Actual 'Integer'. Please see
    <a href="https://aka.ms/resource-manager-parameter-files" rel="nofollow noreferrer">https://aka.ms/resource-manager-parameter-files</a> for usage details.'.</p>
  </blockquote>
  
  <p>In my template, I didn't find where is the problem. There isn't any "integer" in the template.
  My template is validated in Visual Studio and Azure when I past it in the Ui to create a new Deployment.</p>
  
  <p>Template :</p>
  
  <p><div class="snippet" data-lang="js" data-hide="false" data-console="true" data-babel="false">
  <div class="snippet-code">
  <pre class="snippet-code-js lang-js prettyprint-override"><code>{
    "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
    "contentVersion": "1.0.0.0",
    "parameters": {
      "actionGroup": {
        "defaultValue": "",
        "metadata": {
          "description": "The ID of the action group that is triggered when the alert is activated or deactivated"
        },
        "type": "string"
      },
      "alertDescription": {
        "defaultValue": "This is a metric alert",
        "metadata": {
          "description": "Description of alert"
        },
        "type": "string"
      },
      "alertName": {
        "metadata": {
          "description": "Name of the alert"
        },
        "type": "string"
      },
      "alertSeverity": {
        "allowedValues": [
          0,
          1,
          2,
          3,
          4
        ],
        "defaultValue": 3,
        "metadata": {
          "description": "Severity of alert {0,1,2,3,4}"
        },
        "type": "string"
      },
      "consecutiveBreachTrigger": {
        "defaultValue": "",
        "metadata": {
          "description": ""
        },
        "type": "string"
      },
      "isEnabled": {
        "defaultValue": true,
        "metadata": {
          "description": "Specifies whether the alert is enabled"
        },
        "type": "bool"
      },
      "metricColumn": {
        "defaultValue": "",
        "metadata": {
          "description": "Metric type of trigger"
        },
        "type": "string"
      },
      "metricTriggerTypeMetricTrigger": {
        "defaultValue": "",
        "metadata": {
          "description": "Metric type of trigger"
        },
        "type": "string"
      },
      "metricTriggerTypeTrigger": {
        "defaultValue": "",
        "metadata": {
          "description": "Metric type of trigger"
        },
        "type": "string"
      },
      "operatorMetricTrigger": {
        "allowedValues": [
          "Equals",
          "NotEquals",
          "GreaterThan",
          "GreaterThanOrEqual",
          "LessThan",
          "LessThanOrEqual"
        ],
        "defaultValue": "GreaterThan",
        "metadata": {
          "description": "Operator comparing the current value with the threshold value."
        },
        "type": "string"
      },
      "operatorTrigger": {
        "allowedValues": [
          "Equals",
          "NotEquals",
          "GreaterThan",
          "GreaterThanOrEqual",
          "LessThan",
          "LessThanOrEqual"
        ],
        "defaultValue": "GreaterThan",
        "metadata": {
          "description": "Operator comparing the current value with the threshold value."
        },
        "type": "string"
      },
      "PfrequencyInMin": {
        "defaultValue": "",
        "metadata": {
          "description": "Time along the query is running"
        },
        "type": "string"
      },
      "PtimeWindowFrequency": {
        "defaultValue": "",
        "metadata": {
          "description": "Frequency of often should be run the alert"
        },
        "type": "string"
      },
      "query": {
        "defaultValue": "",
        "metadata": {
          "description": "Query to use for this alert"
        },
        "type": "string"
      },
      "queryType": {
        "defaultValue": "",
        "metadata": {
          "description": "Type of the query"
        },
        "type": "string"
      },
      "region": {
        "defaultValue": "",
        "metadata": {
          "description": "Region of the workspace"
        },
        "type": "string"
      },
      "resourceId": {
        "metadata": {
          "description": "Full Resource ID of the resource emitting the metric that will be used for the comparison. For example /subscriptions/00000000-0000-0000-0000-0000-00000000/resourceGroups/ResourceGroupName/providers/Microsoft.compute/virtualMachines/VM_xyz"
        },
        "minLength": 1,
        "type": "string"
      },
      "thresholdMetricTrigger": {
        "defaultValue": "0",
        "metadata": {
          "description": "The threshold value at which the alert is activated."
        },
        "type": "string"
      },
      "thresholdTrigger": {
        "defaultValue": "0",
        "metadata": {
          "description": "The threshold value at which the alert is activated."
        },
        "type": "string"
      }
    },
    "resources": [
      {
        "apiVersion": "2018-04-16",
        "location": "[parameters('region')]",
        "name": "[parameters('alertName')]",
        "properties": {
          "action": {
            "aznAction": {
              "actionGroup": "[parameters('actionGroup')]"
            },
            "metricTrigger": {
              "metricColumn": "[parameters('metricColumn')]",
              "metricTriggerType": "[parameters('metricTriggerTypeMetricTrigger')]",
              "threshold": "[parameters('thresholdMetricTrigger')]",
              "thresholdOperator": "[parameters('operatorMetricTrigger')]"
            },
            "odata.type": "Microsoft.WindowsAzure.Management.Monitoring.Alerts.Models.Microsoft.AppInsights.Nexus.DataContracts.Resources.ScheduledQueryRules.AlertingAction",
            "severity": "[parameters('alertSeverity')]",
            "trigger": {
              "consecutiveBreach": "[parameters('consecutiveBreachTrigger')]",
              "metricTriggerType": "[parameters('metricTriggerTypeTrigger')]",
              "threshold": "[parameters('thresholdTrigger')]",
              "thresholdOperator": "[parameters('operatorTrigger')]"
            }
          },
          "description": "[parameters('alertDescription')]",
          "displayname": "[parameters('alertName')]",
          "enabled": "[parameters('isEnabled')]",
          "schedule": {
            "frequencyInMinutes": "[parameters('PfrequencyInMin')]",
            "timeWindowInMinutes": "[parameters('PtimeWindowFrequency')]"
          },
          "source": {
            "datasourceID": "[parameters('resourceId')]",
            "query": "[parameters('query')]",
            "queryType": "[parameters('queryType')]"
          }
        },
        "tags": {},
        "type": "microsoft.insights/scheduledqueryrules"
      }
    ],
    "variables": {}
  }</code></pre>
  </div>
  </div>
  </p>
  
  <p>I use this Powershell command : </p>
  
  <pre><code>New-AzResourceGroupDeployment -Name "AlertRule-VM-CPU-Percent" -ResourceGroupName Gizmo-hosted-logs -TemplateFile .\template.json -TemplateParameterFile .\parameters.json
  </code></pre>
  
  <p>Thanksfor your help.</p>
  
  <p>Regards</p>