You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by bu...@apache.org on 2018/04/15 02:46:01 UTC
[12/12] hbase git commit: HBASE-20388 nightly tests running on a
feature branch should only comment on that feature branch's jira
HBASE-20388 nightly tests running on a feature branch should only comment on that feature branch's jira
Project: http://git-wip-us.apache.org/repos/asf/hbase/repo
Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/3f502779
Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/3f502779
Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/3f502779
Branch: refs/heads/HBASE-20388
Commit: 3f50277958ea129e5b050d6c1ee1508e115baf93
Parents: 0a31ea4
Author: Sean Busbey <bu...@apache.org>
Authored: Thu Apr 12 21:10:53 2018 -0500
Committer: Sean Busbey <bu...@apache.org>
Committed: Sat Apr 14 21:45:18 2018 -0500
----------------------------------------------------------------------
dev-support/Jenkinsfile | 35 +++++++++++++++++++++++------------
1 file changed, 23 insertions(+), 12 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/hbase/blob/3f502779/dev-support/Jenkinsfile
----------------------------------------------------------------------
diff --git a/dev-support/Jenkinsfile b/dev-support/Jenkinsfile
index 6e320ca..821d20e 100644
--- a/dev-support/Jenkinsfile
+++ b/dev-support/Jenkinsfile
@@ -528,8 +528,14 @@ curl -L -o personality.sh "${env.PROJECT_PERSONALITY}"
echo "[INFO] Comment:"
echo comment
echo ""
- echo "[INFO] There are ${currentBuild.changeSets.size()} change sets."
- getJirasToComment(currentBuild).each { currentIssue ->
+ echo "[DEBUG] checking to see if feature branch"
+ def jiras = getJirasToComment(env.BRANCH_NAME, [])
+ if (jiras.isEmpty()) {
+ echo "[DEBUG] non-feature branch, checking change messages for jira keys."
+ echo "[INFO] There are ${currentBuild.changeSets.size()} change sets."
+ jiras = getJirasToCommentFromChangesets(currentBuild)
+ }
+ jiras.each { currentIssue ->
jiraComment issueKey: currentIssue, body: comment
}
} catch (Exception exception) {
@@ -542,7 +548,7 @@ curl -L -o personality.sh "${env.PROJECT_PERSONALITY}"
}
import org.jenkinsci.plugins.workflow.support.steps.build.RunWrapper
@NonCPS
-List<String> getJirasToComment(RunWrapper thisBuild) {
+List<String> getJirasToCommentFromChangesets(RunWrapper thisBuild) {
def seenJiras = []
thisBuild.changeSets.each { cs ->
cs.getItems().each { change ->
@@ -552,16 +558,21 @@ List<String> getJirasToComment(RunWrapper thisBuild) {
echo " ${change.commitId}"
echo " ${change.author}"
echo ""
- msg.eachMatch("HBASE-[0-9]+") { currentIssue ->
- echo "[DEBUG] found jira key: ${currentIssue}"
- if (currentIssue in seenJiras) {
- echo "[DEBUG] already commented on ${currentIssue}."
- } else {
- echo "[INFO] commenting on ${currentIssue}."
- seenJiras << currentIssue
- }
- }
+ seenJiras = getJirasToComment(msg, seenJiras)
}
}
return seenJiras
}
+@NonCPS
+List<String> getJirasToComment(CharSequence source, List<String> seen) {
+ source.eachMatch("HBASE-[0-9]+") { currentIssue ->
+ echo "[DEBUG] found jira key: ${currentIssue}"
+ if (currentIssue in seen) {
+ echo "[DEBUG] already commented on ${currentIssue}."
+ } else {
+ echo "[INFO] commenting on ${currentIssue}."
+ seen << currentIssue
+ }
+ }
+ return seen
+}