)]}'
{"id":"snix~30641","triplet_id":"snix~canon~I6a6a69642369726c3bd9f523ae025c34dba8c4aa","project":"snix","branch":"canon","attention_set":{},"removed_from_attention_set":{"1000056":{"account":{"_account_id":1000056,"name":"Oleksandr Knyshuk","email":"olk@disr.it","username":"k1gen"},"last_update":"2025-08-04 12:50:22.000000000","reason":"Change was submitted"}},"hashtags":[],"change_id":"I6a6a69642369726c3bd9f523ae025c34dba8c4aa","subject":"feat(ops/gerrit-webhook-to-irccat): notify when CLs are undrafted","status":"MERGED","created":"2025-08-04 12:00:25.000000000","updated":"2025-08-04 12:50:22.000000000","submitted":"2025-08-04 12:50:22.000000000","submitter":{"_account_id":1000056,"name":"Oleksandr Knyshuk","email":"olk@disr.it","username":"k1gen"},"total_comment_count":6,"unresolved_comment_count":0,"has_review_started":true,"submission_id":"30641","meta_rev_id":"2d6b54660531f51124e5ac455d8abf12035e9082","_number":30641,"virtual_id_number":30641,"owner":{"_account_id":1000056,"name":"Oleksandr Knyshuk","email":"olk@disr.it","username":"k1gen"},"actions":{},"labels":{"Code-Review":{"approved":{"_account_id":1000004,"name":"Florian Klink","email":"flokli@flokli.de","username":"flokli"},"all":[{"value":0,"_account_id":1000002,"name":"besadii","username":"besadii","tags":["SERVICE_USER"]},{"tag":"autogenerated:gerrit:merged","value":2,"date":"2025-08-04 12:50:22.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":1000004,"name":"Florian Klink","email":"flokli@flokli.de","username":"flokli"},{"tag":"autogenerated:gerrit:merged","value":1,"date":"2025-08-04 12:50:22.000000000","permitted_voting_range":{"min":1,"max":1},"_account_id":1000056,"name":"Oleksandr Knyshuk","email":"olk@disr.it","username":"k1gen"}],"values":{"-2":"This shall not be merged","-1":"I would prefer this is not merged as is"," 0":"No score","+1":"Looks good to me, but someone else must approve","+2":"Looks good to me, approved"},"description":"","default_value":0,"optional":true},"Verified":{"approved":{"_account_id":1000002,"name":"besadii","username":"besadii","tags":["SERVICE_USER"]},"all":[{"tag":"autogenerated:gerrit:merged","value":1,"date":"2025-08-04 12:50:22.000000000","permitted_voting_range":{"min":1,"max":1},"_account_id":1000002,"name":"besadii","username":"besadii","tags":["SERVICE_USER"]},{"value":0,"_account_id":1000004,"name":"Florian Klink","email":"flokli@flokli.de","username":"flokli"},{"value":0,"_account_id":1000056,"name":"Oleksandr Knyshuk","email":"olk@disr.it","username":"k1gen"}],"values":{"-1":"Fails"," 0":"No score","+1":"Verified"},"description":"","default_value":0,"optional":true},"Autosubmit":{"all":[{"value":0,"_account_id":1000002,"name":"besadii","username":"besadii","tags":["SERVICE_USER"]},{"value":0,"_account_id":1000004,"name":"Florian Klink","email":"flokli@flokli.de","username":"flokli"},{"value":0,"_account_id":1000056,"name":"Oleksandr Knyshuk","email":"olk@disr.it","username":"k1gen"}],"values":{" 0":"Submit manually","+1":"Submit automatically"},"description":"","default_value":0,"optional":true}},"removable_reviewers":[],"reviewers":{"REVIEWER":[{"_account_id":1000002,"name":"besadii","username":"besadii","tags":["SERVICE_USER"]},{"_account_id":1000004,"name":"Florian Klink","email":"flokli@flokli.de","username":"flokli"},{"_account_id":1000056,"name":"Oleksandr Knyshuk","email":"olk@disr.it","username":"k1gen"}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2025-08-04 12:00:25.000000000","updated_by":{"_account_id":1000002,"name":"besadii","username":"besadii","tags":["SERVICE_USER"]},"reviewer":{"_account_id":1000002,"name":"besadii","username":"besadii","tags":["SERVICE_USER"]},"state":"CC"},{"updated":"2025-08-04 12:11:07.000000000","updated_by":{"_account_id":1000002,"name":"besadii","username":"besadii","tags":["SERVICE_USER"]},"reviewer":{"_account_id":1000002,"name":"besadii","username":"besadii","tags":["SERVICE_USER"]},"state":"REVIEWER"},{"updated":"2025-08-04 12:14:47.000000000","updated_by":{"_account_id":1000004,"name":"Florian Klink","email":"flokli@flokli.de","username":"flokli"},"reviewer":{"_account_id":1000004,"name":"Florian Klink","email":"flokli@flokli.de","username":"flokli"},"state":"CC"},{"updated":"2025-08-04 12:33:15.000000000","updated_by":{"_account_id":1000004,"name":"Florian Klink","email":"flokli@flokli.de","username":"flokli"},"reviewer":{"_account_id":1000004,"name":"Florian Klink","email":"flokli@flokli.de","username":"flokli"},"state":"REVIEWER"}],"messages":[{"id":"77010f0c44a8676d7221cf32fd54d5e3e7c87151","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":1000056,"name":"Oleksandr Knyshuk","email":"olk@disr.it","username":"k1gen"},"date":"2025-08-04 12:00:25.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"bfd2fc1af48546a9ca91a5ed2416c84a2cb43ab9","tag":"autogenerated:buildkite~trigger","author":{"_account_id":1000002,"name":"besadii","username":"besadii","tags":["SERVICE_USER"]},"date":"2025-08-04 12:00:25.000000000","message":"Patch Set 1:\n\nStarted build for patchset #1 on: https://buildkite.com/snix/snix/builds/1505","accounts_in_message":[],"_revision_number":1},{"id":"8919f6a9cfe0df5e0fb7eec3369e69903feb197a","tag":"autogenerated:buildkite~result","author":{"_account_id":1000002,"name":"besadii","username":"besadii","tags":["SERVICE_USER"]},"date":"2025-08-04 12:11:07.000000000","message":"Patch Set 1: Verified+1\n\nBuild of patchset 1 passed: https://buildkite.com/snix/snix/builds/1505","accounts_in_message":[],"_revision_number":1},{"id":"96bf07b1d56b9478f0e61f77f4cc9e9524a776e8","author":{"_account_id":1000004,"name":"Florian Klink","email":"flokli@flokli.de","username":"flokli"},"date":"2025-08-04 12:14:47.000000000","message":"Patch Set 1:\n\n(2 comments)","accounts_in_message":[],"_revision_number":1},{"id":"7bba1dff537f20b0191815c575899d9ccc5f322d","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":1000056,"name":"Oleksandr Knyshuk","email":"olk@disr.it","username":"k1gen"},"date":"2025-08-04 12:22:25.000000000","message":"Uploaded patch set 2.\n\nOutdated Votes:\n* Verified+1 (copy condition: \"(**is:ANY** AND changekind:NO_CODE_CHANGE) OR changekind:NO_CHANGE\")\n","accounts_in_message":[],"_revision_number":2},{"id":"9618633d33c751a80f38c2e57b8ea3c9d3d5aa95","tag":"autogenerated:buildkite~trigger","author":{"_account_id":1000002,"name":"besadii","username":"besadii","tags":["SERVICE_USER"]},"date":"2025-08-04 12:22:26.000000000","message":"Patch Set 2:\n\nStarted build for patchset #2 on: https://buildkite.com/snix/snix/builds/1508","accounts_in_message":[],"_revision_number":2},{"id":"86e2104f377f7ccd4151adacfc228f5ec4ed8c4d","tag":"autogenerated:buildkite~result","author":{"_account_id":1000002,"name":"besadii","username":"besadii","tags":["SERVICE_USER"]},"date":"2025-08-04 12:31:49.000000000","message":"Patch Set 2: Verified+1\n\nBuild of patchset 2 passed: https://buildkite.com/snix/snix/builds/1508","accounts_in_message":[],"_revision_number":2},{"id":"95a1db24c50ffd396c1871422324a1648112e85d","author":{"_account_id":1000004,"name":"Florian Klink","email":"flokli@flokli.de","username":"flokli"},"date":"2025-08-04 12:33:15.000000000","message":"Patch Set 2: Code-Review+2","accounts_in_message":[],"_revision_number":2},{"id":"c4f85e4e1af07054fc567a97760dfd1f432bf699","author":{"_account_id":1000056,"name":"Oleksandr Knyshuk","email":"olk@disr.it","username":"k1gen"},"date":"2025-08-04 12:48:39.000000000","message":"Patch Set 2: Code-Review+1\n\n(3 comments)","accounts_in_message":[],"_revision_number":2},{"id":"b35e1061fa7990291d8fa90a5f7f0374ff4ac01e","author":{"_account_id":1000004,"name":"Florian Klink","email":"flokli@flokli.de","username":"flokli"},"date":"2025-08-04 12:49:31.000000000","message":"Patch Set 2:\n\n(1 comment)","accounts_in_message":[],"_revision_number":2},{"id":"79376070fa744cd986659f2fc04810cc2173a17f","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":1000056,"name":"Oleksandr Knyshuk","email":"olk@disr.it","username":"k1gen"},"date":"2025-08-04 12:50:01.000000000","message":"Patch Set 3: Commit message was updated.\n\nCopied Votes:\n* Code-Review+1, Code-Review+2 (copy condition: \"((**is:ANY** AND **has:unchanged-files**) OR is:MIN) OR changekind:NO_CHANGE\")\n* Verified+1 (copy condition: \"(**is:ANY** AND **changekind:NO_CODE_CHANGE**) OR changekind:NO_CHANGE\")\n","accounts_in_message":[],"_revision_number":3},{"id":"2d6b54660531f51124e5ac455d8abf12035e9082","tag":"autogenerated:gerrit:merged","author":{"_account_id":1000056,"name":"Oleksandr Knyshuk","email":"olk@disr.it","username":"k1gen"},"date":"2025-08-04 12:50:22.000000000","message":"Change has been successfully rebased and submitted as 8d0ae4f7ae7b9b9c367b223bea539b9fa9f8c423\n\n2 is the latest approved patch-set.\nNo files were changed between the latest approved patch-set and the submitted one.\n","accounts_in_message":[],"_revision_number":4}],"current_revision_number":4,"current_revision":"8d0ae4f7ae7b9b9c367b223bea539b9fa9f8c423","revisions":{"8f5049ab635e60f431acdcf9e22fcb94303972a8":{"kind":"REWORK","_number":1,"created":"2025-08-04 12:00:25.000000000","uploader":{"_account_id":1000056,"name":"Oleksandr Knyshuk","email":"olk@disr.it","username":"k1gen"},"ref":"refs/changes/41/30641/1","fetch":{"anonymous http":{"url":"https://cl.snix.dev/snix","ref":"refs/changes/41/30641/1","commands":{"Checkout":"git fetch https://cl.snix.dev/snix refs/changes/41/30641/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://cl.snix.dev/snix refs/changes/41/30641/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://cl.snix.dev/snix refs/changes/41/30641/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://cl.snix.dev/snix refs/changes/41/30641/1"}}},"commit":{"parents":[{"commit":"2a1cd31d52b5614ee416b76fe7a91bc0dd3d3578","subject":"chore: finish migration to 2024 edition"}],"author":{"name":"Oleksandr Knyshuk","email":"olk@disr.it","date":"2025-08-04 11:57:20.000000000","tz":120},"committer":{"name":"Oleksandr Knyshuk","email":"olk@disr.it","date":"2025-08-04 12:00:06.000000000","tz":120},"subject":"feat(ops/gerrit-webhook-to-irccat): notify when CLs are undrafted","message":"feat(ops/gerrit-webhook-to-irccat): notify when CLs are undrafted\n\n- Extend the notification template to handle `wip-state-changed` events where a change is undrafted (i.e., `.Change.Wip` is false or not present).\n- Add test cases for undrafting (should notify) and re-drafting (should not notify).\n- Ensure correct handling of `.Changer.Username` for undraft notifications.\n- Update Go module dependencies for test coverage. (`go mod tidy`)\n\nThis allows the IRC bot to notify when a change is moved out of WIP/draft state, improving visibility for ready-for-review CLs.\n\nChange-Id: I6a6a69642369726c3bd9f523ae025c34dba8c4aa\n"},"branch":"refs/heads/canon"},"1428c46c9ae66d7ee13fb1114be9c231519298b4":{"kind":"REWORK","_number":2,"created":"2025-08-04 12:22:25.000000000","uploader":{"_account_id":1000056,"name":"Oleksandr Knyshuk","email":"olk@disr.it","username":"k1gen"},"ref":"refs/changes/41/30641/2","fetch":{"anonymous http":{"url":"https://cl.snix.dev/snix","ref":"refs/changes/41/30641/2","commands":{"Checkout":"git fetch https://cl.snix.dev/snix refs/changes/41/30641/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://cl.snix.dev/snix refs/changes/41/30641/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://cl.snix.dev/snix refs/changes/41/30641/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://cl.snix.dev/snix refs/changes/41/30641/2"}}},"commit":{"parents":[{"commit":"2a1cd31d52b5614ee416b76fe7a91bc0dd3d3578","subject":"chore: finish migration to 2024 edition"}],"author":{"name":"Oleksandr Knyshuk","email":"olk@disr.it","date":"2025-08-04 12:20:56.000000000","tz":120},"committer":{"name":"Oleksandr Knyshuk","email":"olk@disr.it","date":"2025-08-04 12:21:58.000000000","tz":120},"subject":"feat(ops/gerrit-webhook-to-irccat): notify when CLs are undrafted","message":"feat(ops/gerrit-webhook-to-irccat): notify when CLs are undrafted\n\n- Extend the notification template to handle `wip-state-changed` events where a change is undrafted (i.e., `.Change.Wip` is false or not present).\n- Add test cases for undrafting (should notify) and re-drafting (should not notify).\n- Ensure correct handling of `.Changer.Username` for undraft notifications.\n- Update Go module dependencies for test coverage. (`go mod tidy`)\n\nThis allows the IRC bot to notify when a change is moved out of WIP/draft state, improving visibility for ready-for-review CLs.\n\nFixes #167.\n\nChange-Id: I6a6a69642369726c3bd9f523ae025c34dba8c4aa\n"},"branch":"refs/heads/canon"},"7654b29c20e06c23d97861930d4b59df0465fbec":{"kind":"NO_CODE_CHANGE","_number":3,"created":"2025-08-04 12:50:01.000000000","uploader":{"_account_id":1000056,"name":"Oleksandr Knyshuk","email":"olk@disr.it","username":"k1gen"},"ref":"refs/changes/41/30641/3","fetch":{"anonymous http":{"url":"https://cl.snix.dev/snix","ref":"refs/changes/41/30641/3","commands":{"Checkout":"git fetch https://cl.snix.dev/snix refs/changes/41/30641/3 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://cl.snix.dev/snix refs/changes/41/30641/3 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://cl.snix.dev/snix refs/changes/41/30641/3 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://cl.snix.dev/snix refs/changes/41/30641/3"}}},"commit":{"parents":[{"commit":"2a1cd31d52b5614ee416b76fe7a91bc0dd3d3578","subject":"chore: finish migration to 2024 edition"}],"author":{"name":"Oleksandr Knyshuk","email":"olk@disr.it","date":"2025-08-04 12:20:56.000000000","tz":120},"committer":{"name":"Oleksandr Knyshuk","email":"olk@disr.it","date":"2025-08-04 12:50:01.000000000","tz":0},"subject":"feat(ops/gerrit-webhook-to-irccat): notify when CLs are undrafted","message":"feat(ops/gerrit-webhook-to-irccat): notify when CLs are undrafted\n\n- Extend the notification template to handle `wip-state-changed` events where a change is undrafted (i.e., `.Change.Wip` is false or not present).\n- Add test cases for undrafting (should notify) and re-drafting (should not notify).\n- Ensure correct handling of `.Changer.Username` for undraft notifications.\n- Update Go module dependencies for test coverage. (`go mod tidy`)\n\nThis allows the IRC bot to notify when a change is moved out of\nWIP/draft state, improving visibility for ready-for-review CLs.\n\nFixes #167.\n\nChange-Id: I6a6a69642369726c3bd9f523ae025c34dba8c4aa\n"},"branch":"refs/heads/canon","description":"Edit commit message"},"8d0ae4f7ae7b9b9c367b223bea539b9fa9f8c423":{"kind":"NO_CODE_CHANGE","_number":4,"created":"2025-08-04 12:50:22.000000000","uploader":{"_account_id":1000056,"name":"Oleksandr Knyshuk","email":"olk@disr.it","username":"k1gen"},"ref":"refs/changes/41/30641/4","fetch":{"anonymous http":{"url":"https://cl.snix.dev/snix","ref":"refs/changes/41/30641/4","commands":{"Checkout":"git fetch https://cl.snix.dev/snix refs/changes/41/30641/4 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://cl.snix.dev/snix refs/changes/41/30641/4 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://cl.snix.dev/snix refs/changes/41/30641/4 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://cl.snix.dev/snix refs/changes/41/30641/4"}}},"commit":{"parents":[{"commit":"2a1cd31d52b5614ee416b76fe7a91bc0dd3d3578","subject":"chore: finish migration to 2024 edition"}],"author":{"name":"Oleksandr Knyshuk","email":"olk@disr.it","date":"2025-08-04 12:20:56.000000000","tz":120},"committer":{"name":"Oleksandr Knyshuk","email":"olk@disr.it","date":"2025-08-04 12:50:22.000000000","tz":0},"subject":"feat(ops/gerrit-webhook-to-irccat): notify when CLs are undrafted","message":"feat(ops/gerrit-webhook-to-irccat): notify when CLs are undrafted\n\n- Extend the notification template to handle `wip-state-changed` events where a change is undrafted (i.e., `.Change.Wip` is false or not present).\n- Add test cases for undrafting (should notify) and re-drafting (should not notify).\n- Ensure correct handling of `.Changer.Username` for undraft notifications.\n- Update Go module dependencies for test coverage. (`go mod tidy`)\n\nThis allows the IRC bot to notify when a change is moved out of\nWIP/draft state, improving visibility for ready-for-review CLs.\n\nFixes #167.\n\nChange-Id: I6a6a69642369726c3bd9f523ae025c34dba8c4aa\nReviewed-on: https://cl.snix.dev/c/snix/+/30641\nReviewed-by: Oleksandr Knyshuk \u003colk@disr.it\u003e\nTested-by: besadii\nReviewed-by: Florian Klink \u003cflokli@flokli.de\u003e\n"},"branch":"refs/heads/canon","description":"Rebase","conflicts":{"ours":"7654b29c20e06c23d97861930d4b59df0465fbec","theirs":"2a1cd31d52b5614ee416b76fe7a91bc0dd3d3578","contains_conflicts":false}}},"requirements":[],"submit_records":[{"rule_name":"gerrit~DefaultSubmitRule","status":"CLOSED","labels":[{"label":"Code-Review","status":"MAY","applied_by":{"_account_id":1000004,"name":"Florian Klink","email":"flokli@flokli.de","username":"flokli"}},{"label":"Verified","status":"MAY","applied_by":{"_account_id":1000002,"name":"besadii","username":"besadii","tags":["SERVICE_USER"]}},{"label":"Autosubmit","status":"MAY"}]},{"rule_name":"Code-Owners","status":"CLOSED"}],"submit_requirements":[{"name":"Verified","description":"Label \u0027Verified+1\u0027 is required","status":"SATISFIED","is_legacy":false,"applicability_expression_result":{"fulfilled":true,"status":"PASS"},"submittability_expression_result":{"expression":"label:Verified\u003dMAX,user\u003dnon_uploader","fulfilled":true,"status":"PASS","passing_atoms":["label:Verified\u003dMAX,user\u003dnon_uploader"],"failing_atoms":[],"atom_explanations":{"label:Verified\u003dMAX,user\u003dnon_uploader":""}}},{"name":"Code-Owners","status":"SATISFIED","is_legacy":true,"submittability_expression_result":{"expression":"rule:Code-Owners","fulfilled":true,"status":"PASS","passing_atoms":["Code-Owners"],"failing_atoms":[],"atom_explanations":{}}},{"name":"Code-Review","description":"At least one maximum vote for label \u0027Code-Review\u0027 is required, minimum votes block submits","status":"SATISFIED","is_legacy":false,"submittability_expression_result":{"expression":"label:Code-Review\u003dMAX,user\u003dnon_uploader AND -label:Code-Review\u003dMIN","fulfilled":true,"status":"PASS","passing_atoms":["label:Code-Review\u003dMAX,user\u003dnon_uploader"],"failing_atoms":["label:Code-Review\u003dMIN"],"atom_explanations":{"label:Code-Review\u003dMAX,user\u003dnon_uploader":"","label:Code-Review\u003dMIN":""}}},{"name":"No-Unresolved-Comments","description":"Changes that have unresolved comments are not submittable.","status":"NOT_APPLICABLE","is_legacy":false,"applicability_expression_result":{"fulfilled":false,"status":"FAIL"},"submittability_expression_result":{"expression":"-has:unresolved","fulfilled":true,"status":"NOT_EVALUATED","passing_atoms":[],"failing_atoms":[],"atom_explanations":{}}}]}
