refactor(ops/gerrit-webhook-to-irccat): use streams data types
The types are different for `gerrit stream-events` and webhooks, so switch to a fork of go-gerrit containing their definitions. https://github.com/andygrunwald/go-gerrit/pull/189 is the upstream PR. Change-Id: I24136af2f2cf5655f2a8278632a3b0f52aa6adcc Reviewed-on: https://cl.snix.dev/c/snix/+/30544 Autosubmit: Florian Klink <flokli@flokli.de> Tested-by: besadii Reviewed-by: Ilan Joselevich <personal@ilanjoselevich.com>
This commit is contained in:
parent
abb2daa4ae
commit
fcd43e8bc8
4 changed files with 12 additions and 15 deletions
|
|
@ -10,5 +10,5 @@ pkgs.buildGoModule {
|
|||
./go.sum
|
||||
];
|
||||
};
|
||||
vendorHash = "sha256-x5ldt3KWL6ri5UqbKFXN717R4JVTIFZyn5DsgGi/RY4=";
|
||||
vendorHash = "sha256-Xq0p6EEPFS23H+RMkzQw6767d8WujAz7doR6E/YKrgY=";
|
||||
}
|
||||
|
|
|
|||
|
|
@ -10,13 +10,11 @@ require (
|
|||
)
|
||||
|
||||
require (
|
||||
github.com/google/go-querystring v1.1.0 // indirect
|
||||
github.com/google/uuid v1.6.0 // indirect
|
||||
go.opentelemetry.io/otel v1.29.0 // indirect
|
||||
go.opentelemetry.io/otel/trace v1.29.0 // indirect
|
||||
)
|
||||
|
||||
// switch to the "fixes" branch, which renames _number to number and
|
||||
// work_in_progress to wip to match the structure of the JSON being sent.
|
||||
// Tracking issue: https://github.com/andygrunwald/go-gerrit/pull/187
|
||||
replace github.com/andygrunwald/go-gerrit v1.0.0 => github.com/flokli/go-gerrit v0.0.0-20250515192813-cf3a6e735367
|
||||
// Use the different data types sent in streams
|
||||
// https://github.com/andygrunwald/go-gerrit/pull/189
|
||||
replace github.com/andygrunwald/go-gerrit v1.0.0 => github.com/flokli/go-gerrit v0.0.0-20250523210852-9e357d872ff3
|
||||
|
|
|
|||
|
|
@ -2,13 +2,12 @@ github.com/coreos/go-systemd/v22 v22.5.0 h1:RrqgGjYQKalulkV8NGVIfkXQf6YYmOyiJKk8
|
|||
github.com/coreos/go-systemd/v22 v22.5.0/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc=
|
||||
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
|
||||
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
||||
github.com/flokli/go-gerrit v0.0.0-20250515192813-cf3a6e735367 h1:qurVA28MaXYGbk1nWD5+PQhO5URhJW0PTgPNT1CPp0c=
|
||||
github.com/flokli/go-gerrit v0.0.0-20250515192813-cf3a6e735367/go.mod h1:SeP12EkHZxEVjuJ2HZET304NBtHGG2X6w2Gzd0QXAZw=
|
||||
github.com/flokli/go-gerrit v0.0.0-20250523210852-9e357d872ff3 h1:bkCL+U77VI69eCzZjBszrtl4ytCJcWZdkZeKfiNlz3o=
|
||||
github.com/flokli/go-gerrit v0.0.0-20250523210852-9e357d872ff3/go.mod h1:SeP12EkHZxEVjuJ2HZET304NBtHGG2X6w2Gzd0QXAZw=
|
||||
github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA=
|
||||
github.com/google/go-cmp v0.5.2/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
|
||||
github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI=
|
||||
github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
|
||||
github.com/google/go-querystring v1.1.0 h1:AnCroh3fv4ZBgVIf1Iwtovgjaw/GiKJo8M8yD/fhyJ8=
|
||||
github.com/google/go-querystring v1.1.0/go.mod h1:Kcdr2DB4koayq7X8pmAG4sNG59So17icRSOU623lUBU=
|
||||
github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0=
|
||||
github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
|
||||
|
|
|
|||
|
|
@ -18,7 +18,7 @@ import (
|
|||
sloghttp "github.com/samber/slog-http"
|
||||
"golang.org/x/sync/errgroup"
|
||||
|
||||
"github.com/andygrunwald/go-gerrit"
|
||||
gerritStreams "github.com/andygrunwald/go-gerrit/streams"
|
||||
)
|
||||
|
||||
// TODO:
|
||||
|
|
@ -27,7 +27,7 @@ import (
|
|||
|
||||
var logger *slog.Logger
|
||||
var tmplStr = `{{- if eq .Type "patchset-created" -}}
|
||||
{{- if (and (eq .PatchSet.Number "1") (eq .Change.WorkInProgress false) ) -}}
|
||||
{{- if (and (eq .PatchSet.Number "1") (eq .Change.Wip false) ) -}}
|
||||
#snix CL/{{.Change.Number}} proposed by {{.Change.Owner.Username}} - {{.Change.Subject}} - {{.Change.URL}}
|
||||
{{- end -}}
|
||||
{{- else if eq .Type "change-merged" -}}
|
||||
|
|
@ -51,17 +51,17 @@ func handler(w http.ResponseWriter, r *http.Request) {
|
|||
}
|
||||
logger.InfoContext(r.Context(), "received event", slog.Any("body", body.Bytes()))
|
||||
|
||||
var eventInfo gerrit.EventInfo
|
||||
if err := json.Unmarshal(body.Bytes(), &eventInfo); err != nil {
|
||||
var event gerritStreams.Event
|
||||
if err := json.Unmarshal(body.Bytes(), &event); err != nil {
|
||||
logger.WarnContext(r.Context(), "failed to parse body", slog.Any("error", err))
|
||||
return
|
||||
}
|
||||
|
||||
logger.InfoContext(r.Context(), "received event", slog.Any("event", eventInfo))
|
||||
logger.InfoContext(r.Context(), "received event", slog.Any("event", event))
|
||||
|
||||
// render the template into a buffer.
|
||||
var msg bytes.Buffer
|
||||
if err := tmpl.Execute(&msg, eventInfo); err != nil {
|
||||
if err := tmpl.Execute(&msg, event); err != nil {
|
||||
logger.WarnContext(r.Context(), "failed to execute template with data", slog.Any("error", err))
|
||||
return
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue