sonyxperiadev / gerrit-events

MIT License
47 stars 62 forks source link

Prevent receiving list of random changes for empty topic name #78

Closed Jimilian closed 6 years ago

Jimilian commented 6 years ago

Unfortunately, sometimes Gerrit sends empty topic field or Jenkins deserialise topic as empty string. To prevent receiving list of random changes for empty topic this change adds explicit checks.

And because we are using masked topic name ({}) to support spaces, commas and other things we end up in have full list of all gerrit changes (with some limit on gerrit side):

ssh -p PORT user@gerrit gerrit query --current-patch-set --format=JSON topic:{} | wc -l
501

Without mask (no entries found):

ssh -p PORT user@gerrit gerrit query --current-patch-set --format=JSON topic: | wc -l
1

So, now we forcibly switch topic/topicObject to null if name is empty and check that we don't query changes for empty topic name.