diff --git a/build/common.props b/build/common.props
index 774125c27..60e68faef 100644
--- a/build/common.props
+++ b/build/common.props
@@ -3,7 +3,7 @@
3.0.0$(VersionSuffix)
5.0.0-beta.2$(VersionSuffix)
- 4.1.0$(VersionSuffix)
+ 4.1.1$(VersionSuffix)
3.2.0$(VersionSuffix)
3.0.0$(VersionSuffix)
3.0.3$(VersionSuffix)
diff --git a/src/WebJobs.Extensions.CosmosDB/Trigger/CosmosDBTriggerAttributeBindingProviderGenerator.cs b/src/WebJobs.Extensions.CosmosDB/Trigger/CosmosDBTriggerAttributeBindingProviderGenerator.cs
index 6697c9388..5c0d8f9f3 100644
--- a/src/WebJobs.Extensions.CosmosDB/Trigger/CosmosDBTriggerAttributeBindingProviderGenerator.cs
+++ b/src/WebJobs.Extensions.CosmosDB/Trigger/CosmosDBTriggerAttributeBindingProviderGenerator.cs
@@ -43,7 +43,8 @@ public Task TryCreateAsync(TriggerBindingProviderContext contex
Type documentType = CosmosDBTriggerAttributeBindingProviderGenerator.GetParameterType(context.Parameter);
- if (typeof(JArray).IsAssignableFrom(documentType))
+ if (typeof(JArray).IsAssignableFrom(documentType)
+ || typeof(JObject[]).IsAssignableFrom(documentType))
{
documentType = typeof(JObject); // When binding to JArray, use JObject as contract.
}
diff --git a/test/WebJobs.Extensions.CosmosDB.Tests/Trigger/CosmosDBTriggerAttributeBindingProviderTests.cs b/test/WebJobs.Extensions.CosmosDB.Tests/Trigger/CosmosDBTriggerAttributeBindingProviderTests.cs
index 59435a454..e9aa1d063 100644
--- a/test/WebJobs.Extensions.CosmosDB.Tests/Trigger/CosmosDBTriggerAttributeBindingProviderTests.cs
+++ b/test/WebJobs.Extensions.CosmosDB.Tests/Trigger/CosmosDBTriggerAttributeBindingProviderTests.cs
@@ -603,6 +603,10 @@ public static void Func3([CosmosDBTrigger("%aDatabase%", "%aCollection%", Connec
{
}
+ public static void Func4([CosmosDBTrigger("%aDatabase%", "%aCollection%", Connection = "CosmosDBConnectionString")] JObject[] docs)
+ {
+ }
+
public static IEnumerable GetParameters()
{
var type = typeof(ValidCosmosDBTriggerBindingsWithAppSettings);
@@ -611,7 +615,8 @@ public static IEnumerable GetParameters()
{
new[] { GetFirstParameter(type, "Func1") },
new[] { GetFirstParameter(type, "Func2") },
- new[] { GetFirstParameter(type, "Func3") }
+ new[] { GetFirstParameter(type, "Func3") },
+ new[] { GetFirstParameter(type, "Func4") }
};
}
}
@@ -648,6 +653,10 @@ public static void Func2([CosmosDBTrigger("aDatabase", "aCollection")] JArray do
{
}
+ public static void Func4([CosmosDBTrigger("aDatabase", "aCollection")] JObject[] docs)
+ {
+ }
+
public static void Func3([CosmosDBTrigger("aDatabase", "aCollection", LeaseDatabaseName = "aDatabase", LeaseContainerName = "aLeaseCollection")] IReadOnlyList docs)
{
}
@@ -660,7 +669,8 @@ public static IEnumerable GetParameters()
{
new[] { GetFirstParameter(type, "Func1") },
new[] { GetFirstParameter(type, "Func2") },
- new[] { GetFirstParameter(type, "Func3") }
+ new[] { GetFirstParameter(type, "Func3") },
+ new[] { GetFirstParameter(type, "Func4") }
};
}
}
@@ -675,6 +685,10 @@ public static void Func2([CosmosDBTrigger("%aDatabase%-test", "%aCollection%-tes
{
}
+ public static void Func4([CosmosDBTrigger("%aDatabase%-test", "%aCollection%-test")] JObject[] docs)
+ {
+ }
+
public static void Func3([CosmosDBTrigger("%aDatabase%-test", "%aCollection%-test", LeaseDatabaseName = "%aDatabase%-test")] IReadOnlyList docs)
{
}
@@ -687,7 +701,8 @@ public static IEnumerable GetParameters()
{
new[] { GetFirstParameter(type, "Func1") },
new[] { GetFirstParameter(type, "Func2") },
- new[] { GetFirstParameter(type, "Func3") }
+ new[] { GetFirstParameter(type, "Func3") },
+ new[] { GetFirstParameter(type, "Func4") }
};
}
}