{"action":"created","comment":{"url":"https://api.github.com/repos/pmitros/crowdsourcehinter-code-review/pulls/comments/28231619","id":28231619,"diff_hunk":"@@ -0,0 +1,305 @@\n+function CrowdsourceHinter(runtime, element, data){\n+\n+    var executeHinter = true;\n+    var isShowingHintFeedback = false;\n+    var voted = false;\n+    var correctSubmission = false;\n+    \n+    $(\".crowdsourcehinter_block\", element).hide();\n+\n+    if(!executeHinter){\n+        return;\n+    }\n+\n+    /**\n+     * Set executeHinter to false, disabling the hinter xblock. Triggered by switching units\n+     * in edX course.\n+     * This is a workaround for when a student switches to/from a unit and causes multiple\n+     * instances of the hinter to be running.\n+     */\n+    function stopScript(){\n+        executeHinter = false;\n+    }\n+    Logger.listen('seq_next', null, stopScript);\n+    Logger.listen('seq_prev', null, stopScript);\n+    Logger.listen('seq_goto', null, stopScript);\n+\n+    /**\n+     * Get a hint to show to the student after incorrectly answering a question.\n+     * @param data is data generated by the problem_graded event\n+     */\n+    function get_hint(data){\n+        $(\".crowdsourcehinter_block\", element).show();\n+        $.ajax({\n+            type: \"POST\",\n+            url: runtime.handlerUrl(element, 'get_hint'),\n+            data: JSON.stringify({\"submittedanswer\": unescape(data[0])}),\n+            success: showHint\n+        });\n+    }\n+\n+    /**\n+     * Start student hint feedback. This function is called after the student answers\n+     * the question correctly.\n+     */\n+    function start_feedback(){\n+        $('.csh_correct', element).show();\n+        $(\".csh_hint_reveal\", element).hide();\n+        //send empty data for ajax call because not having a data field causes error\n+        $.ajax({\n+            type: \"POST\",\n+            url: runtime.handlerUrl(element, 'get_feedback'),\n+            data: JSON.stringify({}),\n+            success: showStudentContribution\n+        });\n+    }\n+\n+    /**\n+     * Check whether student answered the question correctly and call the appropriate\n+     * function afterwards. Current method for determining correctness if very brittle.\n+     * @param event_type, element are both unused but automatically passed\n+     * @param data is generated by problem_graded event, contains status and data of the problem block\n+     */\n+    function onStudentSubmission(){ return function(event_type, data, element){\n+        //search method of correctness of problem is brittle due to checking for a class within\n+        //the problem block.\n+        if (data[1].search(/class=\"correct/) === -1){\n+            get_hint(data);\n+        } else { //if the correct answer is submitted\n+            start_feedback();\n+        }\n+    }}\n+    Logger.listen('problem_graded', data.hinting_element, onStudentSubmission());\n+\n+    /**\n+     * Modify csh_Hints attributes to show hint to the student.\n+     */\n+    function showHint(result){\n+        $('.csh_Hints', element).attr('student_answer', result.StudentAnswer);\n+        $('.csh_Hints', element).attr('hint_received', result.Hints);\n+        $('.csh_Hints', element).text(\"Hint: \" + result.Hints);\n+        Logger.log('crowd_hinter.showHint', {\"student_answer\": result.StudentAnswer, \"hint_received\": result.Hints});\n+    }\n+\n+    /**\n+     * Called by showStudentContribution to append hints into divs created by\n+     * showStudentSubmissoinHistory, after the student answered the question correctly.\n+     * Feedback on hints at this stage consists of upvote/downvote/report buttons.\n+     * @param hint is the first hint that was shown to the student\n+     * @param student_answer is the first incorrect answer submitted by the student\n+     */\n+    function showHintFeedback(hint, student_answer){\n+        $(\".csh_student_answer\", element).each(function(){\n+            if ($(this).find('.csh_answer_text').attr('answer') == student_answer){\n+                var html = \"\";\n+                $(function(){\n+                    var data = {\n+                        hint: hint\n+                    };\n+                    html = Mustache.render($(\"#show_hint_feedback\").html(), data);\n+                });\n+                $(this).append(html);\n+                var html = \"\";\n+                var template = $('#add_hint_creation').html();\n+                var data = {};\n+                html = Mustache.render(template, data);\n+                $(this).append(html);\n+            }\n+        });\n+    }\n+\n+    /**\n+     * Show options to remove or return reported hints from/to the hint pool. Called after\n+     * correctly answering the question, only visible to staff.\n+     * @param result is the reported hint text\n+     */\n+    function showReportedFeedback(result){\n+        var html = \"\";\n+        $(function(){\n+            var template = $('#show_reported_feedback').html();\n+            var data = {\n+                hint: result\n+            };\n+            html = Mustache.render(template, data);\n+        });\n+        $(\".csh_reported_hints\", element).append(html);\n+    }\n+\n+    /**\n+     * Append new divisions into html for each answer the student submitted before correctly \n+     * answering the question. showHintFeedback appends new hints into these divs.\n+     * When the hinter is set to show best, only one div will be created.\n+     * @param student_answers is the text of the student's incorrect answer\n+     */\n+    function showStudentSubmissionHistory(student_answers){\n+        var html = \"\";\n+        var template = $('#show_answer_feedback').html();\n+        var data = {\n+            answer: student_answers\n+        };\n+        html = Mustache.render(template, data);\n+        $(\".csh_feedback\", element).append(html);\n+    }\n+\n+    /**\n+     * Set up student feedback on hints and contribution of new hints. Incorrect answer(s) and the\n+     * the corresponding hint(s) shown to the student are displayed. Students can upvote/downvote/report\n+     * hints or contribute a new hint for their incorrect answer(s).\n+     * Only one incorrect answer and hint will be shown when the hinter is set to show best.\n+     * @param result is a dictionary of incorrect answers and hints, with the index being the hint and the value\n+     * being the incorrect answer\n+     */\n+    function showStudentContribution(result){\n+    //Set up the student feedback stage. Each student answer and all answer-specific hints for that answer are shown\n+    //to the student, as well as an option to create a new hint for an answer.\n+        if(data.isStaff){\n+            $('.crowdsourcehinter_block', element).attr('class', 'crowdsourcehinter_block_is_staff');\n+            $.each(result, function(index, value) {\n+                if(value == \"Reported\") {\n+                    //index represents the reported hint's text\n+                    showReportedFeedback(index);\n+                }\n+            });\n+        }\n+        if(!isShowingHintFeedback){\n+            $.each(result, function(index, value) {\n+              if(value != \"Reported\"){\n+                showStudentSubmissionHistory(value);\n+                student_answer = value;\n+                hint = index;\n+                //hints return null if no answer-specific hints exist\n+                if(hint === \"null\"){\n+                    $(\".csh_student_answer\", element).each(function(){\n+                        if ($(this).find('.csh_answer_text').attr('answer') == student_answer){\n+                            var html = \"\";\n+                            var template = $('#show_no_hints').html();\n+                            var data = {};\n+                            html = Mustache.render(template, data);\n+                            $(this).append(html);\n+                            var html = \"\";\n+                            var template = $('#add_hint_creation').html();\n+                            var data = {};\n+                            html = Mustache.render(template, data);\n+                            $(this).append(html);\n+                        }\n+                    });\n+                }\n+                //reported hints have their corresponding answer set to \"Reported\"\n+                else {\n+                    showHintFeedback(hint, student_answer);\n+                }\n+              }\n+            });\n+            isShowingHintFeedback = true;\n+        }\n+    }\n+\n+    /**\n+     * Create a text input area for the student to create a new hint. This function\n+     * is triggered by clicking the \"contribute a new hint\" button.\n+     * @param clicked is the \"contribute a new hint\" button that was clicked\n+     */\n+    function create_text_input(){ return function(clicked){\n+        $('.csh_student_hint_creation', element).each(function(){\n+            $(clicked.currentTarget).show();\n+        });\n+        $('.csh_student_text_input', element).remove();\n+        $('.csh_submit_new', element).remove();\n+        $(clicked.currentTarget).hide();\n+        student_answer = $(clicked.currentTarget).parent().parent().find('.csh_answer_text').attr('answer');\n+        $(\".csh_student_answer\", element).each(function(){\n+            if ($('.csh_answer_text', element).attr('answer') == student_answer){\n+                var html = \"\";\n+                $(function(){\n+                    var template = $('#student_hint_creation').html();\n+                    var data = {student_answer: student_answer};\n+                    html = Mustache.render(template, data); \n+                });\n+                $(this).append(html);\n+            }\n+        });\n+    }}\n+    $(element).on('click', '.csh_student_hint_creation', create_text_input($(this)));\n+\n+    /**\n+     * Submit a new hint created by the student to the hint pool. Hint text is in\n+     * the text input area created by create_text_input. Contributed hints are specific to \n+     * incorrect answers. Triggered by clicking the \"submit hint\" button.\n+     * @param clicked is the \"submit hint\" button clicked\n+     */\n+    function submit_new_hint(){ return function(clicked){\n+    //add the newly created hint to the hinter's pool of hints\n+        if($('.csh_student_text_input', element).val().length > 0){\n+            var answerdata = unescape(clicked.currentTarget.attributes['answer'].value);","path":"crowdsourcehinter/static/js/src/crowdsourcehinter.js","position":233,"original_position":233,"commit_id":"7ee2a4c5c3afa408ae9f29ffccd7a98956fba35d","original_commit_id":"7ee2a4c5c3afa408ae9f29ffccd7a98956fba35d","user":{"login":"pmitros","id":1427775,"avatar_url":"https://avatars.githubusercontent.com/u/1427775?v=3","gravatar_id":"","url":"https://api.github.com/users/pmitros","html_url":"https://github.com/pmitros","followers_url":"https://api.github.com/users/pmitros/followers","following_url":"https://api.github.com/users/pmitros/following{/other_user}","gists_url":"https://api.github.com/users/pmitros/gists{/gist_id}","starred_url":"https://api.github.com/users/pmitros/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pmitros/subscriptions","organizations_url":"https://api.github.com/users/pmitros/orgs","repos_url":"https://api.github.com/users/pmitros/repos","events_url":"https://api.github.com/users/pmitros/events{/privacy}","received_events_url":"https://api.github.com/users/pmitros/received_events","type":"User","site_admin":false},"body":"Ignore my use of case in the code review and follow: \r\n\r\n     https://google-styleguide.googlecode.com/svn/trunk/javascriptguide.xml","created_at":"2015-04-13T11:49:27Z","updated_at":"2015-04-13T11:49:27Z","html_url":"https://github.com/pmitros/crowdsourcehinter-code-review/pull/1#discussion_r28231619","pull_request_url":"https://api.github.com/repos/pmitros/crowdsourcehinter-code-review/pulls/1","_links":{"self":{"href":"https://api.github.com/repos/pmitros/crowdsourcehinter-code-review/pulls/comments/28231619"},"html":{"href":"https://github.com/pmitros/crowdsourcehinter-code-review/pull/1#discussion_r28231619"},"pull_request":{"href":"https://api.github.com/repos/pmitros/crowdsourcehinter-code-review/pulls/1"}}},"pull_request":{"url":"https://api.github.com/repos/pmitros/crowdsourcehinter-code-review/pulls/1","id":32647423,"html_url":"https://github.com/pmitros/crowdsourcehinter-code-review/pull/1","diff_url":"https://github.com/pmitros/crowdsourcehinter-code-review/pull/1.diff","patch_url":"https://github.com/pmitros/crowdsourcehinter-code-review/pull/1.patch","issue_url":"https://api.github.com/repos/pmitros/crowdsourcehinter-code-review/issues/1","number":1,"state":"open","locked":false,"title":"Code review","user":{"login":"pmitros","id":1427775,"avatar_url":"https://avatars.githubusercontent.com/u/1427775?v=3","gravatar_id":"","url":"https://api.github.com/users/pmitros","html_url":"https://github.com/pmitros","followers_url":"https://api.github.com/users/pmitros/followers","following_url":"https://api.github.com/users/pmitros/following{/other_user}","gists_url":"https://api.github.com/users/pmitros/gists{/gist_id}","starred_url":"https://api.github.com/users/pmitros/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pmitros/subscriptions","organizations_url":"https://api.github.com/users/pmitros/orgs","repos_url":"https://api.github.com/users/pmitros/repos","events_url":"https://api.github.com/users/pmitros/events{/privacy}","received_events_url":"https://api.github.com/users/pmitros/received_events","type":"User","site_admin":false},"body":"","created_at":"2015-04-05T11:24:47Z","updated_at":"2015-04-13T11:49:27Z","closed_at":null,"merged_at":null,"merge_commit_sha":"55da6e9f35c9acf53f5d3d014e9360408ad31a3f","assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/pmitros/crowdsourcehinter-code-review/pulls/1/commits","review_comments_url":"https://api.github.com/repos/pmitros/crowdsourcehinter-code-review/pulls/1/comments","review_comment_url":"https://api.github.com/repos/pmitros/crowdsourcehinter-code-review/pulls/comments{/number}","comments_url":"https://api.github.com/repos/pmitros/crowdsourcehinter-code-review/issues/1/comments","statuses_url":"https://api.github.com/repos/pmitros/crowdsourcehinter-code-review/statuses/7ee2a4c5c3afa408ae9f29ffccd7a98956fba35d","head":{"label":"solashirai:master","ref":"master","sha":"7ee2a4c5c3afa408ae9f29ffccd7a98956fba35d","user":{"login":"solashirai","id":8005434,"avatar_url":"https://avatars.githubusercontent.com/u/8005434?v=3","gravatar_id":"","url":"https://api.github.com/users/solashirai","html_url":"https://github.com/solashirai","followers_url":"https://api.github.com/users/solashirai/followers","following_url":"https://api.github.com/users/solashirai/following{/other_user}","gists_url":"https://api.github.com/users/solashirai/gists{/gist_id}","starred_url":"https://api.github.com/users/solashirai/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/solashirai/subscriptions","organizations_url":"https://api.github.com/users/solashirai/orgs","repos_url":"https://api.github.com/users/solashirai/repos","events_url":"https://api.github.com/users/solashirai/events{/privacy}","received_events_url":"https://api.github.com/users/solashirai/received_events","type":"User","site_admin":false},"repo":{"id":21653402,"name":"crowdsourcehinter","full_name":"solashirai/crowdsourcehinter","owner":{"login":"solashirai","id":8005434,"avatar_url":"https://avatars.githubusercontent.com/u/8005434?v=3","gravatar_id":"","url":"https://api.github.com/users/solashirai","html_url":"https://github.com/solashirai","followers_url":"https://api.github.com/users/solashirai/followers","following_url":"https://api.github.com/users/solashirai/following{/other_user}","gists_url":"https://api.github.com/users/solashirai/gists{/gist_id}","starred_url":"https://api.github.com/users/solashirai/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/solashirai/subscriptions","organizations_url":"https://api.github.com/users/solashirai/orgs","repos_url":"https://api.github.com/users/solashirai/repos","events_url":"https://api.github.com/users/solashirai/events{/privacy}","received_events_url":"https://api.github.com/users/solashirai/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/solashirai/crowdsourcehinter","description":"Crowdsource hinter xblock","fork":false,"url":"https://api.github.com/repos/solashirai/crowdsourcehinter","forks_url":"https://api.github.com/repos/solashirai/crowdsourcehinter/forks","keys_url":"https://api.github.com/repos/solashirai/crowdsourcehinter/keys{/key_id}","collaborators_url":"https://api.github.com/repos/solashirai/crowdsourcehinter/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/solashirai/crowdsourcehinter/teams","hooks_url":"https://api.github.com/repos/solashirai/crowdsourcehinter/hooks","issue_events_url":"https://api.github.com/repos/solashirai/crowdsourcehinter/issues/events{/number}","events_url":"https://api.github.com/repos/solashirai/crowdsourcehinter/events","assignees_url":"https://api.github.com/repos/solashirai/crowdsourcehinter/assignees{/user}","branches_url":"https://api.github.com/repos/solashirai/crowdsourcehinter/branches{/branch}","tags_url":"https://api.github.com/repos/solashirai/crowdsourcehinter/tags","blobs_url":"https://api.github.com/repos/solashirai/crowdsourcehinter/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/solashirai/crowdsourcehinter/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/solashirai/crowdsourcehinter/git/refs{/sha}","trees_url":"https://api.github.com/repos/solashirai/crowdsourcehinter/git/trees{/sha}","statuses_url":"https://api.github.com/repos/solashirai/crowdsourcehinter/statuses/{sha}","languages_url":"https://api.github.com/repos/solashirai/crowdsourcehinter/languages","stargazers_url":"https://api.github.com/repos/solashirai/crowdsourcehinter/stargazers","contributors_url":"https://api.github.com/repos/solashirai/crowdsourcehinter/contributors","subscribers_url":"https://api.github.com/repos/solashirai/crowdsourcehinter/subscribers","subscription_url":"https://api.github.com/repos/solashirai/crowdsourcehinter/subscription","commits_url":"https://api.github.com/repos/solashirai/crowdsourcehinter/commits{/sha}","git_commits_url":"https://api.github.com/repos/solashirai/crowdsourcehinter/git/commits{/sha}","comments_url":"https://api.github.com/repos/solashirai/crowdsourcehinter/comments{/number}","issue_comment_url":"https://api.github.com/repos/solashirai/crowdsourcehinter/issues/comments{/number}","contents_url":"https://api.github.com/repos/solashirai/crowdsourcehinter/contents/{+path}","compare_url":"https://api.github.com/repos/solashirai/crowdsourcehinter/compare/{base}...{head}","merges_url":"https://api.github.com/repos/solashirai/crowdsourcehinter/merges","archive_url":"https://api.github.com/repos/solashirai/crowdsourcehinter/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/solashirai/crowdsourcehinter/downloads","issues_url":"https://api.github.com/repos/solashirai/crowdsourcehinter/issues{/number}","pulls_url":"https://api.github.com/repos/solashirai/crowdsourcehinter/pulls{/number}","milestones_url":"https://api.github.com/repos/solashirai/crowdsourcehinter/milestones{/number}","notifications_url":"https://api.github.com/repos/solashirai/crowdsourcehinter/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/solashirai/crowdsourcehinter/labels{/name}","releases_url":"https://api.github.com/repos/solashirai/crowdsourcehinter/releases{/id}","created_at":"2014-07-09T13:33:12Z","updated_at":"2015-04-13T09:24:26Z","pushed_at":"2015-04-13T09:24:26Z","git_url":"git://github.com/solashirai/crowdsourcehinter.git","ssh_url":"git@github.com:solashirai/crowdsourcehinter.git","clone_url":"https://github.com/solashirai/crowdsourcehinter.git","svn_url":"https://github.com/solashirai/crowdsourcehinter","homepage":"","size":42066,"stargazers_count":0,"watchers_count":0,"language":"JavaScript","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":1,"mirror_url":null,"open_issues_count":0,"forks":1,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"pmitros:Code-review","ref":"Code-review","sha":"5091590c5065e5a4605dcf7bce6c10ebb7c0b00c","user":{"login":"pmitros","id":1427775,"avatar_url":"https://avatars.githubusercontent.com/u/1427775?v=3","gravatar_id":"","url":"https://api.github.com/users/pmitros","html_url":"https://github.com/pmitros","followers_url":"https://api.github.com/users/pmitros/followers","following_url":"https://api.github.com/users/pmitros/following{/other_user}","gists_url":"https://api.github.com/users/pmitros/gists{/gist_id}","starred_url":"https://api.github.com/users/pmitros/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pmitros/subscriptions","organizations_url":"https://api.github.com/users/pmitros/orgs","repos_url":"https://api.github.com/users/pmitros/repos","events_url":"https://api.github.com/users/pmitros/events{/privacy}","received_events_url":"https://api.github.com/users/pmitros/received_events","type":"User","site_admin":false},"repo":{"id":33438637,"name":"crowdsourcehinter-code-review","full_name":"pmitros/crowdsourcehinter-code-review","owner":{"login":"pmitros","id":1427775,"avatar_url":"https://avatars.githubusercontent.com/u/1427775?v=3","gravatar_id":"","url":"https://api.github.com/users/pmitros","html_url":"https://github.com/pmitros","followers_url":"https://api.github.com/users/pmitros/followers","following_url":"https://api.github.com/users/pmitros/following{/other_user}","gists_url":"https://api.github.com/users/pmitros/gists{/gist_id}","starred_url":"https://api.github.com/users/pmitros/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pmitros/subscriptions","organizations_url":"https://api.github.com/users/pmitros/orgs","repos_url":"https://api.github.com/users/pmitros/repos","events_url":"https://api.github.com/users/pmitros/events{/privacy}","received_events_url":"https://api.github.com/users/pmitros/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/pmitros/crowdsourcehinter-code-review","description":"Crowdsource hinter xblock","fork":true,"url":"https://api.github.com/repos/pmitros/crowdsourcehinter-code-review","forks_url":"https://api.github.com/repos/pmitros/crowdsourcehinter-code-review/forks","keys_url":"https://api.github.com/repos/pmitros/crowdsourcehinter-code-review/keys{/key_id}","collaborators_url":"https://api.github.com/repos/pmitros/crowdsourcehinter-code-review/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/pmitros/crowdsourcehinter-code-review/teams","hooks_url":"https://api.github.com/repos/pmitros/crowdsourcehinter-code-review/hooks","issue_events_url":"https://api.github.com/repos/pmitros/crowdsourcehinter-code-review/issues/events{/number}","events_url":"https://api.github.com/repos/pmitros/crowdsourcehinter-code-review/events","assignees_url":"https://api.github.com/repos/pmitros/crowdsourcehinter-code-review/assignees{/user}","branches_url":"https://api.github.com/repos/pmitros/crowdsourcehinter-code-review/branches{/branch}","tags_url":"https://api.github.com/repos/pmitros/crowdsourcehinter-code-review/tags","blobs_url":"https://api.github.com/repos/pmitros/crowdsourcehinter-code-review/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/pmitros/crowdsourcehinter-code-review/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/pmitros/crowdsourcehinter-code-review/git/refs{/sha}","trees_url":"https://api.github.com/repos/pmitros/crowdsourcehinter-code-review/git/trees{/sha}","statuses_url":"https://api.github.com/repos/pmitros/crowdsourcehinter-code-review/statuses/{sha}","languages_url":"https://api.github.com/repos/pmitros/crowdsourcehinter-code-review/languages","stargazers_url":"https://api.github.com/repos/pmitros/crowdsourcehinter-code-review/stargazers","contributors_url":"https://api.github.com/repos/pmitros/crowdsourcehinter-code-review/contributors","subscribers_url":"https://api.github.com/repos/pmitros/crowdsourcehinter-code-review/subscribers","subscription_url":"https://api.github.com/repos/pmitros/crowdsourcehinter-code-review/subscription","commits_url":"https://api.github.com/repos/pmitros/crowdsourcehinter-code-review/commits{/sha}","git_commits_url":"https://api.github.com/repos/pmitros/crowdsourcehinter-code-review/git/commits{/sha}","comments_url":"https://api.github.com/repos/pmitros/crowdsourcehinter-code-review/comments{/number}","issue_comment_url":"https://api.github.com/repos/pmitros/crowdsourcehinter-code-review/issues/comments{/number}","contents_url":"https://api.github.com/repos/pmitros/crowdsourcehinter-code-review/contents/{+path}","compare_url":"https://api.github.com/repos/pmitros/crowdsourcehinter-code-review/compare/{base}...{head}","merges_url":"https://api.github.com/repos/pmitros/crowdsourcehinter-code-review/merges","archive_url":"https://api.github.com/repos/pmitros/crowdsourcehinter-code-review/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/pmitros/crowdsourcehinter-code-review/downloads","issues_url":"https://api.github.com/repos/pmitros/crowdsourcehinter-code-review/issues{/number}","pulls_url":"https://api.github.com/repos/pmitros/crowdsourcehinter-code-review/pulls{/number}","milestones_url":"https://api.github.com/repos/pmitros/crowdsourcehinter-code-review/milestones{/number}","notifications_url":"https://api.github.com/repos/pmitros/crowdsourcehinter-code-review/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/pmitros/crowdsourcehinter-code-review/labels{/name}","releases_url":"https://api.github.com/repos/pmitros/crowdsourcehinter-code-review/releases{/id}","created_at":"2015-04-05T11:17:34Z","updated_at":"2015-04-13T11:09:48Z","pushed_at":"2015-04-13T11:09:48Z","git_url":"git://github.com/pmitros/crowdsourcehinter-code-review.git","ssh_url":"git@github.com:pmitros/crowdsourcehinter-code-review.git","clone_url":"https://github.com/pmitros/crowdsourcehinter-code-review.git","svn_url":"https://github.com/pmitros/crowdsourcehinter-code-review","homepage":"","size":41543,"stargazers_count":0,"watchers_count":0,"language":"JavaScript","has_issues":false,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":1,"forks":0,"open_issues":1,"watchers":0,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/pmitros/crowdsourcehinter-code-review/pulls/1"},"html":{"href":"https://github.com/pmitros/crowdsourcehinter-code-review/pull/1"},"issue":{"href":"https://api.github.com/repos/pmitros/crowdsourcehinter-code-review/issues/1"},"comments":{"href":"https://api.github.com/repos/pmitros/crowdsourcehinter-code-review/issues/1/comments"},"review_comments":{"href":"https://api.github.com/repos/pmitros/crowdsourcehinter-code-review/pulls/1/comments"},"review_comment":{"href":"https://api.github.com/repos/pmitros/crowdsourcehinter-code-review/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/pmitros/crowdsourcehinter-code-review/pulls/1/commits"},"statuses":{"href":"https://api.github.com/repos/pmitros/crowdsourcehinter-code-review/statuses/7ee2a4c5c3afa408ae9f29ffccd7a98956fba35d"}}}}