in src/PSDocs.Azure/Pipeline/TemplatePipeline.cs [168:190]
private bool TryTemplateFile(string templateFile, out string version, out JObject metadata)
{
var jsonData = ReadFile<JObject>(templateFile);
metadata = null;
version = null;
// Check that the JSON file is an ARM template file
if (jsonData == null || !IsTemplateFile(jsonData))
return false;
if (!(jsonData.TryGetValue(PROPERTYNAME_CONTENTVERSION, out var versionToken) && versionToken is JValue versionValue))
return false;
version = versionValue.ToString();
Writer.VerboseFoundTemplate(templateFile);
if (jsonData.TryGetValue(PROPERTYNAME_METADATA, out var metadataToken) && metadataToken is JObject metadataProperty)
metadata = metadataProperty;
if (metadata == null)
Writer.VerboseMetadataNotFound(templateFile);
return true;
}