Add more new fields for webhook payload.
All checks were successful
semver Build semver has succeeded
format Build format has succeeded
clippy Build clippy has succeeded
rust-test Build rust-test has succeeded

This commit is contained in:
Tom Alexander 2024-10-18 20:27:57 -04:00
parent e991b259f2
commit 3ca037411a
Signed by: talexander
GPG Key ID: D3A179C9A53C0EDE
4 changed files with 44 additions and 190 deletions

View File

@ -1,165 +0,0 @@
{
"ref": "refs/tags/v0.0.2",
"before": "0000000000000000000000000000000000000000",
"after": "84fe1ec23ae242cb1bbccbc2ab999c3082f54d45",
"compare_url": "https://code.fizz.buzz/talexander/webhook_bridge/compare/0000000000000000000000000000000000000000...84fe1ec23ae242cb1bbccbc2ab999c3082f54d45",
"commits": [],
"total_commits": 0,
"head_commit": {
"id": "84fe1ec23ae242cb1bbccbc2ab999c3082f54d45",
"message": "Add a pipeline to build the server image.\n",
"url": "https://code.fizz.buzz/talexander/webhook_bridge/commit/84fe1ec23ae242cb1bbccbc2ab999c3082f54d45",
"author": {
"name": "Tom Alexander",
"email": "tom@fizz.buzz",
"username": ""
},
"committer": {
"name": "Tom Alexander",
"email": "tom@fizz.buzz",
"username": ""
},
"verification": null,
"timestamp": "2024-09-29T00:19:22-04:00",
"added": [
".webhook_bridge/pipeline-build.yaml"
],
"removed": [],
"modified": [
".webhook_bridge/webhook_bridge.toml"
]
},
"repository": {
"id": 21,
"owner": {
"id": 1,
"login": "talexander",
"login_name": "",
"full_name": "",
"email": "gitea@local.domain",
"avatar_url": "https://code.fizz.buzz/avatars/9d402a89b5a0786f83c1b8c5486fc7ff3d083a54fe20e55c0a776a1932c30289",
"language": "",
"is_admin": false,
"last_login": "0001-01-01T00:00:00Z",
"created": "2023-07-05T22:03:28Z",
"restricted": false,
"active": false,
"prohibit_login": false,
"location": "",
"website": "",
"description": "",
"visibility": "public",
"followers_count": 0,
"following_count": 0,
"starred_repos_count": 0,
"username": "talexander"
},
"name": "webhook_bridge",
"full_name": "talexander/webhook_bridge",
"description": "A server that receives webhooks from gitea and fires off Tekton jobs in response.",
"empty": false,
"private": false,
"fork": false,
"template": false,
"parent": null,
"mirror": false,
"size": 346,
"language": "",
"languages_url": "https://code.fizz.buzz/api/v1/repos/talexander/webhook_bridge/languages",
"html_url": "https://code.fizz.buzz/talexander/webhook_bridge",
"url": "https://code.fizz.buzz/api/v1/repos/talexander/webhook_bridge",
"link": "",
"ssh_url": "git@code.fizz.buzz:talexander/webhook_bridge.git",
"clone_url": "https://code.fizz.buzz/talexander/webhook_bridge.git",
"original_url": "",
"website": "",
"stars_count": 0,
"forks_count": 0,
"watchers_count": 1,
"open_issues_count": 0,
"open_pr_counter": 0,
"release_counter": 0,
"default_branch": "main",
"archived": false,
"created_at": "2024-07-14T18:48:52Z",
"updated_at": "2024-09-29T04:25:36Z",
"archived_at": "1970-01-01T00:00:00Z",
"permissions": {
"admin": true,
"push": true,
"pull": true
},
"has_issues": true,
"internal_tracker": {
"enable_time_tracker": true,
"allow_only_contributors_to_track_time": true,
"enable_issue_dependencies": true
},
"has_wiki": true,
"has_pull_requests": true,
"has_projects": true,
"has_releases": true,
"has_packages": true,
"has_actions": false,
"ignore_whitespace_conflicts": false,
"allow_merge_commits": true,
"allow_rebase": true,
"allow_rebase_explicit": true,
"allow_squash_merge": true,
"allow_rebase_update": true,
"default_delete_branch_after_merge": false,
"default_merge_style": "merge",
"default_allow_maintainer_edit": false,
"avatar_url": "",
"internal": false,
"mirror_interval": "",
"mirror_updated": "0001-01-01T00:00:00Z",
"repo_transfer": null
},
"pusher": {
"id": 2,
"login": "build-bot",
"login_name": "",
"full_name": "",
"email": "build-bot@noreply.code.fizz.buzz",
"avatar_url": "https://secure.gravatar.com/avatar/e39ef2faba8a3dfb3dcb4d8275a532d4?d=identicon",
"language": "",
"is_admin": false,
"last_login": "0001-01-01T00:00:00Z",
"created": "2023-07-09T04:25:44Z",
"restricted": false,
"active": false,
"prohibit_login": false,
"location": "",
"website": "",
"description": "",
"visibility": "private",
"followers_count": 0,
"following_count": 0,
"starred_repos_count": 0,
"username": "build-bot"
},
"sender": {
"id": 2,
"login": "build-bot",
"login_name": "",
"full_name": "",
"email": "build-bot@noreply.code.fizz.buzz",
"avatar_url": "https://secure.gravatar.com/avatar/e39ef2faba8a3dfb3dcb4d8275a532d4?d=identicon",
"language": "",
"is_admin": false,
"last_login": "0001-01-01T00:00:00Z",
"created": "2023-07-09T04:25:44Z",
"restricted": false,
"active": false,
"prohibit_login": false,
"location": "",
"website": "",
"description": "",
"visibility": "private",
"followers_count": 0,
"following_count": 0,
"starred_repos_count": 0,
"username": "build-bot"
}
}

View File

@ -1,13 +1,13 @@
{ {
"ref": "refs/heads/main", "ref": "refs/heads/main",
"before": "a2aca6d2f1c85b5d4bef1349230fdaef1683622d", "before": "f3b00c46ea57d5314063ad6fbfcaf9e38712cafe",
"after": "84fe1ec23ae242cb1bbccbc2ab999c3082f54d45", "after": "e991b259f2bdf3f24a2cba309a93d81f32ab7f50",
"compare_url": "https://code.fizz.buzz/talexander/webhook_bridge/compare/a2aca6d2f1c85b5d4bef1349230fdaef1683622d...84fe1ec23ae242cb1bbccbc2ab999c3082f54d45", "compare_url": "https://code.fizz.buzz/talexander/webhook_bridge/compare/f3b00c46ea57d5314063ad6fbfcaf9e38712cafe...e991b259f2bdf3f24a2cba309a93d81f32ab7f50",
"commits": [ "commits": [
{ {
"id": "84fe1ec23ae242cb1bbccbc2ab999c3082f54d45", "id": "e991b259f2bdf3f24a2cba309a93d81f32ab7f50",
"message": "Add a pipeline to build the server image.\n", "message": "Add source_id to HookUser.\n\nThis must be a new field that gitea added in an update.\n",
"url": "https://code.fizz.buzz/talexander/webhook_bridge/commit/84fe1ec23ae242cb1bbccbc2ab999c3082f54d45", "url": "https://code.fizz.buzz/talexander/webhook_bridge/commit/e991b259f2bdf3f24a2cba309a93d81f32ab7f50",
"author": { "author": {
"name": "Tom Alexander", "name": "Tom Alexander",
"email": "tom@fizz.buzz", "email": "tom@fizz.buzz",
@ -19,21 +19,24 @@
"username": "" "username": ""
}, },
"verification": null, "verification": null,
"timestamp": "2024-09-29T00:19:22-04:00", "timestamp": "2024-10-18T19:41:56-04:00",
"added": [ "added": [],
".webhook_bridge/pipeline-build.yaml"
],
"removed": [], "removed": [],
"modified": [ "modified": [
".webhook_bridge/webhook_bridge.toml" ".webhook_bridge/pipeline-build-semver.yaml",
".webhook_bridge/pipeline-format.yaml",
".webhook_bridge/pipeline-rust-clippy.yaml",
".webhook_bridge/pipeline-rust-test.yaml",
".webhook_bridge/pipeline-semver.yaml",
"src/hook_push.rs"
] ]
} }
], ],
"total_commits": 1, "total_commits": 1,
"head_commit": { "head_commit": {
"id": "84fe1ec23ae242cb1bbccbc2ab999c3082f54d45", "id": "e991b259f2bdf3f24a2cba309a93d81f32ab7f50",
"message": "Add a pipeline to build the server image.\n", "message": "Add source_id to HookUser.\n\nThis must be a new field that gitea added in an update.\n",
"url": "https://code.fizz.buzz/talexander/webhook_bridge/commit/84fe1ec23ae242cb1bbccbc2ab999c3082f54d45", "url": "https://code.fizz.buzz/talexander/webhook_bridge/commit/e991b259f2bdf3f24a2cba309a93d81f32ab7f50",
"author": { "author": {
"name": "Tom Alexander", "name": "Tom Alexander",
"email": "tom@fizz.buzz", "email": "tom@fizz.buzz",
@ -45,13 +48,16 @@
"username": "" "username": ""
}, },
"verification": null, "verification": null,
"timestamp": "2024-09-29T00:19:22-04:00", "timestamp": "2024-10-18T19:41:56-04:00",
"added": [ "added": [],
".webhook_bridge/pipeline-build.yaml"
],
"removed": [], "removed": [],
"modified": [ "modified": [
".webhook_bridge/webhook_bridge.toml" ".webhook_bridge/pipeline-build-semver.yaml",
".webhook_bridge/pipeline-format.yaml",
".webhook_bridge/pipeline-rust-clippy.yaml",
".webhook_bridge/pipeline-rust-test.yaml",
".webhook_bridge/pipeline-semver.yaml",
"src/hook_push.rs"
] ]
}, },
"repository": { "repository": {
@ -60,9 +66,11 @@
"id": 1, "id": 1,
"login": "talexander", "login": "talexander",
"login_name": "", "login_name": "",
"source_id": 0,
"full_name": "", "full_name": "",
"email": "gitea@local.domain", "email": "gitea@local.domain",
"avatar_url": "https://code.fizz.buzz/avatars/9d402a89b5a0786f83c1b8c5486fc7ff3d083a54fe20e55c0a776a1932c30289", "avatar_url": "https://code.fizz.buzz/avatars/9d402a89b5a0786f83c1b8c5486fc7ff3d083a54fe20e55c0a776a1932c30289",
"html_url": "https://code.fizz.buzz/talexander",
"language": "", "language": "",
"is_admin": false, "is_admin": false,
"last_login": "0001-01-01T00:00:00Z", "last_login": "0001-01-01T00:00:00Z",
@ -88,7 +96,7 @@
"template": false, "template": false,
"parent": null, "parent": null,
"mirror": false, "mirror": false,
"size": 343, "size": 151,
"language": "", "language": "",
"languages_url": "https://code.fizz.buzz/api/v1/repos/talexander/webhook_bridge/languages", "languages_url": "https://code.fizz.buzz/api/v1/repos/talexander/webhook_bridge/languages",
"html_url": "https://code.fizz.buzz/talexander/webhook_bridge", "html_url": "https://code.fizz.buzz/talexander/webhook_bridge",
@ -107,7 +115,7 @@
"default_branch": "main", "default_branch": "main",
"archived": false, "archived": false,
"created_at": "2024-07-14T18:48:52Z", "created_at": "2024-07-14T18:48:52Z",
"updated_at": "2024-09-29T04:14:47Z", "updated_at": "2024-09-30T04:41:20Z",
"archived_at": "1970-01-01T00:00:00Z", "archived_at": "1970-01-01T00:00:00Z",
"permissions": { "permissions": {
"admin": true, "admin": true,
@ -120,17 +128,19 @@
"allow_only_contributors_to_track_time": true, "allow_only_contributors_to_track_time": true,
"enable_issue_dependencies": true "enable_issue_dependencies": true
}, },
"has_wiki": true, "has_wiki": false,
"has_pull_requests": true, "has_pull_requests": true,
"has_projects": true, "has_projects": false,
"projects_mode": "all",
"has_releases": true, "has_releases": true,
"has_packages": true, "has_packages": false,
"has_actions": false, "has_actions": false,
"ignore_whitespace_conflicts": false, "ignore_whitespace_conflicts": false,
"allow_merge_commits": true, "allow_merge_commits": true,
"allow_rebase": true, "allow_rebase": true,
"allow_rebase_explicit": true, "allow_rebase_explicit": true,
"allow_squash_merge": true, "allow_squash_merge": true,
"allow_fast_forward_only_merge": false,
"allow_rebase_update": true, "allow_rebase_update": true,
"default_delete_branch_after_merge": false, "default_delete_branch_after_merge": false,
"default_merge_style": "merge", "default_merge_style": "merge",
@ -138,6 +148,7 @@
"avatar_url": "", "avatar_url": "",
"internal": false, "internal": false,
"mirror_interval": "", "mirror_interval": "",
"object_format_name": "sha1",
"mirror_updated": "0001-01-01T00:00:00Z", "mirror_updated": "0001-01-01T00:00:00Z",
"repo_transfer": null "repo_transfer": null
}, },
@ -145,9 +156,11 @@
"id": 1, "id": 1,
"login": "talexander", "login": "talexander",
"login_name": "", "login_name": "",
"source_id": 0,
"full_name": "", "full_name": "",
"email": "talexander@noreply.code.fizz.buzz", "email": "talexander@noreply.code.fizz.buzz",
"avatar_url": "https://code.fizz.buzz/avatars/9d402a89b5a0786f83c1b8c5486fc7ff3d083a54fe20e55c0a776a1932c30289", "avatar_url": "https://code.fizz.buzz/avatars/9d402a89b5a0786f83c1b8c5486fc7ff3d083a54fe20e55c0a776a1932c30289",
"html_url": "https://code.fizz.buzz/talexander",
"language": "", "language": "",
"is_admin": false, "is_admin": false,
"last_login": "0001-01-01T00:00:00Z", "last_login": "0001-01-01T00:00:00Z",
@ -168,9 +181,11 @@
"id": 1, "id": 1,
"login": "talexander", "login": "talexander",
"login_name": "", "login_name": "",
"source_id": 0,
"full_name": "", "full_name": "",
"email": "talexander@noreply.code.fizz.buzz", "email": "talexander@noreply.code.fizz.buzz",
"avatar_url": "https://code.fizz.buzz/avatars/9d402a89b5a0786f83c1b8c5486fc7ff3d083a54fe20e55c0a776a1932c30289", "avatar_url": "https://code.fizz.buzz/avatars/9d402a89b5a0786f83c1b8c5486fc7ff3d083a54fe20e55c0a776a1932c30289",
"html_url": "https://code.fizz.buzz/talexander",
"language": "", "language": "",
"is_admin": false, "is_admin": false,
"last_login": "0001-01-01T00:00:00Z", "last_login": "0001-01-01T00:00:00Z",

View File

@ -2,7 +2,7 @@
use webhookbridge::init_tracing; use webhookbridge::init_tracing;
use webhookbridge::local_trigger; use webhookbridge::local_trigger;
const EXAMPLE_WEBHOOK_PAYLOAD: &str = include_str!("../example_tag_webhook_payload.json"); const EXAMPLE_WEBHOOK_PAYLOAD: &str = include_str!("../local_payload.json");
#[tokio::main] #[tokio::main]
#[allow(clippy::needless_return)] #[allow(clippy::needless_return)]

View File

@ -33,6 +33,7 @@ pub(crate) struct HookUser {
full_name: String, full_name: String,
email: String, email: String,
avatar_url: String, avatar_url: String,
html_url: String,
language: String, language: String,
is_admin: bool, is_admin: bool,
last_login: String, // TODO: parse to datetime last_login: String, // TODO: parse to datetime
@ -92,6 +93,7 @@ pub(crate) struct HookRepository {
has_wiki: bool, has_wiki: bool,
has_pull_requests: bool, has_pull_requests: bool,
has_projects: bool, has_projects: bool,
projects_mode: String,
has_releases: bool, has_releases: bool,
has_packages: bool, has_packages: bool,
has_actions: bool, has_actions: bool,
@ -100,6 +102,7 @@ pub(crate) struct HookRepository {
allow_rebase: bool, allow_rebase: bool,
allow_rebase_explicit: bool, allow_rebase_explicit: bool,
allow_squash_merge: bool, allow_squash_merge: bool,
allow_fast_forward_only_merge: bool,
allow_rebase_update: bool, allow_rebase_update: bool,
default_delete_branch_after_merge: bool, default_delete_branch_after_merge: bool,
default_merge_style: String, default_merge_style: String,
@ -107,6 +110,7 @@ pub(crate) struct HookRepository {
avatar_url: String, avatar_url: String,
internal: bool, internal: bool,
mirror_interval: String, mirror_interval: String,
object_format_name: String,
mirror_updated: String, // TODO: parse to datetime mirror_updated: String, // TODO: parse to datetime
repo_transfer: Value, // Was null in test hook repo_transfer: Value, // Was null in test hook
} }