Merge branch 'stable-2.16' * stable-2.16: Prevent null pointer when extracting AccountAttribute Upgrade bazlets to latest stable-2.15 to build with 2.15.9 API Upgrade bazlets to latest stable-2.14 to build with 2.14.18 API Do not fetch commit message for ref deletions Revert "Fix ref updated event on change deletion" Bazel: Include eclipse-out directory in .bazelignore Add explanatory comment to empty BUILD file(s) Upgrade bazlets to latest stable-2.15 to build with 2.15.7 API Upgrade bazlets to latest stable-2.14 to build with 2.14.17 API Upgrade bazlets to latest stable-2.15 to build with 2.15.6 API WORKSPACE: Make commented out local_path line spaces indent consistent Upgrade bazlets to latest stable-2.14 to build with 2.14.16 API Migrate `tools/bazel.rc` to `.bazelrc` Update build documentation to link to dev-bazel instead of dev-buck Align Eclipse compiler settings with core Gerrit's Upgrade bazlets to latest stable-2.15 to build with 2.15.5 API bazlets: Replace native.git_repository with skylark rule Upgrade bazlets to latest stable-2.14 to build with 2.14.15 API Add eclipse-out to .gitignore Format all build files with buildifier 0.15.0 Update bazlets to latest revision on stable-2.15 Remove commented-out code Format BUILD files with buildifier 0.12.0 Format Java files with google-java-format 1.6 Update bazlets to latest revision on stable-2.14 Change-Id: I56b86f1c63c5f33443486c47a8bfb8039bfd4be0
diff --git a/src/main/java/com/googlesource/gerrit/plugins/its/base/util/PropertyAttributeExtractor.java b/src/main/java/com/googlesource/gerrit/plugins/its/base/util/PropertyAttributeExtractor.java index f87f7b5..f1b2c0d 100644 --- a/src/main/java/com/googlesource/gerrit/plugins/its/base/util/PropertyAttributeExtractor.java +++ b/src/main/java/com/googlesource/gerrit/plugins/its/base/util/PropertyAttributeExtractor.java
@@ -15,6 +15,7 @@ package com.googlesource.gerrit.plugins.its.base.util; import com.google.common.collect.ImmutableMap; +import com.google.gerrit.reviewdb.client.RefNames; import com.google.gerrit.server.data.AccountAttribute; import com.google.gerrit.server.data.ApprovalAttribute; import com.google.gerrit.server.data.ChangeAttribute; @@ -86,10 +87,14 @@ } Map<String, String> extractFrom(RefUpdateAttribute refUpdateAttribute) { + String refName = refUpdateAttribute.refName; + String refShortName = RefNames.shortName(refName); return ImmutableMap.<String, String>builder() .put("revision", refUpdateAttribute.newRev) .put("revisionOld", refUpdateAttribute.oldRev) .put("ref", refUpdateAttribute.refName) + .put("refSuffix", refShortName) + .put("refPrefix", refName.substring(0, refName.length() - refShortName.length())) .build(); }
diff --git a/src/main/resources/Documentation/config-rulebase-common.md b/src/main/resources/Documentation/config-rulebase-common.md index 17baf77..d232e57 100644 --- a/src/main/resources/Documentation/config-rulebase-common.md +++ b/src/main/resources/Documentation/config-rulebase-common.md
@@ -425,8 +425,15 @@ : full name of the project from which a ref was updated. `ref` -: git ref that has been updated (Typcially the branch, as for example - `master`). +: git ref that has been updated (Typically the branch, as for example + `refs/heads/master`). + +`refSuffix` +: short name of the git ref that has been updated (Typically the branch or the +tag, as for example `master`). + +`refPrefix` +: prefix of the git ref that has been updated (Example for a branch `refs/heads/`). `revision` : git commit hash the rev is pointing to now.
diff --git a/src/test/java/com/googlesource/gerrit/plugins/its/base/util/PropertyAttributeExtractorTest.java b/src/test/java/com/googlesource/gerrit/plugins/its/base/util/PropertyAttributeExtractorTest.java index 3e61bc1..df88c2f 100644 --- a/src/test/java/com/googlesource/gerrit/plugins/its/base/util/PropertyAttributeExtractorTest.java +++ b/src/test/java/com/googlesource/gerrit/plugins/its/base/util/PropertyAttributeExtractorTest.java
@@ -260,7 +260,7 @@ RefUpdateAttribute refUpdateAttribute = new RefUpdateAttribute(); refUpdateAttribute.newRev = "1234567891123456789212345678931234567894"; refUpdateAttribute.oldRev = "9876543211987654321298765432139876543214"; - refUpdateAttribute.refName = "testRef"; + refUpdateAttribute.refName = "refs/heads/master"; replayMocks(); @@ -272,7 +272,9 @@ new ImmutableMap.Builder<String, String>() .put("revision", "1234567891123456789212345678931234567894") .put("revisionOld", "9876543211987654321298765432139876543214") - .put("ref", "testRef") + .put("ref", "refs/heads/master") + .put("refSuffix", "master") + .put("refPrefix", "refs/heads/") .build(); assertEquals("Properties do not match", expected, actual); }