Add change-owner parameter to gerrit hooks

This change adds the "--change-owner" info to the following hooks:
- patchset-created
- draft-published
- comment-added
- change-merged
- merge-failed
- change-abandoned
- change-restored
- reviewer-added
- topic-changed

Change-Id: I1e446bd050af13665aa93c380951bcc5eed37c6c
feature: Issue 2596
This commit is contained in:
Khai Do
2014-04-22 10:38:21 -07:00
parent 375f3bf5f2
commit 70dbd5e943
2 changed files with 27 additions and 9 deletions

View File

@@ -41,7 +41,7 @@ This is called whenever a patchset is created (this includes new
changes and drafts). changes and drafts).
==== ====
patchset-created --change <change id> --is-draft <boolean> --change-url <change url> --project <project name> --branch <branch> --topic <topic> --uploader <uploader> --commit <sha1> --patchset <patchset id> patchset-created --change <change id> --is-draft <boolean> --change-url <change url> --change-owner <change owner> --project <project name> --branch <branch> --topic <topic> --uploader <uploader> --commit <sha1> --patchset <patchset id>
==== ====
=== draft-published === draft-published
@@ -49,7 +49,7 @@ changes and drafts).
This is called whenever a draft change is published. This is called whenever a draft change is published.
==== ====
draft-published --change <change id> --change-url <change url> --project <project name> --branch <branch> --topic <topic> --uploader <uploader> --commit <sha1> --patchset <patchset id> draft-published --change <change id> --change-url <change url> --change-owner <change owner> --project <project name> --branch <branch> --topic <topic> --uploader <uploader> --commit <sha1> --patchset <patchset id>
==== ====
=== comment-added === comment-added
@@ -57,7 +57,7 @@ This is called whenever a draft change is published.
This is called whenever a comment is added to a change. This is called whenever a comment is added to a change.
==== ====
comment-added --change <change id> --is-draft <boolean> --change-url <change url> --project <project name> --branch <branch> --topic <topic> --author <comment author> --commit <commit> --comment <comment> [--<approval category id> <score> --<approval category id> <score> ...] comment-added --change <change id> --is-draft <boolean> --change-url <change url> --change-owner <change owner> --project <project name> --branch <branch> --topic <topic> --author <comment author> --commit <commit> --comment <comment> [--<approval category id> <score> --<approval category id> <score> ...]
==== ====
=== change-merged === change-merged
@@ -65,7 +65,7 @@ This is called whenever a comment is added to a change.
Called whenever a change has been merged. Called whenever a change has been merged.
==== ====
change-merged --change <change id> --change-url <change url> --project <project name> --branch <branch> --topic <topic> --submitter <submitter> --commit <sha1> change-merged --change <change id> --change-url <change url> --change-owner <change owner> --project <project name> --branch <branch> --topic <topic> --submitter <submitter> --commit <sha1>
==== ====
=== merge-failed === merge-failed
@@ -73,7 +73,7 @@ Called whenever a change has been merged.
Called whenever a change has failed to merge. Called whenever a change has failed to merge.
==== ====
merge-failed --change <change id> --change-url <change url> --project <project name> --branch <branch> --topic <topic> --submitter <submitter> --commit <sha1> --reason <reason> merge-failed --change <change id> --change-url <change url> --change-owner <change owner> --project <project name> --branch <branch> --topic <topic> --submitter <submitter> --commit <sha1> --reason <reason>
==== ====
=== change-abandoned === change-abandoned
@@ -81,7 +81,7 @@ Called whenever a change has failed to merge.
Called whenever a change has been abandoned. Called whenever a change has been abandoned.
==== ====
change-abandoned --change <change id> --change-url <change url> --project <project name> --branch <branch> --topic <topic> --abandoner <abandoner> --commit <sha1> --reason <reason> change-abandoned --change <change id> --change-url <change url> --change-owner <change owner> --project <project name> --branch <branch> --topic <topic> --abandoner <abandoner> --commit <sha1> --reason <reason>
==== ====
=== change-restored === change-restored
@@ -89,7 +89,7 @@ Called whenever a change has been abandoned.
Called whenever a change has been restored. Called whenever a change has been restored.
==== ====
change-restored --change <change id> --change-url <change url> --project <project name> --branch <branch> --topic <topic> --restorer <restorer> --commit <sha1> --reason <reason> change-restored --change <change id> --change-url <change url> --change-owner <change owner> --project <project name> --branch <branch> --topic <topic> --restorer <restorer> --commit <sha1> --reason <reason>
==== ====
=== ref-updated === ref-updated
@@ -105,7 +105,7 @@ Called whenever a ref has been updated.
Called whenever a reviewer is added to a change. Called whenever a reviewer is added to a change.
==== ====
reviewer-added --change <change id> --change-url <change url> --project <project name> --branch <branch> --reviewer <reviewer> reviewer-added --change <change id> --change-url <change url> --change-owner <change owner> --project <project name> --branch <branch> --reviewer <reviewer>
==== ====
=== topic-changed === topic-changed
@@ -113,7 +113,7 @@ Called whenever a reviewer is added to a change.
Called whenever a change's topic is changed from the Web UI or via the REST API. Called whenever a change's topic is changed from the Web UI or via the REST API.
==== ====
topic-changed --change <change id> --project <project name> --branch <branch> --changer <changer> --old-topic <old topic> --new-topic <new topic> topic-changed --change <change id> --change-owner <change owner> --project <project name> --branch <branch> --changer <changer> --old-topic <old topic> --new-topic <new topic>
==== ====
=== cla-signed === cla-signed

View File

@@ -349,6 +349,7 @@ public class ChangeHookRunner implements ChangeHooks, LifecycleListener {
final ReviewDb db) throws OrmException { final ReviewDb db) throws OrmException {
final PatchSetCreatedEvent event = new PatchSetCreatedEvent(); final PatchSetCreatedEvent event = new PatchSetCreatedEvent();
final AccountState uploader = accountCache.get(patchSet.getUploader()); final AccountState uploader = accountCache.get(patchSet.getUploader());
final AccountState owner = accountCache.get(change.getOwner());
event.change = eventFactory.asChangeAttribute(change); event.change = eventFactory.asChangeAttribute(change);
event.patchSet = eventFactory.asPatchSetAttribute(patchSet); event.patchSet = eventFactory.asPatchSetAttribute(patchSet);
@@ -359,6 +360,7 @@ public class ChangeHookRunner implements ChangeHooks, LifecycleListener {
addArg(args, "--change", event.change.id); addArg(args, "--change", event.change.id);
addArg(args, "--is-draft", patchSet.isDraft() ? "true" : "false"); addArg(args, "--is-draft", patchSet.isDraft() ? "true" : "false");
addArg(args, "--change-url", event.change.url); addArg(args, "--change-url", event.change.url);
addArg(args, "--change-owner", getDisplayName(owner.getAccount()));
addArg(args, "--project", event.change.project); addArg(args, "--project", event.change.project);
addArg(args, "--branch", event.change.branch); addArg(args, "--branch", event.change.branch);
addArg(args, "--topic", event.change.topic); addArg(args, "--topic", event.change.topic);
@@ -373,6 +375,7 @@ public class ChangeHookRunner implements ChangeHooks, LifecycleListener {
final ReviewDb db) throws OrmException { final ReviewDb db) throws OrmException {
final DraftPublishedEvent event = new DraftPublishedEvent(); final DraftPublishedEvent event = new DraftPublishedEvent();
final AccountState uploader = accountCache.get(patchSet.getUploader()); final AccountState uploader = accountCache.get(patchSet.getUploader());
final AccountState owner = accountCache.get(change.getOwner());
event.change = eventFactory.asChangeAttribute(change); event.change = eventFactory.asChangeAttribute(change);
event.patchSet = eventFactory.asPatchSetAttribute(patchSet); event.patchSet = eventFactory.asPatchSetAttribute(patchSet);
@@ -382,6 +385,7 @@ public class ChangeHookRunner implements ChangeHooks, LifecycleListener {
final List<String> args = new ArrayList<String>(); final List<String> args = new ArrayList<String>();
addArg(args, "--change", event.change.id); addArg(args, "--change", event.change.id);
addArg(args, "--change-url", event.change.url); addArg(args, "--change-url", event.change.url);
addArg(args, "--change-owner", getDisplayName(owner.getAccount()));
addArg(args, "--project", event.change.project); addArg(args, "--project", event.change.project);
addArg(args, "--branch", event.change.branch); addArg(args, "--branch", event.change.branch);
addArg(args, "--topic", event.change.topic); addArg(args, "--topic", event.change.topic);
@@ -396,6 +400,7 @@ public class ChangeHookRunner implements ChangeHooks, LifecycleListener {
final PatchSet patchSet, final String comment, final Map<String, Short> approvals, final PatchSet patchSet, final String comment, final Map<String, Short> approvals,
final ReviewDb db) throws OrmException { final ReviewDb db) throws OrmException {
final CommentAddedEvent event = new CommentAddedEvent(); final CommentAddedEvent event = new CommentAddedEvent();
final AccountState owner = accountCache.get(change.getOwner());
event.change = eventFactory.asChangeAttribute(change); event.change = eventFactory.asChangeAttribute(change);
event.author = eventFactory.asAccountAttribute(account); event.author = eventFactory.asAccountAttribute(account);
@@ -417,6 +422,7 @@ public class ChangeHookRunner implements ChangeHooks, LifecycleListener {
addArg(args, "--change", event.change.id); addArg(args, "--change", event.change.id);
addArg(args, "--is-draft", patchSet.isDraft() ? "true" : "false"); addArg(args, "--is-draft", patchSet.isDraft() ? "true" : "false");
addArg(args, "--change-url", event.change.url); addArg(args, "--change-url", event.change.url);
addArg(args, "--change-owner", getDisplayName(owner.getAccount()));
addArg(args, "--project", event.change.project); addArg(args, "--project", event.change.project);
addArg(args, "--branch", event.change.branch); addArg(args, "--branch", event.change.branch);
addArg(args, "--topic", event.change.topic); addArg(args, "--topic", event.change.topic);
@@ -436,6 +442,7 @@ public class ChangeHookRunner implements ChangeHooks, LifecycleListener {
public void doChangeMergedHook(final Change change, final Account account, public void doChangeMergedHook(final Change change, final Account account,
final PatchSet patchSet, final ReviewDb db) throws OrmException { final PatchSet patchSet, final ReviewDb db) throws OrmException {
final ChangeMergedEvent event = new ChangeMergedEvent(); final ChangeMergedEvent event = new ChangeMergedEvent();
final AccountState owner = accountCache.get(change.getOwner());
event.change = eventFactory.asChangeAttribute(change); event.change = eventFactory.asChangeAttribute(change);
event.submitter = eventFactory.asAccountAttribute(account); event.submitter = eventFactory.asAccountAttribute(account);
@@ -445,6 +452,7 @@ public class ChangeHookRunner implements ChangeHooks, LifecycleListener {
final List<String> args = new ArrayList<String>(); final List<String> args = new ArrayList<String>();
addArg(args, "--change", event.change.id); addArg(args, "--change", event.change.id);
addArg(args, "--change-url", event.change.url); addArg(args, "--change-url", event.change.url);
addArg(args, "--change-owner", getDisplayName(owner.getAccount()));
addArg(args, "--project", event.change.project); addArg(args, "--project", event.change.project);
addArg(args, "--branch", event.change.branch); addArg(args, "--branch", event.change.branch);
addArg(args, "--topic", event.change.topic); addArg(args, "--topic", event.change.topic);
@@ -458,6 +466,7 @@ public class ChangeHookRunner implements ChangeHooks, LifecycleListener {
final PatchSet patchSet, final String reason, final PatchSet patchSet, final String reason,
final ReviewDb db) throws OrmException { final ReviewDb db) throws OrmException {
final MergeFailedEvent event = new MergeFailedEvent(); final MergeFailedEvent event = new MergeFailedEvent();
final AccountState owner = accountCache.get(change.getOwner());
event.change = eventFactory.asChangeAttribute(change); event.change = eventFactory.asChangeAttribute(change);
event.submitter = eventFactory.asAccountAttribute(account); event.submitter = eventFactory.asAccountAttribute(account);
@@ -468,6 +477,7 @@ public class ChangeHookRunner implements ChangeHooks, LifecycleListener {
final List<String> args = new ArrayList<String>(); final List<String> args = new ArrayList<String>();
addArg(args, "--change", event.change.id); addArg(args, "--change", event.change.id);
addArg(args, "--change-url", event.change.url); addArg(args, "--change-url", event.change.url);
addArg(args, "--change-owner", getDisplayName(owner.getAccount()));
addArg(args, "--project", event.change.project); addArg(args, "--project", event.change.project);
addArg(args, "--branch", event.change.branch); addArg(args, "--branch", event.change.branch);
addArg(args, "--topic", event.change.topic); addArg(args, "--topic", event.change.topic);
@@ -482,6 +492,7 @@ public class ChangeHookRunner implements ChangeHooks, LifecycleListener {
final PatchSet patchSet, final String reason, final ReviewDb db) final PatchSet patchSet, final String reason, final ReviewDb db)
throws OrmException { throws OrmException {
final ChangeAbandonedEvent event = new ChangeAbandonedEvent(); final ChangeAbandonedEvent event = new ChangeAbandonedEvent();
final AccountState owner = accountCache.get(change.getOwner());
event.change = eventFactory.asChangeAttribute(change); event.change = eventFactory.asChangeAttribute(change);
event.abandoner = eventFactory.asAccountAttribute(account); event.abandoner = eventFactory.asAccountAttribute(account);
@@ -492,6 +503,7 @@ public class ChangeHookRunner implements ChangeHooks, LifecycleListener {
final List<String> args = new ArrayList<String>(); final List<String> args = new ArrayList<String>();
addArg(args, "--change", event.change.id); addArg(args, "--change", event.change.id);
addArg(args, "--change-url", event.change.url); addArg(args, "--change-url", event.change.url);
addArg(args, "--change-owner", getDisplayName(owner.getAccount()));
addArg(args, "--project", event.change.project); addArg(args, "--project", event.change.project);
addArg(args, "--branch", event.change.branch); addArg(args, "--branch", event.change.branch);
addArg(args, "--topic", event.change.topic); addArg(args, "--topic", event.change.topic);
@@ -506,6 +518,7 @@ public class ChangeHookRunner implements ChangeHooks, LifecycleListener {
final PatchSet patchSet, final String reason, final ReviewDb db) final PatchSet patchSet, final String reason, final ReviewDb db)
throws OrmException { throws OrmException {
final ChangeRestoredEvent event = new ChangeRestoredEvent(); final ChangeRestoredEvent event = new ChangeRestoredEvent();
final AccountState owner = accountCache.get(change.getOwner());
event.change = eventFactory.asChangeAttribute(change); event.change = eventFactory.asChangeAttribute(change);
event.restorer = eventFactory.asAccountAttribute(account); event.restorer = eventFactory.asAccountAttribute(account);
@@ -516,6 +529,7 @@ public class ChangeHookRunner implements ChangeHooks, LifecycleListener {
final List<String> args = new ArrayList<String>(); final List<String> args = new ArrayList<String>();
addArg(args, "--change", event.change.id); addArg(args, "--change", event.change.id);
addArg(args, "--change-url", event.change.url); addArg(args, "--change-url", event.change.url);
addArg(args, "--change-owner", getDisplayName(owner.getAccount()));
addArg(args, "--project", event.change.project); addArg(args, "--project", event.change.project);
addArg(args, "--branch", event.change.branch); addArg(args, "--branch", event.change.branch);
addArg(args, "--topic", event.change.topic); addArg(args, "--topic", event.change.topic);
@@ -554,6 +568,7 @@ public class ChangeHookRunner implements ChangeHooks, LifecycleListener {
public void doReviewerAddedHook(final Change change, final Account account, public void doReviewerAddedHook(final Change change, final Account account,
final PatchSet patchSet, final ReviewDb db) throws OrmException { final PatchSet patchSet, final ReviewDb db) throws OrmException {
final ReviewerAddedEvent event = new ReviewerAddedEvent(); final ReviewerAddedEvent event = new ReviewerAddedEvent();
final AccountState owner = accountCache.get(change.getOwner());
event.change = eventFactory.asChangeAttribute(change); event.change = eventFactory.asChangeAttribute(change);
event.patchSet = eventFactory.asPatchSetAttribute(patchSet); event.patchSet = eventFactory.asPatchSetAttribute(patchSet);
@@ -563,6 +578,7 @@ public class ChangeHookRunner implements ChangeHooks, LifecycleListener {
final List<String> args = new ArrayList<String>(); final List<String> args = new ArrayList<String>();
addArg(args, "--change", event.change.id); addArg(args, "--change", event.change.id);
addArg(args, "--change-url", event.change.url); addArg(args, "--change-url", event.change.url);
addArg(args, "--change-owner", getDisplayName(owner.getAccount()));
addArg(args, "--project", event.change.project); addArg(args, "--project", event.change.project);
addArg(args, "--branch", event.change.branch); addArg(args, "--branch", event.change.branch);
addArg(args, "--reviewer", getDisplayName(account)); addArg(args, "--reviewer", getDisplayName(account));
@@ -574,6 +590,7 @@ public class ChangeHookRunner implements ChangeHooks, LifecycleListener {
final String oldTopic, final ReviewDb db) final String oldTopic, final ReviewDb db)
throws OrmException { throws OrmException {
final TopicChangedEvent event = new TopicChangedEvent(); final TopicChangedEvent event = new TopicChangedEvent();
final AccountState owner = accountCache.get(change.getOwner());
event.change = eventFactory.asChangeAttribute(change); event.change = eventFactory.asChangeAttribute(change);
event.changer = eventFactory.asAccountAttribute(account); event.changer = eventFactory.asAccountAttribute(account);
@@ -582,6 +599,7 @@ public class ChangeHookRunner implements ChangeHooks, LifecycleListener {
final List<String> args = new ArrayList<String>(); final List<String> args = new ArrayList<String>();
addArg(args, "--change", event.change.id); addArg(args, "--change", event.change.id);
addArg(args, "--change-owner", getDisplayName(owner.getAccount()));
addArg(args, "--project", event.change.project); addArg(args, "--project", event.change.project);
addArg(args, "--branch", event.change.branch); addArg(args, "--branch", event.change.branch);
addArg(args, "--changer", getDisplayName(account)); addArg(args, "--changer", getDisplayName(account));