{"action":"created","comment":{"url":"https://api.github.com/repos/ow2-proactive/jsr223-perl/pulls/comments/103891867","pull_request_review_id":24693155,"id":103891867,"diff_hunk":"@@ -0,0 +1,163 @@\n+/*\n+ * ProActive Parallel Suite(TM):\n+ * The Open Source library for parallel and distributed\n+ * Workflows & Scheduling, Orchestration, Cloud Automation\n+ * and Big Data Analysis on Enterprise Grids & Clouds.\n+ *\n+ * Copyright (c) 2007 - 2017 ActiveEon\n+ * Contact: contact@activeeon.com\n+ *\n+ * This library is free software: you can redistribute it and/or\n+ * modify it under the terms of the GNU Affero General Public License\n+ * as published by the Free Software Foundation: version 3 of\n+ * the License.\n+ *\n+ * This program is distributed in the hope that it will be useful,\n+ * but WITHOUT ANY WARRANTY; without even the implied warranty of\n+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n+ * GNU Affero General Public License for more details.\n+ *\n+ * You should have received a copy of the GNU Affero General Public License\n+ * along with this program. If not, see <http://www.gnu.org/licenses/>.\n+ *\n+ * If needed, contact us to obtain a release under GPL Version 2 or 3\n+ * or a different license than the AGPL.\n+ */\n+package jsr223.perl;\n+\n+import java.io.File;\n+import java.io.IOException;\n+import java.io.Reader;\n+import java.io.Serializable;\n+import java.io.StringWriter;\n+import java.util.Map;\n+\n+import javax.script.AbstractScriptEngine;\n+import javax.script.Bindings;\n+import javax.script.ScriptContext;\n+import javax.script.ScriptEngineFactory;\n+import javax.script.ScriptException;\n+import javax.script.SimpleBindings;\n+\n+import jsr223.perl.bindings.PerlStringBindingsAdder;\n+import jsr223.perl.file.write.PerlConfigurationFileWriter;\n+import jsr223.perl.utils.PerlLog4jConfigurationLoader;\n+import jsr223.perl.variable.PerlVariablesReplacer;\n+import lombok.extern.log4j.Log4j;\n+import processbuilder.PerlSingletonPerlProcessBuilderFactory;\n+import processbuilder.utils.PerlProcessBuilderUtilities;\n+\n+\n+@Log4j\n+public class PerlScriptEngine extends AbstractScriptEngine {\n+\n+    public static final String EXIT_VALUE_BINDING_NAME = \"EXIT_VALUE\";\n+\n+    public static final String VARIABLES_BINDING_NAME = \"variables\";\n+\n+    private PerlProcessBuilderUtilities processBuilderUtilities = new PerlProcessBuilderUtilities();\n+\n+    private PerlVariablesReplacer perlVariablesReplacer = new PerlVariablesReplacer();\n+\n+    private PerlConfigurationFileWriter perlConfigurationFileWriter = new PerlConfigurationFileWriter();\n+\n+    private PerlStringBindingsAdder perlStringBindingsAdder = new PerlStringBindingsAdder();\n+\n+    private PerlCommandCreator perlCommandCreator = new PerlCommandCreator();\n+\n+    private PerlLog4jConfigurationLoader perlLog4JConfigurationLoader = new PerlLog4jConfigurationLoader();\n+\n+    public PerlScriptEngine() {\n+        // This is the entry-point of the script engine\n+        perlLog4JConfigurationLoader.loadLog4jConfiguration();\n+    }\n+\n+    @Override\n+    public Object eval(String script, ScriptContext context) throws ScriptException {\n+\n+        // Create perl command\n+        String[] perlCommand = perlCommandCreator.createPerlExecutionCommand();\n+\n+        // Create a process builder\n+        ProcessBuilder processBuilder = PerlSingletonPerlProcessBuilderFactory.getInstance()\n+                                                                              .getProcessBuilder(perlCommand);\n+\n+        // Use process builder environment and fill it with environment variables\n+        Map<String, String> variablesMap = processBuilder.environment();\n+\n+        // Add string bindings as environment variables\n+        perlStringBindingsAdder.addBindingToStringMap(context.getBindings(ScriptContext.ENGINE_SCOPE), variablesMap);\n+\n+        // Replace variables in configuration file\n+        String scriptReplacedVariables = perlVariablesReplacer.replaceVariables(script, variablesMap);\n+\n+        File perlFile = null;\n+\n+        try {\n+            perlFile = perlConfigurationFileWriter.forceFileToDisk(scriptReplacedVariables,\n+                                                                   perlCommandCreator.PERL_FILE_NAME);\n+\n+            // Start process\n+            Process process = processBuilder.start();\n+\n+            // Attach streams\n+            processBuilderUtilities.attachStreamsToProcess(process,\n+                                                           context.getWriter(),\n+                                                           context.getErrorWriter(),\n+                                                           context.getReader());\n+\n+            // Wait for process to exit\n+            int exitValue = process.waitFor();\n+            if (context.getBindings(ScriptContext.ENGINE_SCOPE).containsKey(VARIABLES_BINDING_NAME)) {\n+                Map<String, Serializable> variables = (Map<String, Serializable>) context.getBindings(ScriptContext.ENGINE_SCOPE)\n+                                                                                         .get(VARIABLES_BINDING_NAME);\n+                variables.put(EXIT_VALUE_BINDING_NAME, exitValue);\n+            }\n+            context.getBindings(ScriptContext.ENGINE_SCOPE).put(EXIT_VALUE_BINDING_NAME, exitValue);\n+            if (exitValue != 0) {\n+                throw new ScriptException(\"Perl process execution has failed with exit code \" + exitValue);\n+            }\n+            return exitValue;\n+        } catch (IOException e) {\n+            log.warn(\"Failed to execute Perl.\", e);\n+        } catch (InterruptedException e) {\n+            log.info(\"Container execution interrupted. \" + e.getMessage());","path":"src/main/java/jsr223/perl/PerlScriptEngine.java","position":124,"original_position":124,"commit_id":"64d20377c1bef4e4ef57fa791cf1f7d684ebe133","original_commit_id":"64d20377c1bef4e4ef57fa791cf1f7d684ebe133","user":{"login":"tobwiens","id":6491363,"avatar_url":"https://avatars0.githubusercontent.com/u/6491363?v=3","gravatar_id":"","url":"https://api.github.com/users/tobwiens","html_url":"https://github.com/tobwiens","followers_url":"https://api.github.com/users/tobwiens/followers","following_url":"https://api.github.com/users/tobwiens/following{/other_user}","gists_url":"https://api.github.com/users/tobwiens/gists{/gist_id}","starred_url":"https://api.github.com/users/tobwiens/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tobwiens/subscriptions","organizations_url":"https://api.github.com/users/tobwiens/orgs","repos_url":"https://api.github.com/users/tobwiens/repos","events_url":"https://api.github.com/users/tobwiens/events{/privacy}","received_events_url":"https://api.github.com/users/tobwiens/received_events","type":"User","site_admin":false},"body":"Add a process.destroy(). Do interrupted the running bash if this Thread was interrupted.","created_at":"2017-03-02T10:21:43Z","updated_at":"2017-03-02T10:42:57Z","html_url":"https://github.com/ow2-proactive/jsr223-perl/pull/1#discussion_r103891867","pull_request_url":"https://api.github.com/repos/ow2-proactive/jsr223-perl/pulls/1","_links":{"self":{"href":"https://api.github.com/repos/ow2-proactive/jsr223-perl/pulls/comments/103891867"},"html":{"href":"https://github.com/ow2-proactive/jsr223-perl/pull/1#discussion_r103891867"},"pull_request":{"href":"https://api.github.com/repos/ow2-proactive/jsr223-perl/pulls/1"}}},"pull_request":{"url":"https://api.github.com/repos/ow2-proactive/jsr223-perl/pulls/1","id":108724789,"html_url":"https://github.com/ow2-proactive/jsr223-perl/pull/1","diff_url":"https://github.com/ow2-proactive/jsr223-perl/pull/1.diff","patch_url":"https://github.com/ow2-proactive/jsr223-perl/pull/1.patch","issue_url":"https://api.github.com/repos/ow2-proactive/jsr223-perl/issues/1","number":1,"state":"open","locked":false,"title":"Adding perl task as script engine.","user":{"login":"ShatalovYaroslav","id":17726918,"avatar_url":"https://avatars0.githubusercontent.com/u/17726918?v=3","gravatar_id":"","url":"https://api.github.com/users/ShatalovYaroslav","html_url":"https://github.com/ShatalovYaroslav","followers_url":"https://api.github.com/users/ShatalovYaroslav/followers","following_url":"https://api.github.com/users/ShatalovYaroslav/following{/other_user}","gists_url":"https://api.github.com/users/ShatalovYaroslav/gists{/gist_id}","starred_url":"https://api.github.com/users/ShatalovYaroslav/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ShatalovYaroslav/subscriptions","organizations_url":"https://api.github.com/users/ShatalovYaroslav/orgs","repos_url":"https://api.github.com/users/ShatalovYaroslav/repos","events_url":"https://api.github.com/users/ShatalovYaroslav/events{/privacy}","received_events_url":"https://api.github.com/users/ShatalovYaroslav/received_events","type":"User","site_admin":false},"body":"Description is in the Read.me file.\r\nFor variables there is the same behavior as for bash task.","created_at":"2017-03-02T10:05:27Z","updated_at":"2017-03-02T10:42:58Z","closed_at":null,"merged_at":null,"merge_commit_sha":"1832afbe6613852c76c1ab9d095e102632656b84","assignee":null,"assignees":[],"milestone":null,"commits_url":"https://api.github.com/repos/ow2-proactive/jsr223-perl/pulls/1/commits","review_comments_url":"https://api.github.com/repos/ow2-proactive/jsr223-perl/pulls/1/comments","review_comment_url":"https://api.github.com/repos/ow2-proactive/jsr223-perl/pulls/comments{/number}","comments_url":"https://api.github.com/repos/ow2-proactive/jsr223-perl/issues/1/comments","statuses_url":"https://api.github.com/repos/ow2-proactive/jsr223-perl/statuses/64d20377c1bef4e4ef57fa791cf1f7d684ebe133","head":{"label":"ShatalovYaroslav:master","ref":"master","sha":"64d20377c1bef4e4ef57fa791cf1f7d684ebe133","user":{"login":"ShatalovYaroslav","id":17726918,"avatar_url":"https://avatars0.githubusercontent.com/u/17726918?v=3","gravatar_id":"","url":"https://api.github.com/users/ShatalovYaroslav","html_url":"https://github.com/ShatalovYaroslav","followers_url":"https://api.github.com/users/ShatalovYaroslav/followers","following_url":"https://api.github.com/users/ShatalovYaroslav/following{/other_user}","gists_url":"https://api.github.com/users/ShatalovYaroslav/gists{/gist_id}","starred_url":"https://api.github.com/users/ShatalovYaroslav/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ShatalovYaroslav/subscriptions","organizations_url":"https://api.github.com/users/ShatalovYaroslav/orgs","repos_url":"https://api.github.com/users/ShatalovYaroslav/repos","events_url":"https://api.github.com/users/ShatalovYaroslav/events{/privacy}","received_events_url":"https://api.github.com/users/ShatalovYaroslav/received_events","type":"User","site_admin":false},"repo":{"id":83045647,"name":"jsr223-perl","full_name":"ShatalovYaroslav/jsr223-perl","owner":{"login":"ShatalovYaroslav","id":17726918,"avatar_url":"https://avatars0.githubusercontent.com/u/17726918?v=3","gravatar_id":"","url":"https://api.github.com/users/ShatalovYaroslav","html_url":"https://github.com/ShatalovYaroslav","followers_url":"https://api.github.com/users/ShatalovYaroslav/followers","following_url":"https://api.github.com/users/ShatalovYaroslav/following{/other_user}","gists_url":"https://api.github.com/users/ShatalovYaroslav/gists{/gist_id}","starred_url":"https://api.github.com/users/ShatalovYaroslav/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ShatalovYaroslav/subscriptions","organizations_url":"https://api.github.com/users/ShatalovYaroslav/orgs","repos_url":"https://api.github.com/users/ShatalovYaroslav/repos","events_url":"https://api.github.com/users/ShatalovYaroslav/events{/privacy}","received_events_url":"https://api.github.com/users/ShatalovYaroslav/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/ShatalovYaroslav/jsr223-perl","description":null,"fork":true,"url":"https://api.github.com/repos/ShatalovYaroslav/jsr223-perl","forks_url":"https://api.github.com/repos/ShatalovYaroslav/jsr223-perl/forks","keys_url":"https://api.github.com/repos/ShatalovYaroslav/jsr223-perl/keys{/key_id}","collaborators_url":"https://api.github.com/repos/ShatalovYaroslav/jsr223-perl/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/ShatalovYaroslav/jsr223-perl/teams","hooks_url":"https://api.github.com/repos/ShatalovYaroslav/jsr223-perl/hooks","issue_events_url":"https://api.github.com/repos/ShatalovYaroslav/jsr223-perl/issues/events{/number}","events_url":"https://api.github.com/repos/ShatalovYaroslav/jsr223-perl/events","assignees_url":"https://api.github.com/repos/ShatalovYaroslav/jsr223-perl/assignees{/user}","branches_url":"https://api.github.com/repos/ShatalovYaroslav/jsr223-perl/branches{/branch}","tags_url":"https://api.github.com/repos/ShatalovYaroslav/jsr223-perl/tags","blobs_url":"https://api.github.com/repos/ShatalovYaroslav/jsr223-perl/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/ShatalovYaroslav/jsr223-perl/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/ShatalovYaroslav/jsr223-perl/git/refs{/sha}","trees_url":"https://api.github.com/repos/ShatalovYaroslav/jsr223-perl/git/trees{/sha}","statuses_url":"https://api.github.com/repos/ShatalovYaroslav/jsr223-perl/statuses/{sha}","languages_url":"https://api.github.com/repos/ShatalovYaroslav/jsr223-perl/languages","stargazers_url":"https://api.github.com/repos/ShatalovYaroslav/jsr223-perl/stargazers","contributors_url":"https://api.github.com/repos/ShatalovYaroslav/jsr223-perl/contributors","subscribers_url":"https://api.github.com/repos/ShatalovYaroslav/jsr223-perl/subscribers","subscription_url":"https://api.github.com/repos/ShatalovYaroslav/jsr223-perl/subscription","commits_url":"https://api.github.com/repos/ShatalovYaroslav/jsr223-perl/commits{/sha}","git_commits_url":"https://api.github.com/repos/ShatalovYaroslav/jsr223-perl/git/commits{/sha}","comments_url":"https://api.github.com/repos/ShatalovYaroslav/jsr223-perl/comments{/number}","issue_comment_url":"https://api.github.com/repos/ShatalovYaroslav/jsr223-perl/issues/comments{/number}","contents_url":"https://api.github.com/repos/ShatalovYaroslav/jsr223-perl/contents/{+path}","compare_url":"https://api.github.com/repos/ShatalovYaroslav/jsr223-perl/compare/{base}...{head}","merges_url":"https://api.github.com/repos/ShatalovYaroslav/jsr223-perl/merges","archive_url":"https://api.github.com/repos/ShatalovYaroslav/jsr223-perl/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/ShatalovYaroslav/jsr223-perl/downloads","issues_url":"https://api.github.com/repos/ShatalovYaroslav/jsr223-perl/issues{/number}","pulls_url":"https://api.github.com/repos/ShatalovYaroslav/jsr223-perl/pulls{/number}","milestones_url":"https://api.github.com/repos/ShatalovYaroslav/jsr223-perl/milestones{/number}","notifications_url":"https://api.github.com/repos/ShatalovYaroslav/jsr223-perl/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/ShatalovYaroslav/jsr223-perl/labels{/name}","releases_url":"https://api.github.com/repos/ShatalovYaroslav/jsr223-perl/releases{/id}","deployments_url":"https://api.github.com/repos/ShatalovYaroslav/jsr223-perl/deployments","created_at":"2017-02-24T13:47:19Z","updated_at":"2017-02-24T14:04:42Z","pushed_at":"2017-03-01T16:31:12Z","git_url":"git://github.com/ShatalovYaroslav/jsr223-perl.git","ssh_url":"git@github.com:ShatalovYaroslav/jsr223-perl.git","clone_url":"https://github.com/ShatalovYaroslav/jsr223-perl.git","svn_url":"https://github.com/ShatalovYaroslav/jsr223-perl","homepage":null,"size":109,"stargazers_count":0,"watchers_count":0,"language":"Java","has_issues":false,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"ow2-proactive:master","ref":"master","sha":"a2b1acd880f2bbfa8ce9de534afbc455131fc597","user":{"login":"ow2-proactive","id":11553998,"avatar_url":"https://avatars2.githubusercontent.com/u/11553998?v=3","gravatar_id":"","url":"https://api.github.com/users/ow2-proactive","html_url":"https://github.com/ow2-proactive","followers_url":"https://api.github.com/users/ow2-proactive/followers","following_url":"https://api.github.com/users/ow2-proactive/following{/other_user}","gists_url":"https://api.github.com/users/ow2-proactive/gists{/gist_id}","starred_url":"https://api.github.com/users/ow2-proactive/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ow2-proactive/subscriptions","organizations_url":"https://api.github.com/users/ow2-proactive/orgs","repos_url":"https://api.github.com/users/ow2-proactive/repos","events_url":"https://api.github.com/users/ow2-proactive/events{/privacy}","received_events_url":"https://api.github.com/users/ow2-proactive/received_events","type":"Organization","site_admin":false},"repo":{"id":83044440,"name":"jsr223-perl","full_name":"ow2-proactive/jsr223-perl","owner":{"login":"ow2-proactive","id":11553998,"avatar_url":"https://avatars2.githubusercontent.com/u/11553998?v=3","gravatar_id":"","url":"https://api.github.com/users/ow2-proactive","html_url":"https://github.com/ow2-proactive","followers_url":"https://api.github.com/users/ow2-proactive/followers","following_url":"https://api.github.com/users/ow2-proactive/following{/other_user}","gists_url":"https://api.github.com/users/ow2-proactive/gists{/gist_id}","starred_url":"https://api.github.com/users/ow2-proactive/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ow2-proactive/subscriptions","organizations_url":"https://api.github.com/users/ow2-proactive/orgs","repos_url":"https://api.github.com/users/ow2-proactive/repos","events_url":"https://api.github.com/users/ow2-proactive/events{/privacy}","received_events_url":"https://api.github.com/users/ow2-proactive/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/ow2-proactive/jsr223-perl","description":null,"fork":false,"url":"https://api.github.com/repos/ow2-proactive/jsr223-perl","forks_url":"https://api.github.com/repos/ow2-proactive/jsr223-perl/forks","keys_url":"https://api.github.com/repos/ow2-proactive/jsr223-perl/keys{/key_id}","collaborators_url":"https://api.github.com/repos/ow2-proactive/jsr223-perl/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/ow2-proactive/jsr223-perl/teams","hooks_url":"https://api.github.com/repos/ow2-proactive/jsr223-perl/hooks","issue_events_url":"https://api.github.com/repos/ow2-proactive/jsr223-perl/issues/events{/number}","events_url":"https://api.github.com/repos/ow2-proactive/jsr223-perl/events","assignees_url":"https://api.github.com/repos/ow2-proactive/jsr223-perl/assignees{/user}","branches_url":"https://api.github.com/repos/ow2-proactive/jsr223-perl/branches{/branch}","tags_url":"https://api.github.com/repos/ow2-proactive/jsr223-perl/tags","blobs_url":"https://api.github.com/repos/ow2-proactive/jsr223-perl/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/ow2-proactive/jsr223-perl/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/ow2-proactive/jsr223-perl/git/refs{/sha}","trees_url":"https://api.github.com/repos/ow2-proactive/jsr223-perl/git/trees{/sha}","statuses_url":"https://api.github.com/repos/ow2-proactive/jsr223-perl/statuses/{sha}","languages_url":"https://api.github.com/repos/ow2-proactive/jsr223-perl/languages","stargazers_url":"https://api.github.com/repos/ow2-proactive/jsr223-perl/stargazers","contributors_url":"https://api.github.com/repos/ow2-proactive/jsr223-perl/contributors","subscribers_url":"https://api.github.com/repos/ow2-proactive/jsr223-perl/subscribers","subscription_url":"https://api.github.com/repos/ow2-proactive/jsr223-perl/subscription","commits_url":"https://api.github.com/repos/ow2-proactive/jsr223-perl/commits{/sha}","git_commits_url":"https://api.github.com/repos/ow2-proactive/jsr223-perl/git/commits{/sha}","comments_url":"https://api.github.com/repos/ow2-proactive/jsr223-perl/comments{/number}","issue_comment_url":"https://api.github.com/repos/ow2-proactive/jsr223-perl/issues/comments{/number}","contents_url":"https://api.github.com/repos/ow2-proactive/jsr223-perl/contents/{+path}","compare_url":"https://api.github.com/repos/ow2-proactive/jsr223-perl/compare/{base}...{head}","merges_url":"https://api.github.com/repos/ow2-proactive/jsr223-perl/merges","archive_url":"https://api.github.com/repos/ow2-proactive/jsr223-perl/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/ow2-proactive/jsr223-perl/downloads","issues_url":"https://api.github.com/repos/ow2-proactive/jsr223-perl/issues{/number}","pulls_url":"https://api.github.com/repos/ow2-proactive/jsr223-perl/pulls{/number}","milestones_url":"https://api.github.com/repos/ow2-proactive/jsr223-perl/milestones{/number}","notifications_url":"https://api.github.com/repos/ow2-proactive/jsr223-perl/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/ow2-proactive/jsr223-perl/labels{/name}","releases_url":"https://api.github.com/repos/ow2-proactive/jsr223-perl/releases{/id}","deployments_url":"https://api.github.com/repos/ow2-proactive/jsr223-perl/deployments","created_at":"2017-02-24T13:33:15Z","updated_at":"2017-02-24T13:33:15Z","pushed_at":"2017-03-02T10:05:28Z","git_url":"git://github.com/ow2-proactive/jsr223-perl.git","ssh_url":"git@github.com:ow2-proactive/jsr223-perl.git","clone_url":"https://github.com/ow2-proactive/jsr223-perl.git","svn_url":"https://github.com/ow2-proactive/jsr223-perl","homepage":null,"size":0,"stargazers_count":0,"watchers_count":0,"language":null,"has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":1,"mirror_url":null,"open_issues_count":1,"forks":1,"open_issues":1,"watchers":0,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/ow2-proactive/jsr223-perl/pulls/1"},"html":{"href":"https://github.com/ow2-proactive/jsr223-perl/pull/1"},"issue":{"href":"https://api.github.com/repos/ow2-proactive/jsr223-perl/issues/1"},"comments":{"href":"https://api.github.com/repos/ow2-proactive/jsr223-perl/issues/1/comments"},"review_comments":{"href":"https://api.github.com/repos/ow2-proactive/jsr223-perl/pulls/1/comments"},"review_comment":{"href":"https://api.github.com/repos/ow2-proactive/jsr223-perl/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/ow2-proactive/jsr223-perl/pulls/1/commits"},"statuses":{"href":"https://api.github.com/repos/ow2-proactive/jsr223-perl/statuses/64d20377c1bef4e4ef57fa791cf1f7d684ebe133"}}}}
{"actor":{"display_login":"tobwiens"}}