{"action":"created","comment":{"url":"https://api.github.com/repos/CMU-Robotics-Club/RoboBuggy/pulls/comments/76015237","id":76015237,"diff_hunk":"@@ -0,0 +1,165 @@\n+package com.roboclub.robobuggy.nodes.sensors;\n+\n+import com.roboclub.robobuggy.messages.BatteryLevelMessage;\n+import com.roboclub.robobuggy.messages.BrakeMessage;\n+import com.roboclub.robobuggy.messages.GuiLoggingButtonMessage;\n+import com.roboclub.robobuggy.messages.SteeringMeasurement;\n+import com.roboclub.robobuggy.ros.NodeChannel;\n+import com.roboclub.robobuggy.ros.Publisher;\n+import org.junit.Assert;\n+import org.junit.BeforeClass;\n+import org.junit.Test;\n+\n+import java.io.File;\n+import java.io.IOException;\n+import java.util.Scanner;\n+import java.util.regex.Matcher;\n+import java.util.regex.Pattern;\n+\n+/**\n+ * Created by vivaanbahl on 7/27/16.\n+ */\n+public class LoggingNodeTest {\n+\n+    private static LoggingNode logger;\n+    private static Publisher triggerPub;\n+\n+    @BeforeClass\n+    public static void oneTimeSetup() {\n+        logger = new LoggingNode(\"./\", NodeChannel.getLoggingChannels());\n+        triggerPub = new Publisher(NodeChannel.GUI_LOGGING_BUTTON.getMsgPath());\n+    }\n+\n+    private void startLogging() throws InterruptedException {\n+        triggerPub.publish(new GuiLoggingButtonMessage(GuiLoggingButtonMessage.LoggingMessage.START));\n+        // allow for setup time\n+        Thread.sleep(1000);\n+    }\n+\n+    private void stopLogging() throws InterruptedException {\n+        // allow for settle time\n+        Thread.sleep(1000);\n+        triggerPub.publish(new GuiLoggingButtonMessage(GuiLoggingButtonMessage.LoggingMessage.STOP));\n+        // allow for settle time\n+        Thread.sleep(1000);\n+    }\n+\n+    private String getLogString() throws IOException {\n+        File outputFile = logger.outputFile;\n+        Scanner reader = new Scanner(outputFile, \"UTF-8\");\n+        String file = \"\";\n+        String line;\n+        while (reader.hasNextLine()) {\n+            line = reader.nextLine();\n+            file = file.concat(line);\n+            file = file.concat(\"\\n\");\n+        }\n+        reader.close();\n+\n+        return file;\n+    }\n+\n+    private void compareFileToMessageList(String messageList) throws IOException {\n+        String fileRegex =\n+                \"\\\\{\\\"name\\\":\\\"Robobuggy Data Logs\\\",\\\"schema_version\\\":\\\\d+.\\\\d+,\\\"date_recorded\\\":\\\"\\\\d+-\\\\d+-\\\\d+ \"+\n+                        \"\\\\d+:\\\\d+:\\\\d+.\\\\d+\\\",\\\"software_version\\\":\\\".+\\\"\\\\}\\n\" +\n+                \"\\\\{\\\"VERSION_ID\\\":\\\"logic_notification\\\",\\\"message\\\":\\\"Starting up logging thread!\\\",\\\"level\\\":\" +\n+                        \"\\\"NOTE\\\",\\\"DATE_FORMAT\\\":\\\"yyyy-MM-dd HH:mm:ss.SSS\\\",\\\"timestamp\\\":\\\\d+,\\\"topicName\\\"\" +\n+                        \":\\\"sensors\\\\/logic_notification\\\",\\\"sequenceNumber\\\":\\\\d+\\\\}\\n\" +\n+                messageList +\n+                \"\\\\{\\\"VERSION_ID\\\":\\\"logic_notification\\\",\\\"message\\\":\\\"Stopping logging thread!\\\",\\\"level\\\":\\\"NOTE\\\"\" +\n+                        \",\\\"DATE_FORMAT\\\":\\\"yyyy-MM-dd HH:mm:ss.SSS\\\",\\\"timestamp\\\":\\\\d+,\\\"topicName\\\":\" +\n+                        \"\\\"sensors\\\\/logic_notification\\\",\\\"sequenceNumber\\\":\\\\d+\\\\}\\n\" +\n+                \"\\\\{\\\"VERSION_ID\\\":\\\"STOP\\\"\\\\}\\n\" +\n+                \"\\\\{\\\"VERSION_ID\\\":\\\"data_breakdown\\\",\\\"logging_button\\\":\\\\d+,\\\"gps\\\":\\\\d+,\\\"imu\\\":\\\\d+,\\\"encoder\\\":\" +\n+                        \"\\\\d+,\\\"brake_state\\\":\\\\d+,\\\"steering\\\":\\\\d+,\\\"fp_hash\\\":\\\\d+,\\\"logic_notification\\\":\\\\d+,\" +\n+                        \"\\\"push_bar_camera\\\":\\\\d+,\\\"pose\\\":\\\\d+,\\\"reset\\\":\\\\d+,\\\"state\\\":\\\\d+\\\\}\";\n+\n+        String logFile = getLogString();\n+        Pattern filePattern = Pattern.compile(fileRegex);\n+        Matcher fileMatcher = filePattern.matcher(Pattern.quote(logFile));\n+\n+        if (!fileMatcher.find()) {\n+            Assert.fail(\"Couldn't match regex\");\n+        }\n+\n+    }\n+\n+    /**\n+     * Logs a file without any incoming messages\n+     */\n+    @Test\n+    public void testLogEmptyFile() throws InterruptedException, IOException {\n+        startLogging();\n+        stopLogging();\n+\n+        compareFileToMessageList(\"\");\n+    }\n+\n+    /**\n+     * Logs a file with a single publisher publishing messages\n+     */\n+    @Test\n+    public void testOnePub() throws InterruptedException, IOException {","path":"real_time/surface_src/java_src/Alice/src/test/java/com/roboclub/robobuggy/nodes/sensors/LoggingNodeTest.java","position":103,"original_position":103,"commit_id":"8a32b26643bcb24824f78f8acbb7d6e863884b1a","original_commit_id":"8a32b26643bcb24824f78f8acbb7d6e863884b1a","user":{"login":"codacy-bot","id":19940114,"avatar_url":"https://avatars.githubusercontent.com/u/19940114?v=3","gravatar_id":"","url":"https://api.github.com/users/codacy-bot","html_url":"https://github.com/codacy-bot","followers_url":"https://api.github.com/users/codacy-bot/followers","following_url":"https://api.github.com/users/codacy-bot/following{/other_user}","gists_url":"https://api.github.com/users/codacy-bot/gists{/gist_id}","starred_url":"https://api.github.com/users/codacy-bot/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/codacy-bot/subscriptions","organizations_url":"https://api.github.com/users/codacy-bot/orgs","repos_url":"https://api.github.com/users/codacy-bot/repos","events_url":"https://api.github.com/users/codacy-bot/events{/privacy}","received_events_url":"https://api.github.com/users/codacy-bot/received_events","type":"User","site_admin":false},"body":"![Codacy](https://www.codacy.com/assets/images/favicon.png) Issue found: [JUnit tests should include assert() or fail()](https://www.codacy.com/app/Mr-Trevor-Decker/RoboBuggy/file/3529388148/issues/source?bid=2938665&fileBranchId=3457675#l103)","created_at":"2016-08-24T08:37:44Z","updated_at":"2016-08-24T08:37:44Z","html_url":"https://github.com/CMU-Robotics-Club/RoboBuggy/pull/428#discussion_r76015237","pull_request_url":"https://api.github.com/repos/CMU-Robotics-Club/RoboBuggy/pulls/428","_links":{"self":{"href":"https://api.github.com/repos/CMU-Robotics-Club/RoboBuggy/pulls/comments/76015237"},"html":{"href":"https://github.com/CMU-Robotics-Club/RoboBuggy/pull/428#discussion_r76015237"},"pull_request":{"href":"https://api.github.com/repos/CMU-Robotics-Club/RoboBuggy/pulls/428"}}},"pull_request":{"url":"https://api.github.com/repos/CMU-Robotics-Club/RoboBuggy/pulls/428","id":78094618,"html_url":"https://github.com/CMU-Robotics-Club/RoboBuggy/pull/428","diff_url":"https://github.com/CMU-Robotics-Club/RoboBuggy/pull/428.diff","patch_url":"https://github.com/CMU-Robotics-Club/RoboBuggy/pull/428.patch","issue_url":"https://api.github.com/repos/CMU-Robotics-Club/RoboBuggy/issues/428","number":428,"state":"open","locked":false,"title":"Changed the log schema","user":{"login":"VivaanBahl","id":8837619,"avatar_url":"https://avatars.githubusercontent.com/u/8837619?v=3","gravatar_id":"","url":"https://api.github.com/users/VivaanBahl","html_url":"https://github.com/VivaanBahl","followers_url":"https://api.github.com/users/VivaanBahl/followers","following_url":"https://api.github.com/users/VivaanBahl/following{/other_user}","gists_url":"https://api.github.com/users/VivaanBahl/gists{/gist_id}","starred_url":"https://api.github.com/users/VivaanBahl/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/VivaanBahl/subscriptions","organizations_url":"https://api.github.com/users/VivaanBahl/orgs","repos_url":"https://api.github.com/users/VivaanBahl/repos","events_url":"https://api.github.com/users/VivaanBahl/events{/privacy}","received_events_url":"https://api.github.com/users/VivaanBahl/received_events","type":"User","site_admin":false},"body":"Also updated the config file to grab the current git hash (sticks it in the first line of the log)","created_at":"2016-07-20T06:29:37Z","updated_at":"2016-08-24T08:37:44Z","closed_at":null,"merged_at":null,"merge_commit_sha":"fdee6122100dc4611932239a0637bc597d06aedc","assignee":null,"assignees":[],"milestone":null,"commits_url":"https://api.github.com/repos/CMU-Robotics-Club/RoboBuggy/pulls/428/commits","review_comments_url":"https://api.github.com/repos/CMU-Robotics-Club/RoboBuggy/pulls/428/comments","review_comment_url":"https://api.github.com/repos/CMU-Robotics-Club/RoboBuggy/pulls/comments{/number}","comments_url":"https://api.github.com/repos/CMU-Robotics-Club/RoboBuggy/issues/428/comments","statuses_url":"https://api.github.com/repos/CMU-Robotics-Club/RoboBuggy/statuses/8a32b26643bcb24824f78f8acbb7d6e863884b1a","head":{"label":"CMU-Robotics-Club:vivaan-cleanup","ref":"vivaan-cleanup","sha":"8a32b26643bcb24824f78f8acbb7d6e863884b1a","user":{"login":"CMU-Robotics-Club","id":5898082,"avatar_url":"https://avatars.githubusercontent.com/u/5898082?v=3","gravatar_id":"","url":"https://api.github.com/users/CMU-Robotics-Club","html_url":"https://github.com/CMU-Robotics-Club","followers_url":"https://api.github.com/users/CMU-Robotics-Club/followers","following_url":"https://api.github.com/users/CMU-Robotics-Club/following{/other_user}","gists_url":"https://api.github.com/users/CMU-Robotics-Club/gists{/gist_id}","starred_url":"https://api.github.com/users/CMU-Robotics-Club/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/CMU-Robotics-Club/subscriptions","organizations_url":"https://api.github.com/users/CMU-Robotics-Club/orgs","repos_url":"https://api.github.com/users/CMU-Robotics-Club/repos","events_url":"https://api.github.com/users/CMU-Robotics-Club/events{/privacy}","received_events_url":"https://api.github.com/users/CMU-Robotics-Club/received_events","type":"Organization","site_admin":false},"repo":{"id":23744385,"name":"RoboBuggy","full_name":"CMU-Robotics-Club/RoboBuggy","owner":{"login":"CMU-Robotics-Club","id":5898082,"avatar_url":"https://avatars.githubusercontent.com/u/5898082?v=3","gravatar_id":"","url":"https://api.github.com/users/CMU-Robotics-Club","html_url":"https://github.com/CMU-Robotics-Club","followers_url":"https://api.github.com/users/CMU-Robotics-Club/followers","following_url":"https://api.github.com/users/CMU-Robotics-Club/following{/other_user}","gists_url":"https://api.github.com/users/CMU-Robotics-Club/gists{/gist_id}","starred_url":"https://api.github.com/users/CMU-Robotics-Club/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/CMU-Robotics-Club/subscriptions","organizations_url":"https://api.github.com/users/CMU-Robotics-Club/orgs","repos_url":"https://api.github.com/users/CMU-Robotics-Club/repos","events_url":"https://api.github.com/users/CMU-Robotics-Club/events{/privacy}","received_events_url":"https://api.github.com/users/CMU-Robotics-Club/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/CMU-Robotics-Club/RoboBuggy","description":"99 problems, but a driver ain't one. (Push code, not buggies)","fork":false,"url":"https://api.github.com/repos/CMU-Robotics-Club/RoboBuggy","forks_url":"https://api.github.com/repos/CMU-Robotics-Club/RoboBuggy/forks","keys_url":"https://api.github.com/repos/CMU-Robotics-Club/RoboBuggy/keys{/key_id}","collaborators_url":"https://api.github.com/repos/CMU-Robotics-Club/RoboBuggy/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/CMU-Robotics-Club/RoboBuggy/teams","hooks_url":"https://api.github.com/repos/CMU-Robotics-Club/RoboBuggy/hooks","issue_events_url":"https://api.github.com/repos/CMU-Robotics-Club/RoboBuggy/issues/events{/number}","events_url":"https://api.github.com/repos/CMU-Robotics-Club/RoboBuggy/events","assignees_url":"https://api.github.com/repos/CMU-Robotics-Club/RoboBuggy/assignees{/user}","branches_url":"https://api.github.com/repos/CMU-Robotics-Club/RoboBuggy/branches{/branch}","tags_url":"https://api.github.com/repos/CMU-Robotics-Club/RoboBuggy/tags","blobs_url":"https://api.github.com/repos/CMU-Robotics-Club/RoboBuggy/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/CMU-Robotics-Club/RoboBuggy/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/CMU-Robotics-Club/RoboBuggy/git/refs{/sha}","trees_url":"https://api.github.com/repos/CMU-Robotics-Club/RoboBuggy/git/trees{/sha}","statuses_url":"https://api.github.com/repos/CMU-Robotics-Club/RoboBuggy/statuses/{sha}","languages_url":"https://api.github.com/repos/CMU-Robotics-Club/RoboBuggy/languages","stargazers_url":"https://api.github.com/repos/CMU-Robotics-Club/RoboBuggy/stargazers","contributors_url":"https://api.github.com/repos/CMU-Robotics-Club/RoboBuggy/contributors","subscribers_url":"https://api.github.com/repos/CMU-Robotics-Club/RoboBuggy/subscribers","subscription_url":"https://api.github.com/repos/CMU-Robotics-Club/RoboBuggy/subscription","commits_url":"https://api.github.com/repos/CMU-Robotics-Club/RoboBuggy/commits{/sha}","git_commits_url":"https://api.github.com/repos/CMU-Robotics-Club/RoboBuggy/git/commits{/sha}","comments_url":"https://api.github.com/repos/CMU-Robotics-Club/RoboBuggy/comments{/number}","issue_comment_url":"https://api.github.com/repos/CMU-Robotics-Club/RoboBuggy/issues/comments{/number}","contents_url":"https://api.github.com/repos/CMU-Robotics-Club/RoboBuggy/contents/{+path}","compare_url":"https://api.github.com/repos/CMU-Robotics-Club/RoboBuggy/compare/{base}...{head}","merges_url":"https://api.github.com/repos/CMU-Robotics-Club/RoboBuggy/merges","archive_url":"https://api.github.com/repos/CMU-Robotics-Club/RoboBuggy/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/CMU-Robotics-Club/RoboBuggy/downloads","issues_url":"https://api.github.com/repos/CMU-Robotics-Club/RoboBuggy/issues{/number}","pulls_url":"https://api.github.com/repos/CMU-Robotics-Club/RoboBuggy/pulls{/number}","milestones_url":"https://api.github.com/repos/CMU-Robotics-Club/RoboBuggy/milestones{/number}","notifications_url":"https://api.github.com/repos/CMU-Robotics-Club/RoboBuggy/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/CMU-Robotics-Club/RoboBuggy/labels{/name}","releases_url":"https://api.github.com/repos/CMU-Robotics-Club/RoboBuggy/releases{/id}","deployments_url":"https://api.github.com/repos/CMU-Robotics-Club/RoboBuggy/deployments","created_at":"2014-09-06T20:20:03Z","updated_at":"2016-06-02T02:15:22Z","pushed_at":"2016-08-24T07:36:37Z","git_url":"git://github.com/CMU-Robotics-Club/RoboBuggy.git","ssh_url":"git@github.com:CMU-Robotics-Club/RoboBuggy.git","clone_url":"https://github.com/CMU-Robotics-Club/RoboBuggy.git","svn_url":"https://github.com/CMU-Robotics-Club/RoboBuggy","homepage":"","size":206479,"stargazers_count":10,"watchers_count":10,"language":"Java","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":2,"mirror_url":null,"open_issues_count":86,"forks":2,"open_issues":86,"watchers":10,"default_branch":"master"}},"base":{"label":"CMU-Robotics-Club:master","ref":"master","sha":"5cfedb5822f7d138b4d2547dbfe25bab25fed81e","user":{"login":"CMU-Robotics-Club","id":5898082,"avatar_url":"https://avatars.githubusercontent.com/u/5898082?v=3","gravatar_id":"","url":"https://api.github.com/users/CMU-Robotics-Club","html_url":"https://github.com/CMU-Robotics-Club","followers_url":"https://api.github.com/users/CMU-Robotics-Club/followers","following_url":"https://api.github.com/users/CMU-Robotics-Club/following{/other_user}","gists_url":"https://api.github.com/users/CMU-Robotics-Club/gists{/gist_id}","starred_url":"https://api.github.com/users/CMU-Robotics-Club/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/CMU-Robotics-Club/subscriptions","organizations_url":"https://api.github.com/users/CMU-Robotics-Club/orgs","repos_url":"https://api.github.com/users/CMU-Robotics-Club/repos","events_url":"https://api.github.com/users/CMU-Robotics-Club/events{/privacy}","received_events_url":"https://api.github.com/users/CMU-Robotics-Club/received_events","type":"Organization","site_admin":false},"repo":{"id":23744385,"name":"RoboBuggy","full_name":"CMU-Robotics-Club/RoboBuggy","owner":{"login":"CMU-Robotics-Club","id":5898082,"avatar_url":"https://avatars.githubusercontent.com/u/5898082?v=3","gravatar_id":"","url":"https://api.github.com/users/CMU-Robotics-Club","html_url":"https://github.com/CMU-Robotics-Club","followers_url":"https://api.github.com/users/CMU-Robotics-Club/followers","following_url":"https://api.github.com/users/CMU-Robotics-Club/following{/other_user}","gists_url":"https://api.github.com/users/CMU-Robotics-Club/gists{/gist_id}","starred_url":"https://api.github.com/users/CMU-Robotics-Club/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/CMU-Robotics-Club/subscriptions","organizations_url":"https://api.github.com/users/CMU-Robotics-Club/orgs","repos_url":"https://api.github.com/users/CMU-Robotics-Club/repos","events_url":"https://api.github.com/users/CMU-Robotics-Club/events{/privacy}","received_events_url":"https://api.github.com/users/CMU-Robotics-Club/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/CMU-Robotics-Club/RoboBuggy","description":"99 problems, but a driver ain't one. (Push code, not buggies)","fork":false,"url":"https://api.github.com/repos/CMU-Robotics-Club/RoboBuggy","forks_url":"https://api.github.com/repos/CMU-Robotics-Club/RoboBuggy/forks","keys_url":"https://api.github.com/repos/CMU-Robotics-Club/RoboBuggy/keys{/key_id}","collaborators_url":"https://api.github.com/repos/CMU-Robotics-Club/RoboBuggy/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/CMU-Robotics-Club/RoboBuggy/teams","hooks_url":"https://api.github.com/repos/CMU-Robotics-Club/RoboBuggy/hooks","issue_events_url":"https://api.github.com/repos/CMU-Robotics-Club/RoboBuggy/issues/events{/number}","events_url":"https://api.github.com/repos/CMU-Robotics-Club/RoboBuggy/events","assignees_url":"https://api.github.com/repos/CMU-Robotics-Club/RoboBuggy/assignees{/user}","branches_url":"https://api.github.com/repos/CMU-Robotics-Club/RoboBuggy/branches{/branch}","tags_url":"https://api.github.com/repos/CMU-Robotics-Club/RoboBuggy/tags","blobs_url":"https://api.github.com/repos/CMU-Robotics-Club/RoboBuggy/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/CMU-Robotics-Club/RoboBuggy/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/CMU-Robotics-Club/RoboBuggy/git/refs{/sha}","trees_url":"https://api.github.com/repos/CMU-Robotics-Club/RoboBuggy/git/trees{/sha}","statuses_url":"https://api.github.com/repos/CMU-Robotics-Club/RoboBuggy/statuses/{sha}","languages_url":"https://api.github.com/repos/CMU-Robotics-Club/RoboBuggy/languages","stargazers_url":"https://api.github.com/repos/CMU-Robotics-Club/RoboBuggy/stargazers","contributors_url":"https://api.github.com/repos/CMU-Robotics-Club/RoboBuggy/contributors","subscribers_url":"https://api.github.com/repos/CMU-Robotics-Club/RoboBuggy/subscribers","subscription_url":"https://api.github.com/repos/CMU-Robotics-Club/RoboBuggy/subscription","commits_url":"https://api.github.com/repos/CMU-Robotics-Club/RoboBuggy/commits{/sha}","git_commits_url":"https://api.github.com/repos/CMU-Robotics-Club/RoboBuggy/git/commits{/sha}","comments_url":"https://api.github.com/repos/CMU-Robotics-Club/RoboBuggy/comments{/number}","issue_comment_url":"https://api.github.com/repos/CMU-Robotics-Club/RoboBuggy/issues/comments{/number}","contents_url":"https://api.github.com/repos/CMU-Robotics-Club/RoboBuggy/contents/{+path}","compare_url":"https://api.github.com/repos/CMU-Robotics-Club/RoboBuggy/compare/{base}...{head}","merges_url":"https://api.github.com/repos/CMU-Robotics-Club/RoboBuggy/merges","archive_url":"https://api.github.com/repos/CMU-Robotics-Club/RoboBuggy/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/CMU-Robotics-Club/RoboBuggy/downloads","issues_url":"https://api.github.com/repos/CMU-Robotics-Club/RoboBuggy/issues{/number}","pulls_url":"https://api.github.com/repos/CMU-Robotics-Club/RoboBuggy/pulls{/number}","milestones_url":"https://api.github.com/repos/CMU-Robotics-Club/RoboBuggy/milestones{/number}","notifications_url":"https://api.github.com/repos/CMU-Robotics-Club/RoboBuggy/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/CMU-Robotics-Club/RoboBuggy/labels{/name}","releases_url":"https://api.github.com/repos/CMU-Robotics-Club/RoboBuggy/releases{/id}","deployments_url":"https://api.github.com/repos/CMU-Robotics-Club/RoboBuggy/deployments","created_at":"2014-09-06T20:20:03Z","updated_at":"2016-06-02T02:15:22Z","pushed_at":"2016-08-24T07:36:37Z","git_url":"git://github.com/CMU-Robotics-Club/RoboBuggy.git","ssh_url":"git@github.com:CMU-Robotics-Club/RoboBuggy.git","clone_url":"https://github.com/CMU-Robotics-Club/RoboBuggy.git","svn_url":"https://github.com/CMU-Robotics-Club/RoboBuggy","homepage":"","size":206479,"stargazers_count":10,"watchers_count":10,"language":"Java","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":2,"mirror_url":null,"open_issues_count":86,"forks":2,"open_issues":86,"watchers":10,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/CMU-Robotics-Club/RoboBuggy/pulls/428"},"html":{"href":"https://github.com/CMU-Robotics-Club/RoboBuggy/pull/428"},"issue":{"href":"https://api.github.com/repos/CMU-Robotics-Club/RoboBuggy/issues/428"},"comments":{"href":"https://api.github.com/repos/CMU-Robotics-Club/RoboBuggy/issues/428/comments"},"review_comments":{"href":"https://api.github.com/repos/CMU-Robotics-Club/RoboBuggy/pulls/428/comments"},"review_comment":{"href":"https://api.github.com/repos/CMU-Robotics-Club/RoboBuggy/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/CMU-Robotics-Club/RoboBuggy/pulls/428/commits"},"statuses":{"href":"https://api.github.com/repos/CMU-Robotics-Club/RoboBuggy/statuses/8a32b26643bcb24824f78f8acbb7d6e863884b1a"}}}}
{"actor":{"display_login":"codacy-bot"}}