[BUG]: Exceptions thrown when processing `package` events
PromoFaux opened this issue · 7 comments
What happened?
Spotted some errors processing package events this morning
I have not dug into this yet as I am at work - but posting here for tracking. I'm not currently consuming these payloads - we're just set up to send everything
Example payload from `package.published`
{
"action": "published",
"package": {
"id": 1118375,
"name": "pihole",
"namespace": "pi-hole",
"description": "",
"ecosystem": "CONTAINER",
"package_type": "CONTAINER",
"html_url": "https://github.com/pi-hole/packages/1118375",
"created_at": "2021-11-18T01:15:49Z",
"updated_at": "2021-11-18T01:15:49Z",
"owner": {
"login": "pi-hole",
"id": 16827203,
"node_id": "MDEyOk9yZ2FuaXphdGlvbjE2ODI3MjAz",
"avatar_url": "https://avatars.githubusercontent.com/u/16827203?v=4",
"gravatar_id": "",
"url": "https://api.github.com/users/pi-hole",
"html_url": "https://github.com/pi-hole",
"followers_url": "https://api.github.com/users/pi-hole/followers",
"following_url": "https://api.github.com/users/pi-hole/following{/other_user}",
"gists_url": "https://api.github.com/users/pi-hole/gists{/gist_id}",
"starred_url": "https://api.github.com/users/pi-hole/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/pi-hole/subscriptions",
"organizations_url": "https://api.github.com/users/pi-hole/orgs",
"repos_url": "https://api.github.com/users/pi-hole/repos",
"events_url": "https://api.github.com/users/pi-hole/events{/privacy}",
"received_events_url": "https://api.github.com/users/pi-hole/received_events",
"type": "Organization",
"site_admin": false
},
"package_version": {
"id": 57755790,
"version": "sha256:16bdd656f9e81ba610c21bcf3878384965cfdab2465cbc1fc350f6cfe1e0e8ef",
"name": "sha256:16bdd656f9e81ba610c21bcf3878384965cfdab2465cbc1fc350f6cfe1e0e8ef",
"description": "Pi-hole in a docker container",
"summary": "Pi-hole in a docker container",
"body": {
"repository": {
"repository": {
"id": 50894333,
"name": "docker-pi-hole",
"owner_id": 16827203,
"parent_id": null,
"sandbox": null,
"updated_at": "2022-12-08T01:18:24.000Z",
"created_at": "2016-02-02T04:33:35.000Z",
"public": true,
"description": "Pi-hole in a docker container",
"homepage": "https://pi-hole.net",
"source_id": 122035788,
"public_push": null,
"disk_usage": 1503,
"locked": false,
"pushed_at": "2022-11-30T22:40:28.000Z",
"watcher_count": 5955,
"public_fork_count": 1001,
"primary_language_name_id": 139,
"has_issues": true,
"has_wiki": true,
"has_downloads": true,
"raw_data": {
"data": {
"created_by_user_id": 868002,
"primary_language_name": "Shell",
"completed_onboarding_tasks": [
]
}
},
"organization_id": 16827203,
"disabled_at": null,
"disabled_by": null,
"disabling_reason": null,
"health_status": "ok",
"pushed_at_usec": 57989,
"active": true,
"reflog_sync_enabled": false,
"made_public_at": null,
"user_hidden": 0,
"maintained": true,
"template": false,
"owner_login": "pi-hole",
"world_writable_wiki": false,
"refset_updated_at": "2022-11-30T22:38:31.361Z",
"disabling_detail": null,
"archived_at": null
}
},
"info": {
"type": "blob",
"oid": "326b0e08c815245a11be4b399c51e419f334f569",
"mode": 33188,
"name": "README.md",
"path": "README.md",
"size": null,
"collection": true
},
"attributes": {
},
"_formatted": true
},
"manifest": "",
"html_url": "https://github.com/orgs/pi-hole/packages/container/pihole/57755790",
"target_commitish": "master",
"target_oid": "a787e29aad4604a42eee6f553fd6df6f08461b1e",
"created_at": "0001-01-01T00:00:00Z",
"updated_at": "0001-01-01T00:00:00Z",
"metadata": [
],
"container_metadata": {
"tag": {
"name": "",
"digest": "sha256:16bdd656f9e81ba610c21bcf3878384965cfdab2465cbc1fc350f6cfe1e0e8ef"
},
"labels": {
"description": "Pi-hole in a docker container",
"source": "https://github.com/pi-hole/docker-pi-hole",
"revision": "",
"image_url": "https://github.com/pi-hole/docker-pi-hole",
"licenses": "",
"all_labels": {
"org.opencontainers.image.url": "https://github.com/pi-hole/docker-pi-hole",
"org.opencontainers.image.licenses": "",
"org.opencontainers.image.title": "docker-pi-hole",
"org.opencontainers.image.revision": "a787e29aad4604a42eee6f553fd6df6f08461b1e",
"org.opencontainers.image.created": "2022-12-08T02:26:18.143Z",
"org.opencontainers.image.version": "nightly",
"org.opencontainers.image.description": "Pi-hole in a docker container",
"org.opencontainers.image.source": "https://github.com/pi-hole/docker-pi-hole"
}
},
"manifest": {
"digest": "sha256:16bdd656f9e81ba610c21bcf3878384965cfdab2465cbc1fc350f6cfe1e0e8ef",
"media_type": "application/vnd.docker.distribution.manifest.v2+json",
"uri": "repositories/pi-hole/pihole/manifests/sha256:16bdd656f9e81ba610c21bcf3878384965cfdab2465cbc1fc350f6cfe1e0e8ef",
"size": 1782,
"config": {
"digest": "sha256:37e1478a8ffb0513113dbbb172bfafdf56ba24014a671921a2593d83da7a0608",
"media_type": "application/vnd.docker.container.image.v1+json",
"size": 7205
},
"layers": [
{
"digest": "sha256:fd18d0201d0ce0c5e103902d894f5d601fc5dde76688aa7dae786840141d23e4",
"media_type": "application/vnd.docker.image.rootfs.diff.tar.gzip",
"size": 26576195
},
{
"digest": "sha256:0fa20a868a60ceb7bc8a95981a4bd56fac4c2d9de1f8745eae546146e48a8e0f",
"media_type": "application/vnd.docker.image.rootfs.diff.tar.gzip",
"size": 51166445
},
{
"digest": "sha256:4f4fb700ef54461cfa02571ae0db9a0dc1e0cdb5577484a6d75e68dc38e8acc1",
"media_type": "application/vnd.docker.image.rootfs.diff.tar.gzip",
"size": 32
},
{
"digest": "sha256:2ad7497455cdab76764a94c36fa2fc898c146b4d996bbd01beda28ca303e8a62",
"media_type": "application/vnd.docker.image.rootfs.diff.tar.gzip",
"size": 130
},
{
"digest": "sha256:f09600ea01bd4ba5ef2a7d3690c7d46147b924e680cc9034194263b86f3d6bd7",
"media_type": "application/vnd.docker.image.rootfs.diff.tar.gzip",
"size": 12202
},
{
"digest": "sha256:783c2f94749191f27129ee0bb80ff4db26f49af8a82aa67c85fc9444ce189d0c",
"media_type": "application/vnd.docker.image.rootfs.diff.tar.gzip",
"size": 727
},
{
"digest": "sha256:3d98f361b22ebdff75986009b3077e5590d90ea81c9df95d0cf9e311436add74",
"media_type": "application/vnd.docker.image.rootfs.diff.tar.gzip",
"size": 41670773
}
]
}
},
"package_files": [
],
"installation_command": "docker pull ghcr.io/pi-hole/pihole:",
"package_url": "ghcr.io/pi-hole/pihole:"
},
"registry": {
"about_url": "https://docs.github.com/packages/learn-github-packages/introduction-to-github-packages",
"name": "GitHub CONTAINER registry",
"type": "CONTAINER",
"url": "https://CONTAINER.pkg.github.com/pi-hole",
"vendor": "GitHub Inc"
}
},
"repository": {
"id": 50894333,
"node_id": "MDEwOlJlcG9zaXRvcnk1MDg5NDMzMw==",
"name": "docker-pi-hole",
"full_name": "pi-hole/docker-pi-hole",
"private": false,
"owner": {
"login": "pi-hole",
"id": 16827203,
"node_id": "MDEyOk9yZ2FuaXphdGlvbjE2ODI3MjAz",
"avatar_url": "https://avatars.githubusercontent.com/u/16827203?v=4",
"gravatar_id": "",
"url": "https://api.github.com/users/pi-hole",
"html_url": "https://github.com/pi-hole",
"followers_url": "https://api.github.com/users/pi-hole/followers",
"following_url": "https://api.github.com/users/pi-hole/following{/other_user}",
"gists_url": "https://api.github.com/users/pi-hole/gists{/gist_id}",
"starred_url": "https://api.github.com/users/pi-hole/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/pi-hole/subscriptions",
"organizations_url": "https://api.github.com/users/pi-hole/orgs",
"repos_url": "https://api.github.com/users/pi-hole/repos",
"events_url": "https://api.github.com/users/pi-hole/events{/privacy}",
"received_events_url": "https://api.github.com/users/pi-hole/received_events",
"type": "Organization",
"site_admin": false
},
"html_url": "https://github.com/pi-hole/docker-pi-hole",
"description": "Pi-hole in a docker container",
"fork": false,
"url": "https://api.github.com/repos/pi-hole/docker-pi-hole",
"forks_url": "https://api.github.com/repos/pi-hole/docker-pi-hole/forks",
"keys_url": "https://api.github.com/repos/pi-hole/docker-pi-hole/keys{/key_id}",
"collaborators_url": "https://api.github.com/repos/pi-hole/docker-pi-hole/collaborators{/collaborator}",
"teams_url": "https://api.github.com/repos/pi-hole/docker-pi-hole/teams",
"hooks_url": "https://api.github.com/repos/pi-hole/docker-pi-hole/hooks",
"issue_events_url": "https://api.github.com/repos/pi-hole/docker-pi-hole/issues/events{/number}",
"events_url": "https://api.github.com/repos/pi-hole/docker-pi-hole/events",
"assignees_url": "https://api.github.com/repos/pi-hole/docker-pi-hole/assignees{/user}",
"branches_url": "https://api.github.com/repos/pi-hole/docker-pi-hole/branches{/branch}",
"tags_url": "https://api.github.com/repos/pi-hole/docker-pi-hole/tags",
"blobs_url": "https://api.github.com/repos/pi-hole/docker-pi-hole/git/blobs{/sha}",
"git_tags_url": "https://api.github.com/repos/pi-hole/docker-pi-hole/git/tags{/sha}",
"git_refs_url": "https://api.github.com/repos/pi-hole/docker-pi-hole/git/refs{/sha}",
"trees_url": "https://api.github.com/repos/pi-hole/docker-pi-hole/git/trees{/sha}",
"statuses_url": "https://api.github.com/repos/pi-hole/docker-pi-hole/statuses/{sha}",
"languages_url": "https://api.github.com/repos/pi-hole/docker-pi-hole/languages",
"stargazers_url": "https://api.github.com/repos/pi-hole/docker-pi-hole/stargazers",
"contributors_url": "https://api.github.com/repos/pi-hole/docker-pi-hole/contributors",
"subscribers_url": "https://api.github.com/repos/pi-hole/docker-pi-hole/subscribers",
"subscription_url": "https://api.github.com/repos/pi-hole/docker-pi-hole/subscription",
"commits_url": "https://api.github.com/repos/pi-hole/docker-pi-hole/commits{/sha}",
"git_commits_url": "https://api.github.com/repos/pi-hole/docker-pi-hole/git/commits{/sha}",
"comments_url": "https://api.github.com/repos/pi-hole/docker-pi-hole/comments{/number}",
"issue_comment_url": "https://api.github.com/repos/pi-hole/docker-pi-hole/issues/comments{/number}",
"contents_url": "https://api.github.com/repos/pi-hole/docker-pi-hole/contents/{+path}",
"compare_url": "https://api.github.com/repos/pi-hole/docker-pi-hole/compare/{base}...{head}",
"merges_url": "https://api.github.com/repos/pi-hole/docker-pi-hole/merges",
"archive_url": "https://api.github.com/repos/pi-hole/docker-pi-hole/{archive_format}{/ref}",
"downloads_url": "https://api.github.com/repos/pi-hole/docker-pi-hole/downloads",
"issues_url": "https://api.github.com/repos/pi-hole/docker-pi-hole/issues{/number}",
"pulls_url": "https://api.github.com/repos/pi-hole/docker-pi-hole/pulls{/number}",
"milestones_url": "https://api.github.com/repos/pi-hole/docker-pi-hole/milestones{/number}",
"notifications_url": "https://api.github.com/repos/pi-hole/docker-pi-hole/notifications{?since,all,participating}",
"labels_url": "https://api.github.com/repos/pi-hole/docker-pi-hole/labels{/name}",
"releases_url": "https://api.github.com/repos/pi-hole/docker-pi-hole/releases{/id}",
"deployments_url": "https://api.github.com/repos/pi-hole/docker-pi-hole/deployments",
"created_at": "2016-02-02T04:33:35Z",
"updated_at": "2022-12-08T01:18:24Z",
"pushed_at": "2022-11-30T22:40:28Z",
"git_url": "git://github.com/pi-hole/docker-pi-hole.git",
"ssh_url": "git@github.com:pi-hole/docker-pi-hole.git",
"clone_url": "https://github.com/pi-hole/docker-pi-hole.git",
"svn_url": "https://github.com/pi-hole/docker-pi-hole",
"homepage": "https://pi-hole.net",
"size": 1503,
"stargazers_count": 5955,
"watchers_count": 5955,
"language": "Shell",
"has_issues": true,
"has_projects": true,
"has_downloads": true,
"has_wiki": true,
"has_pages": false,
"has_discussions": true,
"forks_count": 1001,
"mirror_url": null,
"archived": false,
"disabled": false,
"open_issues_count": 32,
"license": null,
"allow_forking": true,
"is_template": false,
"web_commit_signoff_required": true,
"topics": [
"ad-blocker",
"dns",
"docker-container",
"hacktoberfest",
"pi-hole",
"web-app"
],
"visibility": "public",
"forks": 1001,
"open_issues": 32,
"watchers": 5955,
"default_branch": "master"
},
"organization": {
"login": "pi-hole",
"id": 16827203,
"node_id": "MDEyOk9yZ2FuaXphdGlvbjE2ODI3MjAz",
"url": "https://api.github.com/orgs/pi-hole",
"repos_url": "https://api.github.com/orgs/pi-hole/repos",
"events_url": "https://api.github.com/orgs/pi-hole/events",
"hooks_url": "https://api.github.com/orgs/pi-hole/hooks",
"issues_url": "https://api.github.com/orgs/pi-hole/issues",
"members_url": "https://api.github.com/orgs/pi-hole/members{/member}",
"public_members_url": "https://api.github.com/orgs/pi-hole/public_members{/member}",
"avatar_url": "https://avatars.githubusercontent.com/u/16827203?v=4",
"description": "A black hole for Internet advertisements"
},
"sender": {
"login": "github-actions[bot]",
"id": 41898282,
"node_id": "MDM6Qm90NDE4OTgyODI=",
"avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4",
"gravatar_id": "",
"url": "https://api.github.com/users/github-actions%5Bbot%5D",
"html_url": "https://github.com/apps/github-actions",
"followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers",
"following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}",
"gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}",
"starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions",
"organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs",
"repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos",
"events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}",
"received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events",
"type": "Bot",
"site_admin": false
}
}
Versions
Octokit.Webhooks.AspNetCore v1.3.5
Relevant log output
2022-12-08T02:33:06.037353338Z fail: Octokit.Webhooks.WebhookEventProcessor[3]
2022-12-08T02:33:06.037386381Z Exception processing GitHub event.
2022-12-08T02:33:06.037391178Z System.Text.Json.JsonException: Unable to deserialize event
2022-12-08T02:33:06.037396873Z at Octokit.Webhooks.WebhookEventProcessor.DeserializeWebhookEvent(WebhookHeaders headers, String body)
2022-12-08T02:33:06.037401123Z at Octokit.Webhooks.WebhookEventProcessor.ProcessWebhookAsync(IDictionary`2 headers, String body)
2022-12-08T02:33:06.037405235Z at Octokit.Webhooks.AspNetCore.GitHubWebhookExtensions.<>c__DisplayClass0_0.<<MapGitHubWebhooks>b__0>d.MoveNext()
2022-12-08T02:33:06.037410055Z fail: Octokit.Webhooks.WebhookEventProcessor[3]
2022-12-08T02:33:06.037414052Z Exception processing GitHub event.
2022-12-08T02:33:06.037417961Z System.Text.Json.JsonException: Unable to deserialize event
2022-12-08T02:33:06.037421900Z at Octokit.Webhooks.WebhookEventProcessor.DeserializeWebhookEvent(WebhookHeaders headers, String body)
2022-12-08T02:33:06.037425981Z at Octokit.Webhooks.WebhookEventProcessor.ProcessWebhookAsync(IDictionary`2 headers, String body)
2022-12-08T02:33:06.037430005Z at Octokit.Webhooks.AspNetCore.GitHubWebhookExtensions.<>c__DisplayClass0_0.<<MapGitHubWebhooks>b__0>d.MoveNext()
2022-12-08T02:33:06.038401753Z fail: Octokit.Webhooks.WebhookEventProcessor[3]
2022-12-08T02:33:06.038422502Z Exception processing GitHub event.
2022-12-08T02:33:06.038427401Z System.Text.Json.JsonException: The JSON value could not be converted to System.String. Path: $.package.package_version.body | LineNumber: 0 | BytePositionInLine: 1499.
2022-12-08T02:33:06.038431771Z ---> System.InvalidOperationException: Cannot get the value of a token type 'StartObject' as a string.
2022-12-08T02:33:06.038436355Z at System.Text.Json.ThrowHelper.ThrowInvalidOperationException_ExpectedString(JsonTokenType tokenType)
2022-12-08T02:33:06.038440547Z at System.Text.Json.Utf8JsonReader.GetString()
2022-12-08T02:33:06.038467633Z at System.Text.Json.Serialization.Metadata.JsonPropertyInfo`1.ReadJsonAndSetMember(Object obj, ReadStack& state, Utf8JsonReader& reader)
2022-12-08T02:33:06.038472009Z at System.Text.Json.Serialization.Converters.ObjectDefaultConverter`1.OnTryRead(Utf8JsonReader& reader, Type typeToConvert, JsonSerializerOptions options, ReadStack& state, T& value)
2022-12-08T02:33:06.038476020Z at System.Text.Json.Serialization.JsonConverter`1.TryRead(Utf8JsonReader& reader, Type typeToConvert, JsonSerializerOptions options, ReadStack& state, T& value)
2022-12-08T02:33:06.038479869Z at System.Text.Json.Serialization.Metadata.JsonPropertyInfo`1.ReadJsonAndSetMember(Object obj, ReadStack& state, Utf8JsonReader& reader)
2022-12-08T02:33:06.038483556Z at System.Text.Json.Serialization.Converters.ObjectDefaultConverter`1.OnTryRead(Utf8JsonReader& reader, Type typeToConvert, JsonSerializerOptions options, ReadStack& state, T& value)
2022-12-08T02:33:06.038487293Z at System.Text.Json.Serialization.JsonConverter`1.TryRead(Utf8JsonReader& reader, Type typeToConvert, JsonSerializerOptions options, ReadStack& state, T& value)
2022-12-08T02:33:06.038491033Z at System.Text.Json.Serialization.Metadata.JsonPropertyInfo`1.ReadJsonAndSetMember(Object obj, ReadStack& state, Utf8JsonReader& reader)
2022-12-08T02:33:06.038494672Z at System.Text.Json.Serialization.Converters.ObjectDefaultConverter`1.OnTryRead(Utf8JsonReader& reader, Type typeToConvert, JsonSerializerOptions options, ReadStack& state, T& value)
2022-12-08T02:33:06.038499059Z at System.Text.Json.Serialization.JsonConverter`1.TryRead(Utf8JsonReader& reader, Type typeToConvert, JsonSerializerOptions options, ReadStack& state, T& value)
2022-12-08T02:33:06.038502940Z at System.Text.Json.Serialization.JsonConverter`1.ReadCore(Utf8JsonReader& reader, JsonSerializerOptions options, ReadStack& state)
2022-12-08T02:33:06.038506687Z --- End of inner exception stack trace ---
2022-12-08T02:33:06.038510093Z at System.Text.Json.ThrowHelper.ReThrowWithPath(ReadStack& state, Utf8JsonReader& reader, Exception ex)
2022-12-08T02:33:06.038513725Z at System.Text.Json.Serialization.JsonConverter`1.ReadCore(Utf8JsonReader& reader, JsonSerializerOptions options, ReadStack& state)
2022-12-08T02:33:06.038517339Z at System.Text.Json.Serialization.JsonConverter`1.ReadCoreAsObject(Utf8JsonReader& reader, JsonSerializerOptions options, ReadStack& state)
2022-12-08T02:33:06.038520981Z at System.Text.Json.JsonSerializer.ReadFromSpan[TValue](ReadOnlySpan`1 utf8Json, JsonTypeInfo jsonTypeInfo, Nullable`1 actualByteCount)
2022-12-08T02:33:06.038524517Z at System.Text.Json.JsonSerializer.ReadFromSpan[TValue](ReadOnlySpan`1 json, JsonTypeInfo jsonTypeInfo)
2022-12-08T02:33:06.038528001Z at System.Text.Json.JsonSerializer.Deserialize(String json, Type returnType, JsonSerializerOptions options)
2022-12-08T02:33:06.038531507Z at Octokit.Webhooks.Converter.WebhookConverter`1.Read(Utf8JsonReader& reader, Type typeToConvert, JsonSerializerOptions options)
2022-12-08T02:33:06.038539123Z at System.Text.Json.Serialization.JsonConverter`1.TryRead(Utf8JsonReader& reader, Type typeToConvert, JsonSerializerOptions options, ReadStack& state, T& value)
2022-12-08T02:33:06.038542979Z at System.Text.Json.Serialization.JsonConverter`1.ReadCore(Utf8JsonReader& reader, JsonSerializerOptions options, ReadStack& state)
2022-12-08T02:33:06.038546594Z at System.Text.Json.JsonSerializer.ReadFromSpan[TValue](ReadOnlySpan`1 utf8Json, JsonTypeInfo jsonTypeInfo, Nullable`1 actualByteCount)
2022-12-08T02:33:06.038550133Z at System.Text.Json.JsonSerializer.ReadFromSpan[TValue](ReadOnlySpan`1 json, JsonTypeInfo jsonTypeInfo)
2022-12-08T02:33:06.038553645Z at Octokit.Webhooks.WebhookEventProcessor.DeserializeWebhookEvent(WebhookHeaders headers, String body)
2022-12-08T02:33:06.038561231Z at Octokit.Webhooks.WebhookEventProcessor.ProcessWebhookAsync(IDictionary`2 headers, String body)
2022-12-08T02:33:06.038564772Z at Octokit.Webhooks.AspNetCore.GitHubWebhookExtensions.<>c__DisplayClass0_0.<<MapGitHubWebhooks>b__0>d.MoveNext()
2022-12-08T02:33:06.903409720Z fail: Octokit.Webhooks.WebhookEventProcessor[3]
2022-12-08T02:33:06.903439744Z Exception processing GitHub event.
2022-12-08T02:33:06.903444546Z System.Text.Json.JsonException: The JSON value could not be converted to System.String. Path: $.package.package_version.body | LineNumber: 0 | BytePositionInLine: 1499.
2022-12-08T02:33:06.903448712Z ---> System.InvalidOperationException: Cannot get the value of a token type 'StartObject' as a string.
2022-12-08T02:33:06.903452956Z at System.Text.Json.ThrowHelper.ThrowInvalidOperationException_ExpectedString(JsonTokenType tokenType)
2022-12-08T02:33:06.903456716Z at System.Text.Json.Utf8JsonReader.GetString()
2022-12-08T02:33:06.903460324Z at System.Text.Json.Serialization.Metadata.JsonPropertyInfo`1.ReadJsonAndSetMember(Object obj, ReadStack& state, Utf8JsonReader& reader)
2022-12-08T02:33:06.903464325Z at System.Text.Json.Serialization.Converters.ObjectDefaultConverter`1.OnTryRead(Utf8JsonReader& reader, Type typeToConvert, JsonSerializerOptions options, ReadStack& state, T& value)
2022-12-08T02:33:06.903468346Z at System.Text.Json.Serialization.JsonConverter`1.TryRead(Utf8JsonReader& reader, Type typeToConvert, JsonSerializerOptions options, ReadStack& state, T& value)
2022-12-08T02:33:06.903472306Z at System.Text.Json.Serialization.Metadata.JsonPropertyInfo`1.ReadJsonAndSetMember(Object obj, ReadStack& state, Utf8JsonReader& reader)
2022-12-08T02:33:06.903476138Z at System.Text.Json.Serialization.Converters.ObjectDefaultConverter`1.OnTryRead(Utf8JsonReader& reader, Type typeToConvert, JsonSerializerOptions options, ReadStack& state, T& value)
2022-12-08T02:33:06.903480057Z at System.Text.Json.Serialization.JsonConverter`1.TryRead(Utf8JsonReader& reader, Type typeToConvert, JsonSerializerOptions options, ReadStack& state, T& value)
2022-12-08T02:33:06.903483990Z at System.Text.Json.Serialization.Metadata.JsonPropertyInfo`1.ReadJsonAndSetMember(Object obj, ReadStack& state, Utf8JsonReader& reader)
2022-12-08T02:33:06.903501309Z at System.Text.Json.Serialization.Converters.ObjectDefaultConverter`1.OnTryRead(Utf8JsonReader& reader, Type typeToConvert, JsonSerializerOptions options, ReadStack& state, T& value)
2022-12-08T02:33:06.903506154Z at System.Text.Json.Serialization.JsonConverter`1.TryRead(Utf8JsonReader& reader, Type typeToConvert, JsonSerializerOptions options, ReadStack& state, T& value)
2022-12-08T02:33:06.903510084Z at System.Text.Json.Serialization.JsonConverter`1.ReadCore(Utf8JsonReader& reader, JsonSerializerOptions options, ReadStack& state)
2022-12-08T02:33:06.903513952Z --- End of inner exception stack trace ---
2022-12-08T02:33:06.903517460Z at System.Text.Json.ThrowHelper.ReThrowWithPath(ReadStack& state, Utf8JsonReader& reader, Exception ex)
2022-12-08T02:33:06.903521240Z at System.Text.Json.Serialization.JsonConverter`1.ReadCore(Utf8JsonReader& reader, JsonSerializerOptions options, ReadStack& state)
2022-12-08T02:33:06.903524963Z at System.Text.Json.Serialization.JsonConverter`1.ReadCoreAsObject(Utf8JsonReader& reader, JsonSerializerOptions options, ReadStack& state)
2022-12-08T02:33:06.903528739Z at System.Text.Json.JsonSerializer.ReadFromSpan[TValue](ReadOnlySpan`1 utf8Json, JsonTypeInfo jsonTypeInfo, Nullable`1 actualByteCount)
2022-12-08T02:33:06.903532445Z at System.Text.Json.JsonSerializer.ReadFromSpan[TValue](ReadOnlySpan`1 json, JsonTypeInfo jsonTypeInfo)
2022-12-08T02:33:06.903536059Z at System.Text.Json.JsonSerializer.Deserialize(String json, Type returnType, JsonSerializerOptions options)
2022-12-08T02:33:06.903539690Z at Octokit.Webhooks.Converter.WebhookConverter`1.Read(Utf8JsonReader& reader, Type typeToConvert, JsonSerializerOptions options)
2022-12-08T02:33:06.903543431Z at System.Text.Json.Serialization.JsonConverter`1.TryRead(Utf8JsonReader& reader, Type typeToConvert, JsonSerializerOptions options, ReadStack& state, T& value)
2022-12-08T02:33:06.903547199Z at System.Text.Json.Serialization.JsonConverter`1.ReadCore(Utf8JsonReader& reader, JsonSerializerOptions options, ReadStack& state)
2022-12-08T02:33:06.903550935Z at System.Text.Json.JsonSerializer.ReadFromSpan[TValue](ReadOnlySpan`1 utf8Json, JsonTypeInfo jsonTypeInfo, Nullable`1 actualByteCount)
2022-12-08T02:33:06.903554579Z at System.Text.Json.JsonSerializer.ReadFromSpan[TValue](ReadOnlySpan`1 json, JsonTypeInfo jsonTypeInfo)
2022-12-08T02:33:06.903558181Z at Octokit.Webhooks.WebhookEventProcessor.DeserializeWebhookEvent(WebhookHeaders headers, String body)
2022-12-08T02:33:06.903561728Z at Octokit.Webhooks.WebhookEventProcessor.ProcessWebhookAsync(IDictionary`2 headers, String body)
2022-12-08T02:33:06.903565337Z at Octokit.Webhooks.AspNetCore.GitHubWebhookExtensions.<>c__DisplayClass0_0.<<MapGitHubWebhooks>b__0>d.MoveNext()
2022-12-08T02:33:07.007236129Z fail: Octokit.Webhooks.WebhookEventProcessor[3]
2022-12-08T02:33:07.007264222Z Exception processing GitHub event.
2022-12-08T02:33:07.007269459Z System.Text.Json.JsonException: The JSON value could not be converted to System.String. Path: $.package.package_version.body | LineNumber: 0 | BytePositionInLine: 1499.
2022-12-08T02:33:07.007288436Z ---> System.InvalidOperationException: Cannot get the value of a token type 'StartObject' as a string.
2022-12-08T02:33:07.007293103Z at System.Text.Json.ThrowHelper.ThrowInvalidOperationException_ExpectedString(JsonTokenType tokenType)
2022-12-08T02:33:07.007297166Z at System.Text.Json.Utf8JsonReader.GetString()
2022-12-08T02:33:07.007301049Z at System.Text.Json.Serialization.Metadata.JsonPropertyInfo`1.ReadJsonAndSetMember(Object obj, ReadStack& state, Utf8JsonReader& reader)
2022-12-08T02:33:07.007305821Z at System.Text.Json.Serialization.Converters.ObjectDefaultConverter`1.OnTryRead(Utf8JsonReader& reader, Type typeToConvert, JsonSerializerOptions options, ReadStack& state, T& value)
2022-12-08T02:33:07.007310498Z at System.Text.Json.Serialization.JsonConverter`1.TryRead(Utf8JsonReader& reader, Type typeToConvert, JsonSerializerOptions options, ReadStack& state, T& value)
2022-12-08T02:33:07.007326900Z at System.Text.Json.Serialization.Metadata.JsonPropertyInfo`1.ReadJsonAndSetMember(Object obj, ReadStack& state, Utf8JsonReader& reader)
2022-12-08T02:33:07.007331545Z at System.Text.Json.Serialization.Converters.ObjectDefaultConverter`1.OnTryRead(Utf8JsonReader& reader, Type typeToConvert, JsonSerializerOptions options, ReadStack& state, T& value)
2022-12-08T02:33:07.007335661Z at System.Text.Json.Serialization.JsonConverter`1.TryRead(Utf8JsonReader& reader, Type typeToConvert, JsonSerializerOptions options, ReadStack& state, T& value)
2022-12-08T02:33:07.007339467Z at System.Text.Json.Serialization.Metadata.JsonPropertyInfo`1.ReadJsonAndSetMember(Object obj, ReadStack& state, Utf8JsonReader& reader)
2022-12-08T02:33:07.007343222Z at System.Text.Json.Serialization.Converters.ObjectDefaultConverter`1.OnTryRead(Utf8JsonReader& reader, Type typeToConvert, JsonSerializerOptions options, ReadStack& state, T& value)
2022-12-08T02:33:07.007348075Z at System.Text.Json.Serialization.JsonConverter`1.TryRead(Utf8JsonReader& reader, Type typeToConvert, JsonSerializerOptions options, ReadStack& state, T& value)
2022-12-08T02:33:07.007352010Z at System.Text.Json.Serialization.JsonConverter`1.ReadCore(Utf8JsonReader& reader, JsonSerializerOptions options, ReadStack& state)
2022-12-08T02:33:07.007355840Z --- End of inner exception stack trace ---
2022-12-08T02:33:07.007359283Z at System.Text.Json.ThrowHelper.ReThrowWithPath(ReadStack& state, Utf8JsonReader& reader, Exception ex)
2022-12-08T02:33:07.007362990Z at System.Text.Json.Serialization.JsonConverter`1.ReadCore(Utf8JsonReader& reader, JsonSerializerOptions options, ReadStack& state)
2022-12-08T02:33:07.007366614Z at System.Text.Json.Serialization.JsonConverter`1.ReadCoreAsObject(Utf8JsonReader& reader, JsonSerializerOptions options, ReadStack& state)
2022-12-08T02:33:07.007370223Z at System.Text.Json.JsonSerializer.ReadFromSpan[TValue](ReadOnlySpan`1 utf8Json, JsonTypeInfo jsonTypeInfo, Nullable`1 actualByteCount)
2022-12-08T02:33:07.007377881Z at System.Text.Json.JsonSerializer.ReadFromSpan[TValue](ReadOnlySpan`1 json, JsonTypeInfo jsonTypeInfo)
2022-12-08T02:33:07.007381714Z at System.Text.Json.JsonSerializer.Deserialize(String json, Type returnType, JsonSerializerOptions options)
2022-12-08T02:33:07.007385267Z at Octokit.Webhooks.Converter.WebhookConverter`1.Read(Utf8JsonReader& reader, Type typeToConvert, JsonSerializerOptions options)
2022-12-08T02:33:07.007388946Z at System.Text.Json.Serialization.JsonConverter`1.TryRead(Utf8JsonReader& reader, Type typeToConvert, JsonSerializerOptions options, ReadStack& state, T& value)
2022-12-08T02:33:07.007392693Z at System.Text.Json.Serialization.JsonConverter`1.ReadCore(Utf8JsonReader& reader, JsonSerializerOptions options, ReadStack& state)
2022-12-08T02:33:07.007396349Z at System.Text.Json.JsonSerializer.ReadFromSpan[TValue](ReadOnlySpan`1 utf8Json, JsonTypeInfo jsonTypeInfo, Nullable`1 actualByteCount)
2022-12-08T02:33:07.007399948Z at System.Text.Json.JsonSerializer.ReadFromSpan[TValue](ReadOnlySpan`1 json, JsonTypeInfo jsonTypeInfo)
2022-12-08T02:33:07.007403445Z at Octokit.Webhooks.WebhookEventProcessor.DeserializeWebhookEvent(WebhookHeaders headers, String body)
2022-12-08T02:33:07.007406917Z at Octokit.Webhooks.WebhookEventProcessor.ProcessWebhookAsync(IDictionary`2 headers, String body)
2022-12-08T02:33:07.007410424Z at Octokit.Webhooks.AspNetCore.GitHubWebhookExtensions.<>c__DisplayClass0_0.<<MapGitHubWebhooks>b__0>d.MoveNext()
2022-12-08T02:33:07.042903479Z fail: Octokit.Webhooks.WebhookEventProcessor[3]
2022-12-08T02:33:07.042940029Z Exception processing GitHub event.
2022-12-08T02:33:07.042944414Z System.Text.Json.JsonException: Unable to deserialize event
2022-12-08T02:33:07.042948223Z at Octokit.Webhooks.WebhookEventProcessor.DeserializeWebhookEvent(WebhookHeaders headers, String body)
2022-12-08T02:33:07.042952193Z at Octokit.Webhooks.WebhookEventProcessor.ProcessWebhookAsync(IDictionary`2 headers, String body)
2022-12-08T02:33:07.042956123Z at Octokit.Webhooks.AspNetCore.GitHubWebhookExtensions.<>c__DisplayClass0_0.<<MapGitHubWebhooks>b__0>d.MoveNext()
2022-12-08T02:33:07.213504686Z fail: Octokit.Webhooks.WebhookEventProcessor[3]
2022-12-08T02:33:07.213531560Z Exception processing GitHub event.
2022-12-08T02:33:07.213536305Z System.Text.Json.JsonException: Unable to deserialize event
2022-12-08T02:33:07.213540861Z at Octokit.Webhooks.WebhookEventProcessor.DeserializeWebhookEvent(WebhookHeaders headers, String body)
2022-12-08T02:33:07.213545258Z at Octokit.Webhooks.WebhookEventProcessor.ProcessWebhookAsync(IDictionary`2 headers, String body)
2022-12-08T02:33:07.213549565Z at Octokit.Webhooks.AspNetCore.GitHubWebhookExtensions.<>c__DisplayClass0_0.<<MapGitHubWebhooks>b__0>d.MoveNext()
2022-12-08T02:33:07.876018590Z fail: Octokit.Webhooks.WebhookEventProcessor[3]
2022-12-08T02:33:07.876063183Z Exception processing GitHub event.
2022-12-08T02:33:07.876067687Z System.Text.Json.JsonException: Unable to deserialize event
2022-12-08T02:33:07.876071282Z at Octokit.Webhooks.WebhookEventProcessor.DeserializeWebhookEvent(WebhookHeaders headers, String body)
2022-12-08T02:33:07.876074793Z at Octokit.Webhooks.WebhookEventProcessor.ProcessWebhookAsync(IDictionary`2 headers, String body)
2022-12-08T02:33:07.876078277Z at Octokit.Webhooks.AspNetCore.GitHubWebhookExtensions.<>c__DisplayClass0_0.<<MapGitHubWebhooks>b__0>d.MoveNext()
2022-12-08T02:33:08.149588450Z fail: Octokit.Webhooks.WebhookEventProcessor[3]
2022-12-08T02:33:08.149618512Z Exception processing GitHub event.
2022-12-08T02:33:08.149627724Z System.Text.Json.JsonException: The JSON value could not be converted to System.String. Path: $.package.package_version.body | LineNumber: 0 | BytePositionInLine: 1499.
2022-12-08T02:33:08.149632177Z ---> System.InvalidOperationException: Cannot get the value of a token type 'StartObject' as a string.
2022-12-08T02:33:08.149636702Z at System.Text.Json.ThrowHelper.ThrowInvalidOperationException_ExpectedString(JsonTokenType tokenType)
2022-12-08T02:33:08.149640459Z at System.Text.Json.Utf8JsonReader.GetString()
2022-12-08T02:33:08.149644177Z at System.Text.Json.Serialization.Metadata.JsonPropertyInfo`1.ReadJsonAndSetMember(Object obj, ReadStack& state, Utf8JsonReader& reader)
2022-12-08T02:33:08.149649697Z at System.Text.Json.Serialization.Converters.ObjectDefaultConverter`1.OnTryRead(Utf8JsonReader& reader, Type typeToConvert, JsonSerializerOptions options, ReadStack& state, T& value)
2022-12-08T02:33:08.149654940Z at System.Text.Json.Serialization.JsonConverter`1.TryRead(Utf8JsonReader& reader, Type typeToConvert, JsonSerializerOptions options, ReadStack& state, T& value)
2022-12-08T02:33:08.149658963Z at System.Text.Json.Serialization.Metadata.JsonPropertyInfo`1.ReadJsonAndSetMember(Object obj, ReadStack& state, Utf8JsonReader& reader)
2022-12-08T02:33:08.149662836Z at System.Text.Json.Serialization.Converters.ObjectDefaultConverter`1.OnTryRead(Utf8JsonReader& reader, Type typeToConvert, JsonSerializerOptions options, ReadStack& state, T& value)
2022-12-08T02:33:08.149666725Z at System.Text.Json.Serialization.JsonConverter`1.TryRead(Utf8JsonReader& reader, Type typeToConvert, JsonSerializerOptions options, ReadStack& state, T& value)
2022-12-08T02:33:08.149670535Z at System.Text.Json.Serialization.Metadata.JsonPropertyInfo`1.ReadJsonAndSetMember(Object obj, ReadStack& state, Utf8JsonReader& reader)
2022-12-08T02:33:08.149674376Z at System.Text.Json.Serialization.Converters.ObjectDefaultConverter`1.OnTryRead(Utf8JsonReader& reader, Type typeToConvert, JsonSerializerOptions options, ReadStack& state, T& value)
2022-12-08T02:33:08.149679359Z at System.Text.Json.Serialization.JsonConverter`1.TryRead(Utf8JsonReader& reader, Type typeToConvert, JsonSerializerOptions options, ReadStack& state, T& value)
2022-12-08T02:33:08.149699996Z at System.Text.Json.Serialization.JsonConverter`1.ReadCore(Utf8JsonReader& reader, JsonSerializerOptions options, ReadStack& state)
2022-12-08T02:33:08.149703874Z --- End of inner exception stack trace ---
2022-12-08T02:33:08.149707306Z at System.Text.Json.ThrowHelper.ReThrowWithPath(ReadStack& state, Utf8JsonReader& reader, Exception ex)
2022-12-08T02:33:08.149710982Z at System.Text.Json.Serialization.JsonConverter`1.ReadCore(Utf8JsonReader& reader, JsonSerializerOptions options, ReadStack& state)
2022-12-08T02:33:08.149714616Z at System.Text.Json.Serialization.JsonConverter`1.ReadCoreAsObject(Utf8JsonReader& reader, JsonSerializerOptions options, ReadStack& state)
2022-12-08T02:33:08.149718274Z at System.Text.Json.JsonSerializer.ReadFromSpan[TValue](ReadOnlySpan`1 utf8Json, JsonTypeInfo jsonTypeInfo, Nullable`1 actualByteCount)
2022-12-08T02:33:08.149721882Z at System.Text.Json.JsonSerializer.ReadFromSpan[TValue](ReadOnlySpan`1 json, JsonTypeInfo jsonTypeInfo)
2022-12-08T02:33:08.149725392Z at System.Text.Json.JsonSerializer.Deserialize(String json, Type returnType, JsonSerializerOptions options)
2022-12-08T02:33:08.149729452Z at Octokit.Webhooks.Converter.WebhookConverter`1.Read(Utf8JsonReader& reader, Type typeToConvert, JsonSerializerOptions options)
2022-12-08T02:33:08.149733155Z at System.Text.Json.Serialization.JsonConverter`1.TryRead(Utf8JsonReader& reader, Type typeToConvert, JsonSerializerOptions options, ReadStack& state, T& value)
2022-12-08T02:33:08.149736897Z at System.Text.Json.Serialization.JsonConverter`1.ReadCore(Utf8JsonReader& reader, JsonSerializerOptions options, ReadStack& state)
2022-12-08T02:33:08.149740581Z at System.Text.Json.JsonSerializer.ReadFromSpan[TValue](ReadOnlySpan`1 utf8Json, JsonTypeInfo jsonTypeInfo, Nullable`1 actualByteCount)
2022-12-08T02:33:08.149744147Z at System.Text.Json.JsonSerializer.ReadFromSpan[TValue](ReadOnlySpan`1 json, JsonTypeInfo jsonTypeInfo)
2022-12-08T02:33:08.149747763Z at Octokit.Webhooks.WebhookEventProcessor.DeserializeWebhookEvent(WebhookHeaders headers, String body)
2022-12-08T02:33:08.149752303Z at Octokit.Webhooks.WebhookEventProcessor.ProcessWebhookAsync(IDictionary`2 headers, String body)
2022-12-08T02:33:08.149757304Z at Octokit.Webhooks.AspNetCore.GitHubWebhookExtensions.<>c__DisplayClass0_0.<<MapGitHubWebhooks>b__0>d.MoveNext()
2022-12-08T02:33:08.202677775Z fail: Octokit.Webhooks.WebhookEventProcessor[3]
2022-12-08T02:33:08.202704590Z Exception processing GitHub event.
2022-12-08T02:33:08.202709153Z System.Text.Json.JsonException: The JSON value could not be converted to System.String. Path: $.package.package_version.body | LineNumber: 0 | BytePositionInLine: 1499.
2022-12-08T02:33:08.202713574Z ---> System.InvalidOperationException: Cannot get the value of a token type 'StartObject' as a string.
2022-12-08T02:33:08.202717675Z at System.Text.Json.ThrowHelper.ThrowInvalidOperationException_ExpectedString(JsonTokenType tokenType)
2022-12-08T02:33:08.202735696Z at System.Text.Json.Utf8JsonReader.GetString()
2022-12-08T02:33:08.202739362Z at System.Text.Json.Serialization.Metadata.JsonPropertyInfo`1.ReadJsonAndSetMember(Object obj, ReadStack& state, Utf8JsonReader& reader)
2022-12-08T02:33:08.202743127Z at System.Text.Json.Serialization.Converters.ObjectDefaultConverter`1.OnTryRead(Utf8JsonReader& reader, Type typeToConvert, JsonSerializerOptions options, ReadStack& state, T& value)
2022-12-08T02:33:08.202747041Z at System.Text.Json.Serialization.JsonConverter`1.TryRead(Utf8JsonReader& reader, Type typeToConvert, JsonSerializerOptions options, ReadStack& state, T& value)
2022-12-08T02:33:08.202750817Z at System.Text.Json.Serialization.Metadata.JsonPropertyInfo`1.ReadJsonAndSetMember(Object obj, ReadStack& state, Utf8JsonReader& reader)
2022-12-08T02:33:08.202754527Z at System.Text.Json.Serialization.Converters.ObjectDefaultConverter`1.OnTryRead(Utf8JsonReader& reader, Type typeToConvert, JsonSerializerOptions options, ReadStack& state, T& value)
2022-12-08T02:33:08.202758329Z at System.Text.Json.Serialization.JsonConverter`1.TryRead(Utf8JsonReader& reader, Type typeToConvert, JsonSerializerOptions options, ReadStack& state, T& value)
2022-12-08T02:33:08.202762061Z at System.Text.Json.Serialization.Metadata.JsonPropertyInfo`1.ReadJsonAndSetMember(Object obj, ReadStack& state, Utf8JsonReader& reader)
2022-12-08T02:33:08.202765722Z at System.Text.Json.Serialization.Converters.ObjectDefaultConverter`1.OnTryRead(Utf8JsonReader& reader, Type typeToConvert, JsonSerializerOptions options, ReadStack& state, T& value)
2022-12-08T02:33:08.202770144Z at System.Text.Json.Serialization.JsonConverter`1.TryRead(Utf8JsonReader& reader, Type typeToConvert, JsonSerializerOptions options, ReadStack& state, T& value)
2022-12-08T02:33:08.202774000Z at System.Text.Json.Serialization.JsonConverter`1.ReadCore(Utf8JsonReader& reader, JsonSerializerOptions options, ReadStack& state)
2022-12-08T02:33:08.202777738Z --- End of inner exception stack trace ---
2022-12-08T02:33:08.202781154Z at System.Text.Json.ThrowHelper.ReThrowWithPath(ReadStack& state, Utf8JsonReader& reader, Exception ex)
2022-12-08T02:33:08.202784816Z at System.Text.Json.Serialization.JsonConverter`1.ReadCore(Utf8JsonReader& reader, JsonSerializerOptions options, ReadStack& state)
2022-12-08T02:33:08.202788474Z at System.Text.Json.Serialization.JsonConverter`1.ReadCoreAsObject(Utf8JsonReader& reader, JsonSerializerOptions options, ReadStack& state)
2022-12-08T02:33:08.202792105Z at System.Text.Json.JsonSerializer.ReadFromSpan[TValue](ReadOnlySpan`1 utf8Json, JsonTypeInfo jsonTypeInfo, Nullable`1 actualByteCount)
2022-12-08T02:33:08.202795866Z at System.Text.Json.JsonSerializer.ReadFromSpan[TValue](ReadOnlySpan`1 json, JsonTypeInfo jsonTypeInfo)
2022-12-08T02:33:08.202799409Z at System.Text.Json.JsonSerializer.Deserialize(String json, Type returnType, JsonSerializerOptions options)
2022-12-08T02:33:08.202802906Z at Octokit.Webhooks.Converter.WebhookConverter`1.Read(Utf8JsonReader& reader, Type typeToConvert, JsonSerializerOptions options)
2022-12-08T02:33:08.202810332Z at System.Text.Json.Serialization.JsonConverter`1.TryRead(Utf8JsonReader& reader, Type typeToConvert, JsonSerializerOptions options, ReadStack& state, T& value)
2022-12-08T02:33:08.202814133Z at System.Text.Json.Serialization.JsonConverter`1.ReadCore(Utf8JsonReader& reader, JsonSerializerOptions options, ReadStack& state)
2022-12-08T02:33:08.202817794Z at System.Text.Json.JsonSerializer.ReadFromSpan[TValue](ReadOnlySpan`1 utf8Json, JsonTypeInfo jsonTypeInfo, Nullable`1 actualByteCount)
2022-12-08T02:33:08.202821352Z at System.Text.Json.JsonSerializer.ReadFromSpan[TValue](ReadOnlySpan`1 json, JsonTypeInfo jsonTypeInfo)
2022-12-08T02:33:08.202824864Z at Octokit.Webhooks.WebhookEventProcessor.DeserializeWebhookEvent(WebhookHeaders headers, String body)
2022-12-08T02:33:08.202828343Z at Octokit.Webhooks.WebhookEventProcessor.ProcessWebhookAsync(IDictionary`2 headers, String body)
2022-12-08T02:33:08.202831815Z at Octokit.Webhooks.AspNetCore.GitHubWebhookExtensions.<>c__DisplayClass0_0.<<MapGitHubWebhooks>b__0>d.MoveNext()
2022-12-08T02:33:08.673262062Z fail: Octokit.Webhooks.WebhookEventProcessor[3]
2022-12-08T02:33:08.673304568Z Exception processing GitHub event.
2022-12-08T02:33:08.673309284Z System.Text.Json.JsonException: The JSON value could not be converted to System.String. Path: $.package.package_version.body | LineNumber: 0 | BytePositionInLine: 1441.
2022-12-08T02:33:08.673317163Z ---> System.InvalidOperationException: Cannot get the value of a token type 'StartObject' as a string.
2022-12-08T02:33:08.673321518Z at System.Text.Json.ThrowHelper.ThrowInvalidOperationException_ExpectedString(JsonTokenType tokenType)
2022-12-08T02:33:08.673325076Z at System.Text.Json.Utf8JsonReader.GetString()
2022-12-08T02:33:08.673328610Z at System.Text.Json.Serialization.Metadata.JsonPropertyInfo`1.ReadJsonAndSetMember(Object obj, ReadStack& state, Utf8JsonReader& reader)
2022-12-08T02:33:08.673332674Z at System.Text.Json.Serialization.Converters.ObjectDefaultConverter`1.OnTryRead(Utf8JsonReader& reader, Type typeToConvert, JsonSerializerOptions options, ReadStack& state, T& value)
2022-12-08T02:33:08.673336617Z at System.Text.Json.Serialization.JsonConverter`1.TryRead(Utf8JsonReader& reader, Type typeToConvert, JsonSerializerOptions options, ReadStack& state, T& value)
2022-12-08T02:33:08.673340465Z at System.Text.Json.Serialization.Metadata.JsonPropertyInfo`1.ReadJsonAndSetMember(Object obj, ReadStack& state, Utf8JsonReader& reader)
2022-12-08T02:33:08.673344395Z at System.Text.Json.Serialization.Converters.ObjectDefaultConverter`1.OnTryRead(Utf8JsonReader& reader, Type typeToConvert, JsonSerializerOptions options, ReadStack& state, T& value)
2022-12-08T02:33:08.673348193Z at System.Text.Json.Serialization.JsonConverter`1.TryRead(Utf8JsonReader& reader, Type typeToConvert, JsonSerializerOptions options, ReadStack& state, T& value)
2022-12-08T02:33:08.673351953Z at System.Text.Json.Serialization.Metadata.JsonPropertyInfo`1.ReadJsonAndSetMember(Object obj, ReadStack& state, Utf8JsonReader& reader)
2022-12-08T02:33:08.673372336Z at System.Text.Json.Serialization.Converters.ObjectDefaultConverter`1.OnTryRead(Utf8JsonReader& reader, Type typeToConvert, JsonSerializerOptions options, ReadStack& state, T& value)
2022-12-08T02:33:08.673381127Z at System.Text.Json.Serialization.JsonConverter`1.TryRead(Utf8JsonReader& reader, Type typeToConvert, JsonSerializerOptions options, ReadStack& state, T& value)
2022-12-08T02:33:08.673385000Z at System.Text.Json.Serialization.JsonConverter`1.ReadCore(Utf8JsonReader& reader, JsonSerializerOptions options, ReadStack& state)
2022-12-08T02:33:08.673388855Z --- End of inner exception stack trace ---
2022-12-08T02:33:08.673445221Z at System.Text.Json.ThrowHelper.ReThrowWithPath(ReadStack& state, Utf8JsonReader& reader, Exception ex)
2022-12-08T02:33:08.673465199Z at System.Text.Json.Serialization.JsonConverter`1.ReadCore(Utf8JsonReader& reader, JsonSerializerOptions options, ReadStack& state)
2022-12-08T02:33:08.673469961Z at System.Text.Json.Serialization.JsonConverter`1.ReadCoreAsObject(Utf8JsonReader& reader, JsonSerializerOptions options, ReadStack& state)
2022-12-08T02:33:08.673473800Z at System.Text.Json.JsonSerializer.ReadFromSpan[TValue](ReadOnlySpan`1 utf8Json, JsonTypeInfo jsonTypeInfo, Nullable`1 actualByteCount)
2022-12-08T02:33:08.673477614Z at System.Text.Json.JsonSerializer.ReadFromSpan[TValue](ReadOnlySpan`1 json, JsonTypeInfo jsonTypeInfo)
2022-12-08T02:33:08.673481156Z at System.Text.Json.JsonSerializer.Deserialize(String json, Type returnType, JsonSerializerOptions options)
2022-12-08T02:33:08.673484716Z at Octokit.Webhooks.Converter.WebhookConverter`1.Read(Utf8JsonReader& reader, Type typeToConvert, JsonSerializerOptions options)
2022-12-08T02:33:08.673488818Z at System.Text.Json.Serialization.JsonConverter`1.TryRead(Utf8JsonReader& reader, Type typeToConvert, JsonSerializerOptions options, ReadStack& state, T& value)
2022-12-08T02:33:08.673492812Z at System.Text.Json.Serialization.JsonConverter`1.ReadCore(Utf8JsonReader& reader, JsonSerializerOptions options, ReadStack& state)
2022-12-08T02:33:08.673496653Z at System.Text.Json.JsonSerializer.ReadFromSpan[TValue](ReadOnlySpan`1 utf8Json, JsonTypeInfo jsonTypeInfo, Nullable`1 actualByteCount)
2022-12-08T02:33:08.673500222Z at System.Text.Json.JsonSerializer.ReadFromSpan[TValue](ReadOnlySpan`1 json, JsonTypeInfo jsonTypeInfo)
2022-12-08T02:33:08.673503685Z at Octokit.Webhooks.WebhookEventProcessor.DeserializeWebhookEvent(WebhookHeaders headers, String body)
2022-12-08T02:33:08.673507147Z at Octokit.Webhooks.WebhookEventProcessor.ProcessWebhookAsync(IDictionary`2 headers, String body)
2022-12-08T02:33:08.673510651Z at Octokit.Webhooks.AspNetCore.GitHubWebhookExtensions.<>c__DisplayClass0_0.<<MapGitHubWebhooks>b__0>d.MoveNext()
2022-12-08T02:33:08.747449740Z fail: Octokit.Webhooks.WebhookEventProcessor[3]
2022-12-08T02:33:08.747463814Z Exception processing GitHub event.
2022-12-08T02:33:08.747480805Z System.Text.Json.JsonException: Unable to deserialize event
2022-12-08T02:33:08.747484831Z at Octokit.Webhooks.WebhookEventProcessor.DeserializeWebhookEvent(WebhookHeaders headers, String body)
2022-12-08T02:33:08.747488598Z at Octokit.Webhooks.WebhookEventProcessor.ProcessWebhookAsync(IDictionary`2 headers, String body)
2022-12-08T02:33:08.747492392Z at Octokit.Webhooks.AspNetCore.GitHubWebhookExtensions.<>c__DisplayClass0_0.<<MapGitHubWebhooks>b__0>d.MoveNext()
Code of Conduct
- I agree to follow this project's Code of Conduct
And because the issue body was too long....
Example payload from `registry_package.publshed`
{
"action": "published",
"registry_package": {
"id": 1118375,
"name": "pihole",
"namespace": "pi-hole",
"description": "",
"ecosystem": "CONTAINER",
"package_type": "CONTAINER",
"html_url": "https://github.com/pi-hole/packages/1118375",
"created_at": "2021-11-18T01:15:49Z",
"updated_at": "2021-11-18T01:15:49Z",
"owner": {
"login": "pi-hole",
"id": 16827203,
"node_id": "MDEyOk9yZ2FuaXphdGlvbjE2ODI3MjAz",
"avatar_url": "https://avatars.githubusercontent.com/u/16827203?v=4",
"gravatar_id": "",
"url": "https://api.github.com/users/pi-hole",
"html_url": "https://github.com/pi-hole",
"followers_url": "https://api.github.com/users/pi-hole/followers",
"following_url": "https://api.github.com/users/pi-hole/following{/other_user}",
"gists_url": "https://api.github.com/users/pi-hole/gists{/gist_id}",
"starred_url": "https://api.github.com/users/pi-hole/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/pi-hole/subscriptions",
"organizations_url": "https://api.github.com/users/pi-hole/orgs",
"repos_url": "https://api.github.com/users/pi-hole/repos",
"events_url": "https://api.github.com/users/pi-hole/events{/privacy}",
"received_events_url": "https://api.github.com/users/pi-hole/received_events",
"type": "Organization",
"site_admin": false
},
"package_version": {
"id": 57755791,
"version": "sha256:340490f9a892325f81b0af12228a44626a469909a835048cc10c690423d2ece7",
"name": "sha256:340490f9a892325f81b0af12228a44626a469909a835048cc10c690423d2ece7",
"description": "Pi-hole in a docker container",
"summary": "Pi-hole in a docker container",
"body": {
"repository": {
"repository": {
"id": 50894333,
"name": "docker-pi-hole",
"owner_id": 16827203,
"parent_id": null,
"sandbox": null,
"updated_at": "2022-12-08T01:18:24.000Z",
"created_at": "2016-02-02T04:33:35.000Z",
"public": true,
"description": "Pi-hole in a docker container",
"homepage": "https://pi-hole.net",
"source_id": 122035788,
"public_push": null,
"disk_usage": 1503,
"locked": false,
"pushed_at": "2022-11-30T22:40:28.000Z",
"watcher_count": 5955,
"public_fork_count": 1001,
"primary_language_name_id": 139,
"has_issues": true,
"has_wiki": true,
"has_downloads": true,
"raw_data": {
"data": {
"created_by_user_id": 868002,
"primary_language_name": "Shell",
"completed_onboarding_tasks": [
]
}
},
"organization_id": 16827203,
"disabled_at": null,
"disabled_by": null,
"disabling_reason": null,
"health_status": "ok",
"pushed_at_usec": 57989,
"active": true,
"reflog_sync_enabled": false,
"made_public_at": null,
"user_hidden": 0,
"maintained": true,
"template": false,
"owner_login": "pi-hole",
"world_writable_wiki": false,
"refset_updated_at": "2022-11-30T22:38:31.361Z",
"disabling_detail": null,
"archived_at": null
}
},
"info": {
"type": "blob",
"oid": "326b0e08c815245a11be4b399c51e419f334f569",
"mode": 33188,
"name": "README.md",
"path": "README.md",
"size": null,
"collection": true
},
"attributes": {
},
"_formatted": true
},
"manifest": "",
"html_url": "https://github.com/orgs/pi-hole/packages/container/pihole/57755791",
"target_commitish": "master",
"target_oid": "a787e29aad4604a42eee6f553fd6df6f08461b1e",
"created_at": "0001-01-01T00:00:00Z",
"updated_at": "0001-01-01T00:00:00Z",
"metadata": [
],
"container_metadata": {
"tag": {
"name": "",
"digest": "sha256:340490f9a892325f81b0af12228a44626a469909a835048cc10c690423d2ece7"
},
"labels": {
"description": "Pi-hole in a docker container",
"source": "https://github.com/pi-hole/docker-pi-hole",
"revision": "",
"image_url": "https://github.com/pi-hole/docker-pi-hole",
"licenses": "",
"all_labels": {
"org.opencontainers.image.url": "https://github.com/pi-hole/docker-pi-hole",
"org.opencontainers.image.source": "https://github.com/pi-hole/docker-pi-hole",
"org.opencontainers.image.title": "docker-pi-hole",
"org.opencontainers.image.revision": "a787e29aad4604a42eee6f553fd6df6f08461b1e",
"org.opencontainers.image.created": "2022-12-08T02:26:18.143Z",
"org.opencontainers.image.version": "nightly",
"org.opencontainers.image.description": "Pi-hole in a docker container",
"org.opencontainers.image.licenses": ""
}
},
"manifest": {
"digest": "sha256:340490f9a892325f81b0af12228a44626a469909a835048cc10c690423d2ece7",
"media_type": "application/vnd.docker.distribution.manifest.v2+json",
"uri": "repositories/pi-hole/pihole/manifests/sha256:340490f9a892325f81b0af12228a44626a469909a835048cc10c690423d2ece7",
"size": 1782,
"config": {
"digest": "sha256:3487c3af0a818825fcc16941b09cadfc26bf71367b41b21e8a78f7ab018b2f72",
"media_type": "application/vnd.docker.container.image.v1+json",
"size": 7190
},
"layers": [
{
"digest": "sha256:f6a1e975b34444ecb7c6a2b537403fd6b94d2ff3225944ac2ac3b292466e4078",
"media_type": "application/vnd.docker.image.rootfs.diff.tar.gzip",
"size": 32392982
},
{
"digest": "sha256:804992efd25afe71988b0d60d00e847c3a4f527fac6700c79c5f2a199e09770a",
"media_type": "application/vnd.docker.image.rootfs.diff.tar.gzip",
"size": 59087665
},
{
"digest": "sha256:4f4fb700ef54461cfa02571ae0db9a0dc1e0cdb5577484a6d75e68dc38e8acc1",
"media_type": "application/vnd.docker.image.rootfs.diff.tar.gzip",
"size": 32
},
{
"digest": "sha256:23e6de900bd0fdf00d9294b35d3d94e4ad7e16a98d2fb7b17c11adf1935dceb6",
"media_type": "application/vnd.docker.image.rootfs.diff.tar.gzip",
"size": 130
},
{
"digest": "sha256:f09600ea01bd4ba5ef2a7d3690c7d46147b924e680cc9034194263b86f3d6bd7",
"media_type": "application/vnd.docker.image.rootfs.diff.tar.gzip",
"size": 12202
},
{
"digest": "sha256:783c2f94749191f27129ee0bb80ff4db26f49af8a82aa67c85fc9444ce189d0c",
"media_type": "application/vnd.docker.image.rootfs.diff.tar.gzip",
"size": 727
},
{
"digest": "sha256:0c86090b397cb5355907017e8b74c99bcf8a873db850a6e951c90982b7774c3f",
"media_type": "application/vnd.docker.image.rootfs.diff.tar.gzip",
"size": 41805224
}
]
}
},
"package_files": [
],
"installation_command": "docker pull ghcr.io/pi-hole/pihole:",
"package_url": "ghcr.io/pi-hole/pihole:"
},
"registry": {
"about_url": "https://docs.github.com/packages/learn-github-packages/introduction-to-github-packages",
"name": "GitHub CONTAINER registry",
"type": "CONTAINER",
"url": "https://CONTAINER.pkg.github.com/pi-hole",
"vendor": "GitHub Inc"
}
},
"repository": {
"id": 50894333,
"node_id": "MDEwOlJlcG9zaXRvcnk1MDg5NDMzMw==",
"name": "docker-pi-hole",
"full_name": "pi-hole/docker-pi-hole",
"private": false,
"owner": {
"login": "pi-hole",
"id": 16827203,
"node_id": "MDEyOk9yZ2FuaXphdGlvbjE2ODI3MjAz",
"avatar_url": "https://avatars.githubusercontent.com/u/16827203?v=4",
"gravatar_id": "",
"url": "https://api.github.com/users/pi-hole",
"html_url": "https://github.com/pi-hole",
"followers_url": "https://api.github.com/users/pi-hole/followers",
"following_url": "https://api.github.com/users/pi-hole/following{/other_user}",
"gists_url": "https://api.github.com/users/pi-hole/gists{/gist_id}",
"starred_url": "https://api.github.com/users/pi-hole/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/pi-hole/subscriptions",
"organizations_url": "https://api.github.com/users/pi-hole/orgs",
"repos_url": "https://api.github.com/users/pi-hole/repos",
"events_url": "https://api.github.com/users/pi-hole/events{/privacy}",
"received_events_url": "https://api.github.com/users/pi-hole/received_events",
"type": "Organization",
"site_admin": false
},
"html_url": "https://github.com/pi-hole/docker-pi-hole",
"description": "Pi-hole in a docker container",
"fork": false,
"url": "https://api.github.com/repos/pi-hole/docker-pi-hole",
"forks_url": "https://api.github.com/repos/pi-hole/docker-pi-hole/forks",
"keys_url": "https://api.github.com/repos/pi-hole/docker-pi-hole/keys{/key_id}",
"collaborators_url": "https://api.github.com/repos/pi-hole/docker-pi-hole/collaborators{/collaborator}",
"teams_url": "https://api.github.com/repos/pi-hole/docker-pi-hole/teams",
"hooks_url": "https://api.github.com/repos/pi-hole/docker-pi-hole/hooks",
"issue_events_url": "https://api.github.com/repos/pi-hole/docker-pi-hole/issues/events{/number}",
"events_url": "https://api.github.com/repos/pi-hole/docker-pi-hole/events",
"assignees_url": "https://api.github.com/repos/pi-hole/docker-pi-hole/assignees{/user}",
"branches_url": "https://api.github.com/repos/pi-hole/docker-pi-hole/branches{/branch}",
"tags_url": "https://api.github.com/repos/pi-hole/docker-pi-hole/tags",
"blobs_url": "https://api.github.com/repos/pi-hole/docker-pi-hole/git/blobs{/sha}",
"git_tags_url": "https://api.github.com/repos/pi-hole/docker-pi-hole/git/tags{/sha}",
"git_refs_url": "https://api.github.com/repos/pi-hole/docker-pi-hole/git/refs{/sha}",
"trees_url": "https://api.github.com/repos/pi-hole/docker-pi-hole/git/trees{/sha}",
"statuses_url": "https://api.github.com/repos/pi-hole/docker-pi-hole/statuses/{sha}",
"languages_url": "https://api.github.com/repos/pi-hole/docker-pi-hole/languages",
"stargazers_url": "https://api.github.com/repos/pi-hole/docker-pi-hole/stargazers",
"contributors_url": "https://api.github.com/repos/pi-hole/docker-pi-hole/contributors",
"subscribers_url": "https://api.github.com/repos/pi-hole/docker-pi-hole/subscribers",
"subscription_url": "https://api.github.com/repos/pi-hole/docker-pi-hole/subscription",
"commits_url": "https://api.github.com/repos/pi-hole/docker-pi-hole/commits{/sha}",
"git_commits_url": "https://api.github.com/repos/pi-hole/docker-pi-hole/git/commits{/sha}",
"comments_url": "https://api.github.com/repos/pi-hole/docker-pi-hole/comments{/number}",
"issue_comment_url": "https://api.github.com/repos/pi-hole/docker-pi-hole/issues/comments{/number}",
"contents_url": "https://api.github.com/repos/pi-hole/docker-pi-hole/contents/{+path}",
"compare_url": "https://api.github.com/repos/pi-hole/docker-pi-hole/compare/{base}...{head}",
"merges_url": "https://api.github.com/repos/pi-hole/docker-pi-hole/merges",
"archive_url": "https://api.github.com/repos/pi-hole/docker-pi-hole/{archive_format}{/ref}",
"downloads_url": "https://api.github.com/repos/pi-hole/docker-pi-hole/downloads",
"issues_url": "https://api.github.com/repos/pi-hole/docker-pi-hole/issues{/number}",
"pulls_url": "https://api.github.com/repos/pi-hole/docker-pi-hole/pulls{/number}",
"milestones_url": "https://api.github.com/repos/pi-hole/docker-pi-hole/milestones{/number}",
"notifications_url": "https://api.github.com/repos/pi-hole/docker-pi-hole/notifications{?since,all,participating}",
"labels_url": "https://api.github.com/repos/pi-hole/docker-pi-hole/labels{/name}",
"releases_url": "https://api.github.com/repos/pi-hole/docker-pi-hole/releases{/id}",
"deployments_url": "https://api.github.com/repos/pi-hole/docker-pi-hole/deployments",
"created_at": "2016-02-02T04:33:35Z",
"updated_at": "2022-12-08T01:18:24Z",
"pushed_at": "2022-11-30T22:40:28Z",
"git_url": "git://github.com/pi-hole/docker-pi-hole.git",
"ssh_url": "git@github.com:pi-hole/docker-pi-hole.git",
"clone_url": "https://github.com/pi-hole/docker-pi-hole.git",
"svn_url": "https://github.com/pi-hole/docker-pi-hole",
"homepage": "https://pi-hole.net",
"size": 1503,
"stargazers_count": 5955,
"watchers_count": 5955,
"language": "Shell",
"has_issues": true,
"has_projects": true,
"has_downloads": true,
"has_wiki": true,
"has_pages": false,
"has_discussions": true,
"forks_count": 1001,
"mirror_url": null,
"archived": false,
"disabled": false,
"open_issues_count": 32,
"license": null,
"allow_forking": true,
"is_template": false,
"web_commit_signoff_required": true,
"topics": [
"ad-blocker",
"dns",
"docker-container",
"hacktoberfest",
"pi-hole",
"web-app"
],
"visibility": "public",
"forks": 1001,
"open_issues": 32,
"watchers": 5955,
"default_branch": "master"
},
"organization": {
"login": "pi-hole",
"id": 16827203,
"node_id": "MDEyOk9yZ2FuaXphdGlvbjE2ODI3MjAz",
"url": "https://api.github.com/orgs/pi-hole",
"repos_url": "https://api.github.com/orgs/pi-hole/repos",
"events_url": "https://api.github.com/orgs/pi-hole/events",
"hooks_url": "https://api.github.com/orgs/pi-hole/hooks",
"issues_url": "https://api.github.com/orgs/pi-hole/issues",
"members_url": "https://api.github.com/orgs/pi-hole/members{/member}",
"public_members_url": "https://api.github.com/orgs/pi-hole/public_members{/member}",
"avatar_url": "https://avatars.githubusercontent.com/u/16827203?v=4",
"description": "A black hole for Internet advertisements"
},
"sender": {
"login": "github-actions[bot]",
"id": 41898282,
"node_id": "MDM6Qm90NDE4OTgyODI=",
"avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4",
"gravatar_id": "",
"url": "https://api.github.com/users/github-actions%5Bbot%5D",
"html_url": "https://github.com/apps/github-actions",
"followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers",
"following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}",
"gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}",
"starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions",
"organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs",
"repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos",
"events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}",
"received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events",
"type": "Bot",
"site_admin": false
}
}
@PromoFaux, thanks for catching and tracking this. It looks like there's potentially a model//schema change given you're getting a serialization error - i.e., what is coming back does not match what octokit expects for deserialization.
I'll get this prioritized and in our backlog; in the meantime, Is this something you'd be interested in following through on and cutting a PR with a fix?
Sure, if I get a chance to dig deep, then happy to take a look (don't let that dissuade anyone else from doing it if they can do it quicker than me!)
Looks like body
was updated recently to be string | object
So I think this is where I start to get a bit out of my depth - certainly in terms of how the project is structured, and knowing where to start!
`body` from payload
"body": {
"repository": {
"repository": {
"id": 50894333,
"name": "docker-pi-hole",
"owner_id": 16827203,
"parent_id": null,
"sandbox": null,
"updated_at": "2022-12-08T01:18:24.000Z",
"created_at": "2016-02-02T04:33:35.000Z",
"public": true,
"description": "Pi-hole in a docker container",
"homepage": "https://pi-hole.net",
"source_id": 122035788,
"public_push": null,
"disk_usage": 1503,
"locked": false,
"pushed_at": "2022-11-30T22:40:28.000Z",
"watcher_count": 5955,
"public_fork_count": 1001,
"primary_language_name_id": 139,
"has_issues": true,
"has_wiki": true,
"has_downloads": true,
"raw_data": {
"data": {
"created_by_user_id": 868002,
"primary_language_name": "Shell",
"completed_onboarding_tasks": [
]
}
},
"organization_id": 16827203,
"disabled_at": null,
"disabled_by": null,
"disabling_reason": null,
"health_status": "ok",
"pushed_at_usec": 57989,
"active": true,
"reflog_sync_enabled": false,
"made_public_at": null,
"user_hidden": 0,
"maintained": true,
"template": false,
"owner_login": "pi-hole",
"world_writable_wiki": false,
"refset_updated_at": "2022-11-30T22:38:31.361Z",
"disabling_detail": null,
"archived_at": null
}
},
"info": {
"type": "blob",
"oid": "326b0e08c815245a11be4b399c51e419f334f569",
"mode": 33188,
"name": "README.md",
"path": "README.md",
"size": null,
"collection": true
},
"attributes": {
},
"_formatted": true
},
While I was looking at PackageVersion.cs
to start looking into this, I noticed also that docker_metadata
has been changed to container_metadata
, and the contents of that property also do not fit the currently published schema
`container_metadata` from payload
"container_metadata": {
"tag": {
"name": "",
"digest": "sha256:16bdd656f9e81ba610c21bcf3878384965cfdab2465cbc1fc350f6cfe1e0e8ef"
},
"labels": {
"description": "Pi-hole in a docker container",
"source": "https://github.com/pi-hole/docker-pi-hole",
"revision": "",
"image_url": "https://github.com/pi-hole/docker-pi-hole",
"licenses": "",
"all_labels": {
"org.opencontainers.image.url": "https://github.com/pi-hole/docker-pi-hole",
"org.opencontainers.image.licenses": "",
"org.opencontainers.image.title": "docker-pi-hole",
"org.opencontainers.image.revision": "a787e29aad4604a42eee6f553fd6df6f08461b1e",
"org.opencontainers.image.created": "2022-12-08T02:26:18.143Z",
"org.opencontainers.image.version": "nightly",
"org.opencontainers.image.description": "Pi-hole in a docker container",
"org.opencontainers.image.source": "https://github.com/pi-hole/docker-pi-hole"
}
},
"manifest": {
"digest": "sha256:16bdd656f9e81ba610c21bcf3878384965cfdab2465cbc1fc350f6cfe1e0e8ef",
"media_type": "application/vnd.docker.distribution.manifest.v2+json",
"uri": "repositories/pi-hole/pihole/manifests/sha256:16bdd656f9e81ba610c21bcf3878384965cfdab2465cbc1fc350f6cfe1e0e8ef",
"size": 1782,
"config": {
"digest": "sha256:37e1478a8ffb0513113dbbb172bfafdf56ba24014a671921a2593d83da7a0608",
"media_type": "application/vnd.docker.container.image.v1+json",
"size": 7205
},
"layers": [
{
"digest": "sha256:fd18d0201d0ce0c5e103902d894f5d601fc5dde76688aa7dae786840141d23e4",
"media_type": "application/vnd.docker.image.rootfs.diff.tar.gzip",
"size": 26576195
},
{
"digest": "sha256:0fa20a868a60ceb7bc8a95981a4bd56fac4c2d9de1f8745eae546146e48a8e0f",
"media_type": "application/vnd.docker.image.rootfs.diff.tar.gzip",
"size": 51166445
},
{
"digest": "sha256:4f4fb700ef54461cfa02571ae0db9a0dc1e0cdb5577484a6d75e68dc38e8acc1",
"media_type": "application/vnd.docker.image.rootfs.diff.tar.gzip",
"size": 32
},
{
"digest": "sha256:2ad7497455cdab76764a94c36fa2fc898c146b4d996bbd01beda28ca303e8a62",
"media_type": "application/vnd.docker.image.rootfs.diff.tar.gzip",
"size": 130
},
{
"digest": "sha256:f09600ea01bd4ba5ef2a7d3690c7d46147b924e680cc9034194263b86f3d6bd7",
"media_type": "application/vnd.docker.image.rootfs.diff.tar.gzip",
"size": 12202
},
{
"digest": "sha256:783c2f94749191f27129ee0bb80ff4db26f49af8a82aa67c85fc9444ce189d0c",
"media_type": "application/vnd.docker.image.rootfs.diff.tar.gzip",
"size": 727
},
{
"digest": "sha256:3d98f361b22ebdff75986009b3077e5590d90ea81c9df95d0cf9e311436add74",
"media_type": "application/vnd.docker.image.rootfs.diff.tar.gzip",
"size": 41670773
}
]
}
},
What is the usual course of action here? Wait until the schema is updated to follow it's guidance, or make a best-guess based on the above payloads? (Or just both to dynamic
and sweep it under the carpet for a bit....? 😬)
Unfortunately, C# doesn't have support for union types, though it is being discussed for a future language version. So what is easy in TypeScript (string | { ... }
) is a lot harder in C#.
I think there are a couple of possibilities here:
- Use a 3rd-party library, like OneOf to provide union types
- Deserialize to something like
object
,dynamic
, orJsonElement
What do you think?
I decided to go with dynamic
as I use it elsewhere in the package.