You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by sb...@apache.org on 2015/05/25 13:33:39 UTC

[1/3] incubator-ignite git commit: # ignie-456: contrib file

Repository: incubator-ignite
Updated Branches:
  refs/heads/ignite-456 42932de57 -> 1471f2003


# ignie-456: contrib file


Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/1eec17e1
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/1eec17e1
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/1eec17e1

Branch: refs/heads/ignite-456
Commit: 1eec17e187ab0bcfd71e8ed890ac2d7d92e7fa2c
Parents: 42932de
Author: null <null>
Authored: Fri May 22 19:24:52 2015 +0300
Committer: null <null>
Committed: Fri May 22 19:24:52 2015 +0300

----------------------------------------------------------------------
 .gitignore                                 | 1 +
 dev-tools/src/main/groovy/jiraslurp.groovy | 3 +++
 2 files changed, 4 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/1eec17e1/.gitignore
----------------------------------------------------------------------
diff --git a/.gitignore b/.gitignore
index 3da8e4d..896a0d8 100644
--- a/.gitignore
+++ b/.gitignore
@@ -21,3 +21,4 @@ target
 pom-installed.xml
 git-patch-prop-local.sh
 /slurp.sh
+/contributors.txt

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/1eec17e1/dev-tools/src/main/groovy/jiraslurp.groovy
----------------------------------------------------------------------
diff --git a/dev-tools/src/main/groovy/jiraslurp.groovy b/dev-tools/src/main/groovy/jiraslurp.groovy
index 086c99a..78c58a2 100644
--- a/dev-tools/src/main/groovy/jiraslurp.groovy
+++ b/dev-tools/src/main/groovy/jiraslurp.groovy
@@ -52,6 +52,9 @@ final def TC_BUILD_EXCLUDE_LIST = envVariableAsList("BUILD_ID_EXCLUDES", ["Ignit
 def getContributors = {
     def contributorsFile = new File("../contributors.txt")
 
+    assert contributorsFile.exists(), "There was not found file ${contributorsFile.getAbsolutePath()}. " +
+        "It have to be line separated list of jira usernames"
+
     contributorsList = contributorsFile.text.split('\n')
 
     println "Contributors list: $contributorsList"


[2/3] incubator-ignite git commit: # ignie-456: execute rights

Posted by sb...@apache.org.
# ignie-456: execute rights


Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/460c89e0
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/460c89e0
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/460c89e0

Branch: refs/heads/ignite-456
Commit: 460c89e0d6f0ece8e9d90e47f1471a9dd19a450f
Parents: 1eec17e
Author: null <null>
Authored: Fri May 22 19:32:06 2015 +0300
Committer: null <null>
Committed: Fri May 22 19:32:06 2015 +0300

----------------------------------------------------------------------
 dev-tools/slurp.sh | 0
 1 file changed, 0 insertions(+), 0 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/460c89e0/dev-tools/slurp.sh
----------------------------------------------------------------------
diff --git a/dev-tools/slurp.sh b/dev-tools/slurp.sh
old mode 100644
new mode 100755


[3/3] incubator-ignite git commit: # ignie-456: read contributors from jira

Posted by sb...@apache.org.
# ignie-456: read contributors from jira


Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/1471f200
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/1471f200
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/1471f200

Branch: refs/heads/ignite-456
Commit: 1471f200323ebeeefcd55537825577ea8203ee94
Parents: 460c89e
Author: null <null>
Authored: Mon May 25 14:33:37 2015 +0300
Committer: null <null>
Committed: Mon May 25 14:33:37 2015 +0300

----------------------------------------------------------------------
 dev-tools/src/main/groovy/jiraslurp.groovy | 161 +++++++++++++----------
 dev-tools/src/main/test.json               | 162 ++++++++++++++++++++++++
 2 files changed, 259 insertions(+), 64 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/1471f200/dev-tools/src/main/groovy/jiraslurp.groovy
----------------------------------------------------------------------
diff --git a/dev-tools/src/main/groovy/jiraslurp.groovy b/dev-tools/src/main/groovy/jiraslurp.groovy
index 78c58a2..ec30aa8 100644
--- a/dev-tools/src/main/groovy/jiraslurp.groovy
+++ b/dev-tools/src/main/groovy/jiraslurp.groovy
@@ -15,6 +15,10 @@
  * limitations under the License.
  */
 
+/*
+ * Start of util methods.
+ */
+
 def envVariable = { name, defaultVar ->
     def res = System.getenv(name as String)
 
@@ -34,6 +38,79 @@ def envVariableAsList = { name, defaultList ->
 }
 
 /**
+ * Monitors given process and show errors if exist.
+ */
+def checkprocess = { process ->
+    process.waitFor()
+
+    if (process.exitValue() != 0) {
+        println "Return code: " + process.exitValue()
+        println "Errout:\n" + process.err.text
+
+        assert process.exitValue() == 0 || process.exitValue() == 128
+    }
+}
+
+/**
+ * Util method to send http request.
+ */
+def sendHttpRequest = { requestMethod, urlString, user, pwd, postData, contentType ->
+    URL url = new URL(urlString as String);
+
+    HttpURLConnection conn = (HttpURLConnection)url.openConnection();
+
+    String encoded = new sun.misc.BASE64Encoder().encode("$user:$pwd".getBytes());
+
+    conn.setRequestProperty("Authorization", "Basic " + encoded);
+
+    conn.setDoOutput(true);
+    conn.setRequestMethod(requestMethod);
+
+    if (postData) {
+        conn.setRequestProperty("Content-Type", contentType);
+        conn.setRequestProperty("Content-Length", String.valueOf(postData.length()));
+
+        OutputStream os = conn.getOutputStream();
+        os.write(postData.getBytes());
+        os.flush();
+        os.close();
+    }
+
+    conn.connect();
+
+    // Read response.
+    BufferedReader br = new BufferedReader(new InputStreamReader(conn.getInputStream()));
+
+    String response = "";
+    String line;
+
+    while ((line = br.readLine()) != null)
+        response += line
+
+    br.close();
+
+    response
+}
+
+/**
+ * Util method to send http POST request.
+ */
+def sendPostRequest = { urlString, user, pwd, postData, contentType ->
+    sendHttpRequest("POST", urlString, user, pwd, postData, contentType);
+}
+
+/**
+ * Util method to send http GET request.
+ */
+def sendGetRequest = { urlString, user, pwd->
+    sendHttpRequest("GET", urlString, user, pwd, null, null);
+}
+
+/*
+ * End of util methods.
+ */
+
+/**
  * Parsing a special filter from Apache Ignite JIRA and picking up latest by ID
  * attachments to process.
  */
@@ -49,17 +126,28 @@ final def JIRA_CMD = System.getProperty('JIRA_COMMAND', 'jira.sh')
 final def TC_PROJECT_NAME = envVariable("PROJECT_NAME", "Ignite")
 final def TC_BUILD_EXCLUDE_LIST = envVariableAsList("BUILD_ID_EXCLUDES", ["Ignite_RunAllTestBuilds"])
 
+final def JIRA_USER = System.getenv('JIRA_USER')
+final def JIRA_PWD = System.getenv('JIRA_PWD')
+
 def getContributors = {
-    def contributorsFile = new File("../contributors.txt")
+    def response = sendGetRequest(
+        "$JIRA_URL/jira/rest/api/2/project/12315922/role/10010" as String,
+        JIRA_USER,
+        JIRA_PWD)
+
+    println "Response on contributors request = $response"
 
-    assert contributorsFile.exists(), "There was not found file ${contributorsFile.getAbsolutePath()}. " +
-        "It have to be line separated list of jira usernames"
+    def json = new groovy.json.JsonSlurper().parseText(response)
 
-    contributorsList = contributorsFile.text.split('\n')
+    def contributors = []
 
-    println "Contributors list: $contributorsList"
+    json.actors.each {
+        contributors.add(it.name)
+    }
+
+    println "Contributors list: $contributors"
 
-    contributorsList
+    contributors
 }
 
 final def CONTRIBUTORS = getContributors()
@@ -100,7 +188,7 @@ def getLatestAttachment = { jira ->
         .find {
             def fName = it.@name.toString()
 
-        CONTRIBUTORS.contains(it.@author as String) &&
+            CONTRIBUTORS.contains(it.@author as String) &&
                 (fName.endsWith(".patch") || fName.endsWith(".txt") || fName.endsWith(".diff"))
         }
 
@@ -151,20 +239,6 @@ def findAttachments = {
 }
 
 /**
- * Monitors given process and show errors if exist.
- */
-def checkprocess = { process ->
-    process.waitFor()
-
-    if (process.exitValue() != 0) {
-        println "Return code: " + process.exitValue()
-        println "Errout:\n" + process.err.text
-
-        assert process.exitValue() == 0 || process.exitValue() == 128
-    }
-}
-
-/**
  * Applys patch from jira to given git state.
  */
 def applyPatch = { jira, attachementURL ->
@@ -245,50 +319,9 @@ def getTestBuilds = { ->
 }
 
 /**
- * Util method to send post request.
- */
-def sendPostRequest = { urlString, user, pwd, postData, contentType ->
-    URL url = new URL(urlString as String);
-
-    HttpURLConnection conn = (HttpURLConnection)url.openConnection();
-
-    String encoded = new sun.misc.BASE64Encoder().encode("$user:$pwd".getBytes());
-
-    conn.setRequestProperty("Authorization", "Basic " + encoded);
-
-    conn.setDoOutput(true);
-    conn.setRequestMethod("POST");
-    conn.setRequestProperty("Content-Type", contentType);
-    conn.setRequestProperty("Content-Length", String.valueOf(postData.length()));
-
-    OutputStream os = conn.getOutputStream();
-    os.write(postData.getBytes());
-    os.flush();
-    os.close();
-
-    conn.connect();
-
-    // Read response.
-    BufferedReader br = new BufferedReader(new InputStreamReader(conn.getInputStream()));
-
-    String response = "";
-    String line;
-
-    while ((line = br.readLine()) != null)
-        response += line
-
-    br.close();
-
-    response
-}
-
-/**
  * Adds comment to jira ticket.
  */
 def addJiraComment = { jiraNum, comment ->
-    def user = System.getenv('JIRA_USER')
-    def pwd = System.getenv('JIRA_PWD')
-
     try {
         println "Comment: $comment"
 
@@ -296,8 +329,8 @@ def addJiraComment = { jiraNum, comment ->
 
         def response = sendPostRequest(
             "$JIRA_URL/jira/rest/api/2/issue/$jiraNum/comment" as String,
-            user,
-            pwd,
+            JIRA_USER,
+            JIRA_PWD,
             jsonComment,
             "application/json")
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/1471f200/dev-tools/src/main/test.json
----------------------------------------------------------------------
diff --git a/dev-tools/src/main/test.json b/dev-tools/src/main/test.json
new file mode 100644
index 0000000..15ac685
--- /dev/null
+++ b/dev-tools/src/main/test.json
@@ -0,0 +1,162 @@
+{
+  "self": "https://issues.apache.org/jira/rest/api/2/project/12315922/role/10010",
+  "name": "Contributors",
+  "id": 10010,
+  "description": "Non-committers who help out with development",
+  "actors": [
+    {
+      "id": 40295,
+      "displayName": "Andrey Gura",
+      "type": "atlassian-user-role-actor",
+      "name": "agura",
+      "avatarUrl": "/jira/secure/useravatar?size=xsmall&avatarId=10452"
+    },
+    {
+      "id": 42992,
+      "displayName": "Andrey Kornev",
+      "type": "atlassian-user-role-actor",
+      "name": "avk47",
+      "avatarUrl": "/jira/secure/useravatar?size=xsmall&avatarId=10452"
+    },
+    {
+      "id": 39706,
+      "displayName": "Anton Vinogradov",
+      "type": "atlassian-user-role-actor",
+      "name": "avinogradov",
+      "avatarUrl": "/jira/secure/useravatar?size=xsmall&avatarId=10452"
+    },
+    {
+      "id": 39771,
+      "displayName": "Artem Shutak",
+      "type": "atlassian-user-role-actor",
+      "name": "ashutak",
+      "avatarUrl": "/jira/secure/useravatar?size=xsmall&avatarId=10452"
+    },
+    {
+      "id": 42255,
+      "displayName": "Ashwin Sharma",
+      "type": "atlassian-user-role-actor",
+      "name": "ashwinks11",
+      "avatarUrl": "/jira/secure/useravatar?size=xsmall&avatarId=10452"
+    },
+    {
+      "id": 42238,
+      "displayName": "Atri Sharma",
+      "type": "atlassian-user-role-actor",
+      "name": "atris",
+      "avatarUrl": "/jira/secure/useravatar?size=xsmall&avatarId=10452"
+    },
+    {
+      "id": 42206,
+      "displayName": "Denis Magda",
+      "type": "atlassian-user-role-actor",
+      "name": "dmagda",
+      "avatarUrl": "/jira/secure/useravatar?size=xsmall&avatarId=10452"
+    },
+    {
+      "id": 43065,
+      "displayName": "Evans Ye",
+      "type": "atlassian-user-role-actor",
+      "name": "evans_ye",
+      "avatarUrl": "/jira/secure/useravatar?size=xsmall&avatarId=10452"
+    },
+    {
+      "id": 42766,
+      "displayName": "Gianfranco Murador",
+      "type": "atlassian-user-role-actor",
+      "name": "glutters",
+      "avatarUrl": "/jira/secure/useravatar?size=xsmall&avatarId=10452"
+    },
+    {
+      "id": 42700,
+      "displayName": "Iker Huerga",
+      "type": "atlassian-user-role-actor",
+      "name": "ihuerga",
+      "avatarUrl": "/jira/secure/useravatar?size=xsmall&avatarId=10452"
+    },
+    {
+      "id": 39834,
+      "displayName": "Ilya Suntsov",
+      "type": "atlassian-user-role-actor",
+      "name": "ustas",
+      "avatarUrl": "/jira/secure/useravatar?size=xsmall&ownerId=ustas&avatarId=22922"
+    },
+    {
+      "id": 39705,
+      "displayName": "Irina Vasilinets",
+      "type": "atlassian-user-role-actor",
+      "name": "vasilinets",
+      "avatarUrl": "/jira/secure/useravatar?size=xsmall&avatarId=10452"
+    },
+    {
+      "id": 40058,
+      "displayName": "Ivan Veselovsky",
+      "type": "atlassian-user-role-actor",
+      "name": "iveselovskiy",
+      "avatarUrl": "/jira/secure/useravatar?size=xsmall&avatarId=10452"
+    },
+    {
+      "id": 40516,
+      "displayName": "Joshua Goldie",
+      "type": "atlassian-user-role-actor",
+      "name": "jdgoldie",
+      "avatarUrl": "/jira/secure/useravatar?size=xsmall&ownerId=jdgoldie&avatarId=23036"
+    },
+    {
+      "id": 40344,
+      "displayName": "Mikhail Antonov",
+      "type": "atlassian-user-role-actor",
+      "name": "mantonov",
+      "avatarUrl": "/jira/secure/useravatar?size=xsmall&ownerId=mantonov&avatarId=18652"
+    },
+    {
+      "id": 39247,
+      "displayName": "Nikolay Tikhonov",
+      "type": "atlassian-user-role-actor",
+      "name": "ntikhonov",
+      "avatarUrl": "/jira/secure/useravatar?size=xsmall&avatarId=10452"
+    },
+    {
+      "id": 39835,
+      "displayName": "Pavel Konstantinov",
+      "type": "atlassian-user-role-actor",
+      "name": "pkonstantinov",
+      "avatarUrl": "/jira/secure/useravatar?size=xsmall&ownerId=pkonstantinov&avatarId=22948"
+    },
+    {
+      "id": 42226,
+      "displayName": "Sergey Eliseev",
+      "type": "atlassian-user-role-actor",
+      "name": "SergeyEliseev",
+      "avatarUrl": "/jira/secure/useravatar?size=xsmall&avatarId=10452"
+    },
+    {
+      "id": 39833,
+      "displayName": "Sergey Kozlov",
+      "type": "atlassian-user-role-actor",
+      "name": "skozlov",
+      "avatarUrl": "/jira/secure/useravatar?size=xsmall&avatarId=10452"
+    },
+    {
+      "id": 40146,
+      "displayName": "Vasilisa Sidorova",
+      "type": "atlassian-user-role-actor",
+      "name": "vsidorova",
+      "avatarUrl": "/jira/secure/useravatar?size=xsmall&avatarId=10449"
+    },
+    {
+      "id": 39798,
+      "displayName": "Vasiliy Sisko",
+      "type": "atlassian-user-role-actor",
+      "name": "vsisko",
+      "avatarUrl": "/jira/secure/useravatar?size=xsmall&avatarId=10452"
+    },
+    {
+      "id": 40343,
+      "displayName": "Vishal Garg",
+      "type": "atlassian-user-role-actor",
+      "name": "Vishal.garg.ignite",
+      "avatarUrl": "/jira/secure/useravatar?size=xsmall&avatarId=10452"
+    }
+  ]
+}