{"action":"created","comment":{"url":"https://api.github.com/repos/jenkinsci/acceptance-test-harness/pulls/comments/57191196","id":57191196,"diff_hunk":"@@ -42,20 +43,45 @@ public DumbSlave(Jenkins j, String name) {\n      * call this in the context of the config UI.\n      */\n     public void asLocal() {\n-        assertCurl();\n-        File jar = new File(\"/tmp/slave\"+createRandomName()+\".jar\");\n-        String command = String.format(\n-                \"sh -c 'curl -s -o %1$s %2$sjnlpJars/slave.jar && java -jar %1$s'\",\n-                jar, url(\"../../\")\n-        );\n+        assertCurlOrPowershellv3Plus();\n+        File tmpDir = new File(System.getProperty(\"java.io.tmpdir\"));\n+        File jar = new File(tmpDir, \"slave\"+createRandomName()+\".jar\");\n+        String command;\n+        if (SystemUtils.IS_OS_UNIX) {\n+            command = String.format(\n+                    \"sh -c 'curl -s -o %1$s %2$sjnlpJars/slave.jar && java -jar %1$s'\",\n+                    jar, url(\"../../\")\n+            );\n+        }\n+        else {\n+            // windows\n+            command = String.format(\"powershell -command \\\"& { \" +\n+                                                               \"try { \" +\n+                                                                  \"Invoke-WebRequest %2$sjnlpJars/slave.jar -OutFile %1$s \" +","path":"src/main/java/org/jenkinsci/test/acceptance/po/DumbSlave.java","position":32,"original_position":32,"commit_id":"1dcb4f58d367aed719420c27de287783f65f8ca5","original_commit_id":"1dcb4f58d367aed719420c27de287783f65f8ca5","user":{"login":"jtnord","id":494726,"avatar_url":"https://avatars.githubusercontent.com/u/494726?v=3","gravatar_id":"","url":"https://api.github.com/users/jtnord","html_url":"https://github.com/jtnord","followers_url":"https://api.github.com/users/jtnord/followers","following_url":"https://api.github.com/users/jtnord/following{/other_user}","gists_url":"https://api.github.com/users/jtnord/gists{/gist_id}","starred_url":"https://api.github.com/users/jtnord/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jtnord/subscriptions","organizations_url":"https://api.github.com/users/jtnord/orgs","repos_url":"https://api.github.com/users/jtnord/repos","events_url":"https://api.github.com/users/jtnord/events{/privacy}","received_events_url":"https://api.github.com/users/jtnord/received_events","type":"User","site_admin":false},"body":"finally a use for powershell :-)","created_at":"2016-03-23T16:29:23Z","updated_at":"2016-03-23T16:29:23Z","html_url":"https://github.com/jenkinsci/acceptance-test-harness/pull/84#discussion_r57191196","pull_request_url":"https://api.github.com/repos/jenkinsci/acceptance-test-harness/pulls/84","_links":{"self":{"href":"https://api.github.com/repos/jenkinsci/acceptance-test-harness/pulls/comments/57191196"},"html":{"href":"https://github.com/jenkinsci/acceptance-test-harness/pull/84#discussion_r57191196"},"pull_request":{"href":"https://api.github.com/repos/jenkinsci/acceptance-test-harness/pulls/84"}}},"pull_request":{"url":"https://api.github.com/repos/jenkinsci/acceptance-test-harness/pulls/84","id":62815221,"html_url":"https://github.com/jenkinsci/acceptance-test-harness/pull/84","diff_url":"https://github.com/jenkinsci/acceptance-test-harness/pull/84.diff","patch_url":"https://github.com/jenkinsci/acceptance-test-harness/pull/84.patch","issue_url":"https://api.github.com/repos/jenkinsci/acceptance-test-harness/issues/84","number":84,"state":"open","locked":false,"title":"[FIXED JENKINS-33520] make ATH work on windows and other issues.","user":{"login":"jtnord","id":494726,"avatar_url":"https://avatars.githubusercontent.com/u/494726?v=3","gravatar_id":"","url":"https://api.github.com/users/jtnord","html_url":"https://github.com/jtnord","followers_url":"https://api.github.com/users/jtnord/followers","following_url":"https://api.github.com/users/jtnord/following{/other_user}","gists_url":"https://api.github.com/users/jtnord/gists{/gist_id}","starred_url":"https://api.github.com/users/jtnord/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jtnord/subscriptions","organizations_url":"https://api.github.com/users/jtnord/orgs","repos_url":"https://api.github.com/users/jtnord/repos","events_url":"https://api.github.com/users/jtnord/events{/privacy}","received_events_url":"https://api.github.com/users/jtnord/received_events","type":"User","site_admin":false},"body":"ATH was just so badly broken on windows :cry: \r\n\r\n[JENKINS-33520](https://issues.jenkins-ci.org/browse/JENKINS-33520)\r\n\r\nI beleive I have fixed most of the issues.\r\nThere is an open issue of how to detect the OS if running Jenkins remotely (however the current situation assumes it is run on the same OS type with the same tools (@native looks on the system running the ATH not the Jenkins system) - so this is a longer issue - and would significantly add to the test run time for the case where the OS does not match) - so is considered out of scope.\r\n\r\nMany tests are skipped as Jenkins will not restart itself when started locally on Windows.  LocalController could possibly be enhanced to do a \"manual\" restart by stopping Jenkins and then starting it again.\r\n\r\nCurrent state: \r\n\r\n- [x] Maven seem like genuine test failures (Maven has not been correctly added to the path as it is trying to execute mvn.bat and failing) - ([JENKINS-33693](https://issues.jenkins-ci.org/browse/JENKINS-33693))\r\n- [x] some tests are still trying to execute bash scripts on windows :-/\r\n- [ ] ~~I seem to have broken docker portmap (Failed to figure out port map 80)~~ `-DreuseForks=false` fixes this.  Something to investigate later.\r\n- [ ] Firefox driver is unreliable (upgraded driver but still has issues)\r\n- [x] Incorrect assumptions Docker\r\n- [x] Incorrect assumptions in Job page object\r\n- [x] @Native should not require cygwin\r\n- [x] CIFSPublishPluginTest\r\n- [x] PublishOverSSHPluginTest\r\n- [x] CompressArtifactsPluginTest\r\n- [x] DeployPluginTest\r\n- [x] JacocoPluginTest - (fixed by [JENKINS-33693](https://issues.jenkins-ci.org/browse/JENKINS-33693))\r\n- [x] JavadocPluginTest (fixed by [JENKINS-33693](https://issues.jenkins-ci.org/browse/JENKINS-33693))\r\n- [x] LdapPluginTest\r\n- [x] MavenPluginTest\r\n- [x] CopyArtifactPluginTest (fixed by [JENKINS-33693](https://issues.jenkins-ci.org/browse/JENKINS-33693))\r\n- [ ] ~~NodeLabelParameterPluginTest~~  not an issue in windows - tests are genuinley failing on Linux too ([JENKINS-33746](https://issues.jenkins-ci.org/browse/JENKINS-33746)).\r\n- [x] Subversion_Version154_PluginTest\r\n- [x] TaskScannerPluginTest (fixed by [JENKINS-33693](https://issues.jenkins-ci.org/browse/JENKINS-33693))\r\n- [x] JiraContainer was hard coded to localhost\r\n- [x] [JENKINS-33693](https://issues.jenkins-ci.org/browse/JENKINS-33693) \r\n- [ ] Random test failures with Guice cleanup errors :cry:\r\njenkinsci/jenkins/pull/2148\r\n```\r\njava.lang.AssertionError: org.jenkinsci.test.acceptance.FallbackConfig$1@4393593c failed\r\n        at org.jenkinsci.test.acceptance.guice.Cleaner.performCleanUp(Cleaner.java:56)\r\n        at org.jenkinsci.test.acceptance.guice.TestCleaner.performCleanUp(TestCleaner.java:19)\r\n        at org.jenkinsci.test.acceptance.guice.World.endTestScope(World.java:66)\r\n        at org.jenkinsci.test.acceptance.junit.JenkinsAcceptanceTestRule$1.evaluate(JenkinsAcceptanceTestRule.java:72)\r\n        at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271)\r\n        at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70)\r\n        at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)\r\n        at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238)\r\n        at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63)\r\n        at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236)\r\n        at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53)\r\n        at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229)\r\n        at org.junit.runners.ParentRunner.run(ParentRunner.java:309)\r\n        at org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:264)\r\n        at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:153)\r\n        at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:124)\r\n        at org.apache.maven.surefire.booter.ForkedBooter.invokeProviderInSameClassLoader(ForkedBooter.java:200)\r\n        at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:153)\r\n        at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:103)\r\nCaused by: org.openqa.selenium.remote.UnreachableBrowserException: Error communicating with the remote browser. It may have died.\r\nBuild info: version: '2.52.0', revision: '4c2593cfc3689a7fcd7be52549167e5ccc93ad28', time: '2016-02-11 11:22:43'\r\nSystem info: host: 'cb-james', ip: '192.168.137.1', os.name: 'Windows 10', os.arch: 'amd64', os.version: '10.0', java.version: '1.8.0_71'\r\nDriver info: driver.version: EventFiringWebDriver\r\nCapabilities [{applicationCacheEnabled=true, rotatable=false, handlesAlerts=true, databaseEnabled=true, version=45.0, platform=WINDOWS, nativeEvents=false, acceptSslCerts=true, webStorageEnabled=true, locationContextEnabled=true, browserName=firefox, takesScreenshot=true, javascriptEnabled=true, cssSelectorsEnabled=true}]\r\nSession ID: 7d1711cd-d4c4-4130-bd75-94ac2b050851\r\n        at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:665)\r\n        at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:701)\r\n        at org.openqa.selenium.remote.RemoteWebDriver.quit(RemoteWebDriver.java:526)\r\n        at sun.reflect.GeneratedMethodAccessor23.invoke(Unknown Source)\r\n        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\r\n        at java.lang.reflect.Method.invoke(Method.java:497)\r\n        at org.openqa.selenium.support.events.EventFiringWebDriver$2.invoke(EventFiringWebDriver.java:103)\r\n        at com.sun.proxy.$Proxy30.quit(Unknown Source)\r\n        at org.openqa.selenium.support.events.EventFiringWebDriver.quit(EventFiringWebDriver.java:202)\r\n        at org.jenkinsci.test.acceptance.FallbackConfig$1.evaluate(FallbackConfig.java:168)\r\n        at org.jenkinsci.test.acceptance.guice.Cleaner.performCleanUp(Cleaner.java:54)\r\n        at org.jenkinsci.test.acceptance.guice.TestCleaner.performCleanUp(TestCleaner.java:19)\r\n        at org.jenkinsci.test.acceptance.guice.World.endTestScope(World.java:66)\r\n        at org.jenkinsci.test.acceptance.junit.JenkinsAcceptanceTestRule$1.evaluate(JenkinsAcceptanceTestRule.java:72)\r\n        at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271)\r\n        at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70)\r\n        at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)\r\n        at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238)\r\n        at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63)\r\n        at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236)\r\n        at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53)\r\n        at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229)\r\n        at org.junit.runners.ParentRunner.run(ParentRunner.java:309)\r\n        at org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:264)\r\n        at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:153)\r\n        at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:124)\r\n        at org.apache.maven.surefire.booter.ForkedBooter.invokeProviderInSameClassLoader(ForkedBooter.java:200)\r\n        at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:153)\r\n        at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:103)\r\nCaused by: java.net.SocketException: Permission denied: connect\r\n        at java.net.DualStackPlainSocketImpl.connect0(Native Method)\r\n        at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:83)\r\n        at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350)\r\n        at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206)\r\n        at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188)\r\n        at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:172)\r\n        at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)\r\n        at java.net.Socket.connect(Socket.java:589)\r\n        at org.apache.http.conn.socket.PlainConnectionSocketFactory.connectSocket(PlainConnectionSocketFactory.java:74)\r\n        at org.apache.http.impl.conn.DefaultHttpClientConnectionOperator.connect(DefaultHttpClientConnectionOperator.java:134)\r\n        at org.apache.http.impl.conn.PoolingHttpClientConnectionManager.connect(PoolingHttpClientConnectionManager.java:353)\r\n        at org.apache.http.impl.execchain.MainClientExec.establishRoute(MainClientExec.java:380)\r\n        at org.apache.http.impl.execchain.MainClientExec.execute(MainClientExec.java:236)\r\n        at org.apache.http.impl.execchain.ProtocolExec.execute(ProtocolExec.java:184)\r\n        at org.apache.http.impl.execchain.RetryExec.execute(RetryExec.java:88)\r\n        at org.apache.http.impl.execchain.RedirectExec.execute(RedirectExec.java:110)\r\n        at org.apache.http.impl.client.InternalHttpClient.doExecute(InternalHttpClient.java:184)\r\n        at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:71)\r\n        at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:55)\r\n        at org.openqa.selenium.remote.internal.ApacheHttpClient.fallBackExecute(ApacheHttpClient.java:144)\r\n        at org.openqa.selenium.remote.internal.ApacheHttpClient.execute(ApacheHttpClient.java:90)\r\n        at org.openqa.selenium.remote.HttpCommandExecutor.execute(HttpCommandExecutor.java:142)\r\n        at org.openqa.selenium.firefox.internal.NewProfileExtensionConnection.execute(NewProfileExtensionConnection.java:160)\r\n        at org.openqa.selenium.firefox.FirefoxDriver$LazyCommandExecutor.execute(FirefoxDriver.java:380)\r\n        at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:644)\r\n        at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:701)\r\n        at org.openqa.selenium.remote.RemoteWebDriver.quit(RemoteWebDriver.java:526)\r\n        at sun.reflect.GeneratedMethodAccessor23.invoke(Unknown Source)\r\n        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\r\n        at java.lang.reflect.Method.invoke(Method.java:497)\r\n        at org.openqa.selenium.support.events.EventFiringWebDriver$2.invoke(EventFiringWebDriver.java:103)\r\n        at com.sun.proxy.$Proxy30.quit(Unknown Source)\r\n        at org.openqa.selenium.support.events.EventFiringWebDriver.quit(EventFiringWebDriver.java:202)\r\n        at org.jenkinsci.test.acceptance.FallbackConfig$1.evaluate(FallbackConfig.java:168)\r\n        at org.jenkinsci.test.acceptance.guice.Cleaner.performCleanUp(Cleaner.java:54)\r\n        at org.jenkinsci.test.acceptance.guice.TestCleaner.performCleanUp(TestCleaner.java:19)\r\n        at org.jenkinsci.test.acceptance.guice.World.endTestScope(World.java:66)\r\n        at org.jenkinsci.test.acceptance.junit.JenkinsAcceptanceTestRule$1.evaluate(JenkinsAcceptanceTestRule.java:72)\r\n        at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271)\r\n        at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70)\r\n        at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)\r\n        at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238)\r\n        at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63)\r\n        at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236)\r\n        at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53)\r\n        at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229)\r\n        at org.junit.runners.ParentRunner.run(ParentRunner.java:309)\r\n        at org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:264)\r\n        at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:153)\r\n        at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:124)\r\n        at org.apache.maven.surefire.booter.ForkedBooter.invokeProviderInSameClassLoader(ForkedBooter.java:200)\r\n        at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:153)\r\n        at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:103)\r\n```","created_at":"2016-03-14T20:51:14Z","updated_at":"2016-03-23T16:29:23Z","closed_at":null,"merged_at":null,"merge_commit_sha":"816d1f6612b5f2e21e61bf1be1df3e70db5ea576","assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/jenkinsci/acceptance-test-harness/pulls/84/commits","review_comments_url":"https://api.github.com/repos/jenkinsci/acceptance-test-harness/pulls/84/comments","review_comment_url":"https://api.github.com/repos/jenkinsci/acceptance-test-harness/pulls/comments{/number}","comments_url":"https://api.github.com/repos/jenkinsci/acceptance-test-harness/issues/84/comments","statuses_url":"https://api.github.com/repos/jenkinsci/acceptance-test-harness/statuses/1dcb4f58d367aed719420c27de287783f65f8ca5","head":{"label":"jtnord:jenkins-33520","ref":"jenkins-33520","sha":"1dcb4f58d367aed719420c27de287783f65f8ca5","user":{"login":"jtnord","id":494726,"avatar_url":"https://avatars.githubusercontent.com/u/494726?v=3","gravatar_id":"","url":"https://api.github.com/users/jtnord","html_url":"https://github.com/jtnord","followers_url":"https://api.github.com/users/jtnord/followers","following_url":"https://api.github.com/users/jtnord/following{/other_user}","gists_url":"https://api.github.com/users/jtnord/gists{/gist_id}","starred_url":"https://api.github.com/users/jtnord/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jtnord/subscriptions","organizations_url":"https://api.github.com/users/jtnord/orgs","repos_url":"https://api.github.com/users/jtnord/repos","events_url":"https://api.github.com/users/jtnord/events{/privacy}","received_events_url":"https://api.github.com/users/jtnord/received_events","type":"User","site_admin":false},"repo":{"id":53849874,"name":"acceptance-test-harness","full_name":"jtnord/acceptance-test-harness","owner":{"login":"jtnord","id":494726,"avatar_url":"https://avatars.githubusercontent.com/u/494726?v=3","gravatar_id":"","url":"https://api.github.com/users/jtnord","html_url":"https://github.com/jtnord","followers_url":"https://api.github.com/users/jtnord/followers","following_url":"https://api.github.com/users/jtnord/following{/other_user}","gists_url":"https://api.github.com/users/jtnord/gists{/gist_id}","starred_url":"https://api.github.com/users/jtnord/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jtnord/subscriptions","organizations_url":"https://api.github.com/users/jtnord/orgs","repos_url":"https://api.github.com/users/jtnord/repos","events_url":"https://api.github.com/users/jtnord/events{/privacy}","received_events_url":"https://api.github.com/users/jtnord/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/jtnord/acceptance-test-harness","description":"Attempted port from selenium-tests to Java","fork":true,"url":"https://api.github.com/repos/jtnord/acceptance-test-harness","forks_url":"https://api.github.com/repos/jtnord/acceptance-test-harness/forks","keys_url":"https://api.github.com/repos/jtnord/acceptance-test-harness/keys{/key_id}","collaborators_url":"https://api.github.com/repos/jtnord/acceptance-test-harness/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/jtnord/acceptance-test-harness/teams","hooks_url":"https://api.github.com/repos/jtnord/acceptance-test-harness/hooks","issue_events_url":"https://api.github.com/repos/jtnord/acceptance-test-harness/issues/events{/number}","events_url":"https://api.github.com/repos/jtnord/acceptance-test-harness/events","assignees_url":"https://api.github.com/repos/jtnord/acceptance-test-harness/assignees{/user}","branches_url":"https://api.github.com/repos/jtnord/acceptance-test-harness/branches{/branch}","tags_url":"https://api.github.com/repos/jtnord/acceptance-test-harness/tags","blobs_url":"https://api.github.com/repos/jtnord/acceptance-test-harness/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/jtnord/acceptance-test-harness/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/jtnord/acceptance-test-harness/git/refs{/sha}","trees_url":"https://api.github.com/repos/jtnord/acceptance-test-harness/git/trees{/sha}","statuses_url":"https://api.github.com/repos/jtnord/acceptance-test-harness/statuses/{sha}","languages_url":"https://api.github.com/repos/jtnord/acceptance-test-harness/languages","stargazers_url":"https://api.github.com/repos/jtnord/acceptance-test-harness/stargazers","contributors_url":"https://api.github.com/repos/jtnord/acceptance-test-harness/contributors","subscribers_url":"https://api.github.com/repos/jtnord/acceptance-test-harness/subscribers","subscription_url":"https://api.github.com/repos/jtnord/acceptance-test-harness/subscription","commits_url":"https://api.github.com/repos/jtnord/acceptance-test-harness/commits{/sha}","git_commits_url":"https://api.github.com/repos/jtnord/acceptance-test-harness/git/commits{/sha}","comments_url":"https://api.github.com/repos/jtnord/acceptance-test-harness/comments{/number}","issue_comment_url":"https://api.github.com/repos/jtnord/acceptance-test-harness/issues/comments{/number}","contents_url":"https://api.github.com/repos/jtnord/acceptance-test-harness/contents/{+path}","compare_url":"https://api.github.com/repos/jtnord/acceptance-test-harness/compare/{base}...{head}","merges_url":"https://api.github.com/repos/jtnord/acceptance-test-harness/merges","archive_url":"https://api.github.com/repos/jtnord/acceptance-test-harness/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/jtnord/acceptance-test-harness/downloads","issues_url":"https://api.github.com/repos/jtnord/acceptance-test-harness/issues{/number}","pulls_url":"https://api.github.com/repos/jtnord/acceptance-test-harness/pulls{/number}","milestones_url":"https://api.github.com/repos/jtnord/acceptance-test-harness/milestones{/number}","notifications_url":"https://api.github.com/repos/jtnord/acceptance-test-harness/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/jtnord/acceptance-test-harness/labels{/name}","releases_url":"https://api.github.com/repos/jtnord/acceptance-test-harness/releases{/id}","deployments_url":"https://api.github.com/repos/jtnord/acceptance-test-harness/deployments","created_at":"2016-03-14T11:12:06Z","updated_at":"2016-03-14T11:12:10Z","pushed_at":"2016-03-23T16:05:48Z","git_url":"git://github.com/jtnord/acceptance-test-harness.git","ssh_url":"git@github.com:jtnord/acceptance-test-harness.git","clone_url":"https://github.com/jtnord/acceptance-test-harness.git","svn_url":"https://github.com/jtnord/acceptance-test-harness","homepage":null,"size":8039,"stargazers_count":0,"watchers_count":0,"language":"Java","has_issues":false,"has_downloads":true,"has_wiki":false,"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":"jenkinsci:master","ref":"master","sha":"94d3853e75a1c6339bc38d67c149bfa4de840a9a","user":{"login":"jenkinsci","id":107424,"avatar_url":"https://avatars.githubusercontent.com/u/107424?v=3","gravatar_id":"","url":"https://api.github.com/users/jenkinsci","html_url":"https://github.com/jenkinsci","followers_url":"https://api.github.com/users/jenkinsci/followers","following_url":"https://api.github.com/users/jenkinsci/following{/other_user}","gists_url":"https://api.github.com/users/jenkinsci/gists{/gist_id}","starred_url":"https://api.github.com/users/jenkinsci/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jenkinsci/subscriptions","organizations_url":"https://api.github.com/users/jenkinsci/orgs","repos_url":"https://api.github.com/users/jenkinsci/repos","events_url":"https://api.github.com/users/jenkinsci/events{/privacy}","received_events_url":"https://api.github.com/users/jenkinsci/received_events","type":"Organization","site_admin":false},"repo":{"id":17294237,"name":"acceptance-test-harness","full_name":"jenkinsci/acceptance-test-harness","owner":{"login":"jenkinsci","id":107424,"avatar_url":"https://avatars.githubusercontent.com/u/107424?v=3","gravatar_id":"","url":"https://api.github.com/users/jenkinsci","html_url":"https://github.com/jenkinsci","followers_url":"https://api.github.com/users/jenkinsci/followers","following_url":"https://api.github.com/users/jenkinsci/following{/other_user}","gists_url":"https://api.github.com/users/jenkinsci/gists{/gist_id}","starred_url":"https://api.github.com/users/jenkinsci/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jenkinsci/subscriptions","organizations_url":"https://api.github.com/users/jenkinsci/orgs","repos_url":"https://api.github.com/users/jenkinsci/repos","events_url":"https://api.github.com/users/jenkinsci/events{/privacy}","received_events_url":"https://api.github.com/users/jenkinsci/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/jenkinsci/acceptance-test-harness","description":"Attempted port from selenium-tests to Java","fork":false,"url":"https://api.github.com/repos/jenkinsci/acceptance-test-harness","forks_url":"https://api.github.com/repos/jenkinsci/acceptance-test-harness/forks","keys_url":"https://api.github.com/repos/jenkinsci/acceptance-test-harness/keys{/key_id}","collaborators_url":"https://api.github.com/repos/jenkinsci/acceptance-test-harness/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/jenkinsci/acceptance-test-harness/teams","hooks_url":"https://api.github.com/repos/jenkinsci/acceptance-test-harness/hooks","issue_events_url":"https://api.github.com/repos/jenkinsci/acceptance-test-harness/issues/events{/number}","events_url":"https://api.github.com/repos/jenkinsci/acceptance-test-harness/events","assignees_url":"https://api.github.com/repos/jenkinsci/acceptance-test-harness/assignees{/user}","branches_url":"https://api.github.com/repos/jenkinsci/acceptance-test-harness/branches{/branch}","tags_url":"https://api.github.com/repos/jenkinsci/acceptance-test-harness/tags","blobs_url":"https://api.github.com/repos/jenkinsci/acceptance-test-harness/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/jenkinsci/acceptance-test-harness/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/jenkinsci/acceptance-test-harness/git/refs{/sha}","trees_url":"https://api.github.com/repos/jenkinsci/acceptance-test-harness/git/trees{/sha}","statuses_url":"https://api.github.com/repos/jenkinsci/acceptance-test-harness/statuses/{sha}","languages_url":"https://api.github.com/repos/jenkinsci/acceptance-test-harness/languages","stargazers_url":"https://api.github.com/repos/jenkinsci/acceptance-test-harness/stargazers","contributors_url":"https://api.github.com/repos/jenkinsci/acceptance-test-harness/contributors","subscribers_url":"https://api.github.com/repos/jenkinsci/acceptance-test-harness/subscribers","subscription_url":"https://api.github.com/repos/jenkinsci/acceptance-test-harness/subscription","commits_url":"https://api.github.com/repos/jenkinsci/acceptance-test-harness/commits{/sha}","git_commits_url":"https://api.github.com/repos/jenkinsci/acceptance-test-harness/git/commits{/sha}","comments_url":"https://api.github.com/repos/jenkinsci/acceptance-test-harness/comments{/number}","issue_comment_url":"https://api.github.com/repos/jenkinsci/acceptance-test-harness/issues/comments{/number}","contents_url":"https://api.github.com/repos/jenkinsci/acceptance-test-harness/contents/{+path}","compare_url":"https://api.github.com/repos/jenkinsci/acceptance-test-harness/compare/{base}...{head}","merges_url":"https://api.github.com/repos/jenkinsci/acceptance-test-harness/merges","archive_url":"https://api.github.com/repos/jenkinsci/acceptance-test-harness/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/jenkinsci/acceptance-test-harness/downloads","issues_url":"https://api.github.com/repos/jenkinsci/acceptance-test-harness/issues{/number}","pulls_url":"https://api.github.com/repos/jenkinsci/acceptance-test-harness/pulls{/number}","milestones_url":"https://api.github.com/repos/jenkinsci/acceptance-test-harness/milestones{/number}","notifications_url":"https://api.github.com/repos/jenkinsci/acceptance-test-harness/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/jenkinsci/acceptance-test-harness/labels{/name}","releases_url":"https://api.github.com/repos/jenkinsci/acceptance-test-harness/releases{/id}","deployments_url":"https://api.github.com/repos/jenkinsci/acceptance-test-harness/deployments","created_at":"2014-02-28T17:39:55Z","updated_at":"2016-02-16T11:56:49Z","pushed_at":"2016-03-23T16:05:49Z","git_url":"git://github.com/jenkinsci/acceptance-test-harness.git","ssh_url":"git@github.com:jenkinsci/acceptance-test-harness.git","clone_url":"https://github.com/jenkinsci/acceptance-test-harness.git","svn_url":"https://github.com/jenkinsci/acceptance-test-harness","homepage":null,"size":8133,"stargazers_count":36,"watchers_count":36,"language":"Java","has_issues":false,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":55,"mirror_url":null,"open_issues_count":7,"forks":55,"open_issues":7,"watchers":36,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/jenkinsci/acceptance-test-harness/pulls/84"},"html":{"href":"https://github.com/jenkinsci/acceptance-test-harness/pull/84"},"issue":{"href":"https://api.github.com/repos/jenkinsci/acceptance-test-harness/issues/84"},"comments":{"href":"https://api.github.com/repos/jenkinsci/acceptance-test-harness/issues/84/comments"},"review_comments":{"href":"https://api.github.com/repos/jenkinsci/acceptance-test-harness/pulls/84/comments"},"review_comment":{"href":"https://api.github.com/repos/jenkinsci/acceptance-test-harness/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/jenkinsci/acceptance-test-harness/pulls/84/commits"},"statuses":{"href":"https://api.github.com/repos/jenkinsci/acceptance-test-harness/statuses/1dcb4f58d367aed719420c27de287783f65f8ca5"}}}}