{"action":"created","comment":{"url":"https://api.github.com/repos/reposense/RepoSense/pulls/comments/194243253","pull_request_review_id":127383022,"id":194243253,"node_id":"MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDE5NDI0MzI1Mw==","diff_hunk":"@@ -0,0 +1,312 @@\n+function comparator(fn){ return function(a, b){\n+    var a1 = fn(a), b1=fn(b);\n+    if(a1 === b1){ return 0; }\n+    else if(a1 < b1){ return -1; }\n+    return 1;\n+};}\n+\n+/* dates funcs */\n+const DAY = (1000*60*60*24);\n+function getIntervalDay(a, b){\n+    var diff = Date.parse(a) - Date.parse(b);\n+    return diff/DAY;\n+}\n+function getIntervalWeek(a, b){\n+    return getIntervalDay(a, b)/7;\n+}\n+function getDateStr(date){\n+    return (new Date(date)).toISOString().split(\"T\")[0];\n+}\n+function dateRounding(datestr, roundDown){\n+    // rounding up to nearest sunday\n+    var date = new Date(datestr);\n+    var day = date.getUTCDay();\n+    var datems = date.getTime();\n+    if(roundDown){\n+        datems -= day*DAY;\n+    }else{\n+        datems += (7-day)*DAY;\n+    }\n+\n+    return getDateStr(datems);\n+}\n+\n+var vSummary = {\n+    props: [\"repos\"],\n+    template: $(\"v_summary\").innerHTML,\n+    data() {\n+        return {\n+            filtered: [],\n+            rampScale: 0.1,\n+            filterSearch: \"\",\n+            filterSort: \"totalCommits\",\n+            filterSortReverse: false,\n+            filterGroupRepos: true,\n+            filterGroupWeek: false,\n+            filterSinceDate: \"\",\n+            filterUntilDate: \"\",\n+            filterHash: \"\"\n+        };\n+    },\n+    watch:{\n+        repos() { this.getFiltered(); },\n+        filterSort() { this.getFiltered(); },\n+        filterSortReverse() { this.getFiltered(); },\n+        filterGroupRepos() { this.getFiltered(); },\n+        filterGroupWeek() { this.getFiltered(); },\n+        filterSinceDate() { this.getFiltered(); },\n+        filterUntilDate() { this.getFiltered(); }\n+    },\n+    computed: {\n+        sliceCount() { return this.filtered[0][0].commits.length; },\n+        sliceWidth() { return 100/this.sliceCount; },\n+        avgCommitSize() {\n+            var totalCommits=0, totalCount=0;\n+            for(var repo of this.filtered){\n+                for(var user of repo){\n+                    for(var slice of user.commits){\n+                        if(slice.insertions>0){\n+                            totalCount += 1;\n+                            totalCommits += slice.insertions;\n+                        }\n+                    }\n+                }\n+            }\n+            return totalCommits/totalCount;\n+        },\n+        avgContributionSize() {\n+            var totalLines=0, totalCount=0;\n+            for(var repo of this.filtered){\n+                for(var user of repo){\n+                    if(user.totalCommits>0){\n+                        totalCount += 1;\n+                        totalLines += user.totalCommits;\n+                    }\n+                }\n+            }\n+            return totalLines/totalCount;\n+        }\n+    },\n+    methods: {\n+        // view funcs\n+        getWidth(slice) {\n+            if(slice.insertions===0){ return 0; }\n+\n+            var size = this.sliceWidth;\n+            size *= slice.insertions/this.avgCommitSize;\n+            return Math.max(size*this.rampScale, 0.5);\n+        },\n+        getSliceTitle(slice) {\n+            return \"contribution on \" + slice.fromDate +\n+                \": \" + slice.insertions + \" lines\";\n+        },\n+        getSliceLink(user, slice) {\n+            var REPOS = window.REPOS;\n+\n+            return \"http://github.com/\"\n+              + REPOS[user.repoId].organization + \"/\"\n+              + REPOS[user.repoId].repoName + \"/commits/\"\n+              + REPOS[user.repoId].branch + \"?\"\n+              + \"author=\" + user.name + \"&\"\n+              + \"since=\" + slice.fromDate + \"&\"\n+              + \"until=\" + slice.toDate;\n+        },\n+        getContributionBars(totalContribution) {\n+            var res = [];\n+            var contributionLimit = (this.avgContributionSize*2);\n+\n+            var cnt = parseInt(totalContribution/contributionLimit);\n+            for(var cntId=0; cntId<cnt; cntId++){\n+                res.push(100);\n+            }\n+\n+            var last = (totalContribution%contributionLimit)/contributionLimit;\n+            if(last!==0){\n+                res.push(last*100);\n+            }\n+\n+            return res;\n+        },\n+        // model funcs\n+        getFilterHash() {\n+            var enquery = window.enquery; // utils under api.js\n+\n+            this.filterSearch = this.filterSearch.toLowerCase();\n+            this.filterHash = [\n+                enquery(\"search\", this.filterSearch),\n+                enquery(\"sort\", this.filterSort),\n+                enquery(\"reverse\", this.filterSortReverse),\n+                enquery(\"repoSort\", this.filterGroupRepos),\n+                enquery(\"since\", this.filterSinceDate),\n+                enquery(\"until\", this.filterUntilDate)\n+            ].join(\"&\");\n+\n+            window.location.hash = this.filterHash;\n+        },\n+        getDates() {\n+            if(this.filterSinceDate && this.filterUntilDate){\n+                return;\n+            }\n+\n+            var minDate=\"\", maxDate=\"\";\n+            for(var repo of this.filtered){\n+                for(var user of repo){\n+                    var commits = user.commits;\n+                    var date1 = commits[0].fromDate;\n+                    var date2 = commits[commits.length-1].fromDate;\n+                    if(!minDate || minDate>date1){ minDate=date1; }\n+                    if(!maxDate || maxDate<date2){ maxDate=date2; }\n+                }\n+            }\n+\n+            if(!this.filterSinceDate){\n+                this.filterSinceDate=minDate;\n+            }\n+\n+            if(!this.filterUntilDate){\n+                this.filterUntilDate=maxDate;\n+            }\n+        },\n+        getFiltered() {\n+            this.getFilterHash();\n+\n+            // array of array, sorted by repo\n+            var full = [];\n+\n+            for(var repo of this.repos){\n+                var res = [];\n+\n+                // filtering\n+                for(var user of repo.users){\n+                    if(user.searchPath.search(this.filterSearch)>-1){\n+                        this.getUserCommits(user);\n+                        if(this.filterGroupWeek){\n+                            this.splitCommitsWeek(user);\n+                        }\n+\n+                        res.push(user);\n+                    }\n+                }\n+\n+                if(res.length){\n+                    full.push(res);\n+                }\n+            }\n+            this.filtered = full;\n+\n+            this.sortFiltered();\n+            this.getDates();\n+        },\n+        splitCommitsWeek(user) {\n+            var commits = user.commits;\n+            var leng = commits.length;\n+\n+            var res = [];\n+            for(var weekId=0; weekId<(leng-1)/7; weekId++){\n+                var week = {\n+                    insertions:0,\n+                    deletions:0,\n+                    fromDate:commits[weekId*7].fromDate,\n+                    toDate:\"\"\n+                };\n+\n+                for(var dayId=0; dayId<7; dayId++){\n+                    var commit = commits[weekId*7 + dayId];\n+                    week.insertions += commit.insertions;\n+                    week.deletions += commit.deletions;\n+                    week.toDate = commit.toDate;\n+                }\n+\n+                res.push(week);\n+            }\n+\n+            user.commits = res;\n+        },\n+        getUserCommits(user) {\n+            user[\"commits\"] = [];\n+            var userFirst = user.dailyCommits[0];\n+            var userLast = user.dailyCommits[user.dailyCommits.length-1];\n+\n+            var sinceDate = this.filterSinceDate;\n+            if(!sinceDate){\n+                sinceDate = userFirst.fromDate;\n+            }\n+\n+            var untilDate = this.filterUntilDate;\n+            if(!untilDate){\n+                untilDate = userLast.fromDate;\n+            }\n+\n+            if(this.filterGroupWeek){\n+                sinceDate = dateRounding(sinceDate, 1);\n+            }\n+            var diff = getIntervalDay(userFirst.fromDate, sinceDate);\n+\n+            var startMs = (new Date(sinceDate)).getTime();\n+            for(var dayId=0; dayId<diff; dayId++){\n+                user.commits.push({\n+                    insertions:0,\n+                    deletions:0,\n+                    fromDate:getDateStr(startMs + dayId*DAY),\n+                    toDate:getDateStr(startMs + (dayId+1)*DAY)\n+                });\n+            }\n+\n+            for(var commit of user.dailyCommits){\n+                if(commit.fromDate<sinceDate){\n+                    continue;\n+                }\n+                if(commit.fromDate>untilDate){\n+                    break;\n+                }\n+\n+                user.commits.push(commit);\n+            }\n+\n+            if(this.filterGroupWeek){\n+                untilDate = dateRounding(untilDate);\n+            }\n+            diff = getIntervalDay(untilDate, userLast.fromDate);\n+\n+            var endMs = (new Date(userLast.fromDate)).getTime();\n+            for(var paddingId=0; paddingId<diff; paddingId++){\n+                user.commits.push({\n+                    insertions:0,\n+                    deletions:0,\n+                    fromDate:getDateStr(endMs + paddingId*DAY),\n+                    endDate:getDateStr(endMs + (paddingId+1)*DAY)\n+                });\n+            }\n+        },\n+        sortFiltered() {","path":"template/v2/static/js/v_summary.js","position":281,"original_position":281,"commit_id":"4db408eaf74989da76dbd5d29f941edc7340be84","original_commit_id":"4db408eaf74989da76dbd5d29f941edc7340be84","user":{"login":"codacy-bot","id":19940114,"node_id":"MDQ6VXNlcjE5OTQwMTE0","avatar_url":"https://avatars1.githubusercontent.com/u/19940114?v=4","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://app.codacy.com/assets/images/favicon.png) Issue found: [Method 'sortFiltered' has a complexity of 7. (complexity)](https://app.codacy.com/app/eugenepeh/RepoSense/pullRequest?prid=1722210)","created_at":"2018-06-10T02:02:30Z","updated_at":"2018-06-10T02:02:31Z","html_url":"https://github.com/reposense/RepoSense/pull/129#discussion_r194243253","pull_request_url":"https://api.github.com/repos/reposense/RepoSense/pulls/129","author_association":"NONE","_links":{"self":{"href":"https://api.github.com/repos/reposense/RepoSense/pulls/comments/194243253"},"html":{"href":"https://github.com/reposense/RepoSense/pull/129#discussion_r194243253"},"pull_request":{"href":"https://api.github.com/repos/reposense/RepoSense/pulls/129"}}},"pull_request":{"url":"https://api.github.com/repos/reposense/RepoSense/pulls/129","id":190522365,"node_id":"MDExOlB1bGxSZXF1ZXN0MTkwNTIyMzY1","html_url":"https://github.com/reposense/RepoSense/pull/129","diff_url":"https://github.com/reposense/RepoSense/pull/129.diff","patch_url":"https://github.com/reposense/RepoSense/pull/129.patch","issue_url":"https://api.github.com/repos/reposense/RepoSense/issues/129","number":129,"state":"open","locked":false,"title":"changing frontend to a single file format - summary plugin done","user":{"login":"ongspxm","id":1430854,"node_id":"MDQ6VXNlcjE0MzA4NTQ=","avatar_url":"https://avatars0.githubusercontent.com/u/1430854?v=4","gravatar_id":"","url":"https://api.github.com/users/ongspxm","html_url":"https://github.com/ongspxm","followers_url":"https://api.github.com/users/ongspxm/followers","following_url":"https://api.github.com/users/ongspxm/following{/other_user}","gists_url":"https://api.github.com/users/ongspxm/gists{/gist_id}","starred_url":"https://api.github.com/users/ongspxm/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ongspxm/subscriptions","organizations_url":"https://api.github.com/users/ongspxm/orgs","repos_url":"https://api.github.com/users/ongspxm/repos","events_url":"https://api.github.com/users/ongspxm/events{/privacy}","received_events_url":"https://api.github.com/users/ongspxm/received_events","type":"User","site_admin":false},"body":"changes to shift to a single template system where content is dynamically loaded. wip.\r\nhere just for the travis test.\r\n\r\nmostly a transfer of features, with a more vue-powered structure. major architectural changes, but most doesn't affect the output, here are some that do.\r\n\r\n**proposed message**\r\n```\r\nThere are 2 main templates, which are loaded separately to process the\r\ninformation when it is required. this requires the same templates to be\r\ngenerated multiple times for the data. This greatly increases the size of the\r\ngenerated report uneccessarily, which ideally only contains data for the report.\r\n\r\nLet's split up the report generation process and dashboard.\r\n\r\nThis PR supports the display of the commit history. Further work on the panel\r\nfor authorship information will be addressed in another PR.\r\n```\r\n\r\n## things to consider\r\n- [x] scale of ramp slices & contribution bar\r\n\r\n## changes to data results\r\n- weekly commits calculated from daily commits\r\n\r\n## changes to results display\r\n### result not displayed immediately, loaded from hash or user input\r\n![image](https://user-images.githubusercontent.com/1430854/40523026-513fba00-6006-11e8-9b2a-263d5fe29f85.png)\r\nthis single file template is capable of being used with different set of results data.\r\n\r\n### changing display style to make it obvious when grouped by repos\r\n![image](https://user-images.githubusercontent.com/1430854/40522909-abb01936-6005-11e8-9f5b-7a8555783285.png)\r\ncurrently when grouped by repo, it is hard to tell, but this manner of grouping them with a bolded title allows users to identify different repos.","created_at":"2018-05-25T08:58:14Z","updated_at":"2018-06-10T02:02:31Z","closed_at":null,"merged_at":null,"merge_commit_sha":"2e79bbc1607487cd9e3209e1546c64abef1619c1","assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[{"id":920545643,"node_id":"MDU6TGFiZWw5MjA1NDU2NDM=","url":"https://api.github.com/repos/reposense/RepoSense/labels/s.ToReview","name":"s.ToReview","color":"0052cc","default":false}],"milestone":null,"commits_url":"https://api.github.com/repos/reposense/RepoSense/pulls/129/commits","review_comments_url":"https://api.github.com/repos/reposense/RepoSense/pulls/129/comments","review_comment_url":"https://api.github.com/repos/reposense/RepoSense/pulls/comments{/number}","comments_url":"https://api.github.com/repos/reposense/RepoSense/issues/129/comments","statuses_url":"https://api.github.com/repos/reposense/RepoSense/statuses/4db408eaf74989da76dbd5d29f941edc7340be84","head":{"label":"ongspxm:frontend","ref":"frontend","sha":"4db408eaf74989da76dbd5d29f941edc7340be84","user":{"login":"ongspxm","id":1430854,"node_id":"MDQ6VXNlcjE0MzA4NTQ=","avatar_url":"https://avatars0.githubusercontent.com/u/1430854?v=4","gravatar_id":"","url":"https://api.github.com/users/ongspxm","html_url":"https://github.com/ongspxm","followers_url":"https://api.github.com/users/ongspxm/followers","following_url":"https://api.github.com/users/ongspxm/following{/other_user}","gists_url":"https://api.github.com/users/ongspxm/gists{/gist_id}","starred_url":"https://api.github.com/users/ongspxm/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ongspxm/subscriptions","organizations_url":"https://api.github.com/users/ongspxm/orgs","repos_url":"https://api.github.com/users/ongspxm/repos","events_url":"https://api.github.com/users/ongspxm/events{/privacy}","received_events_url":"https://api.github.com/users/ongspxm/received_events","type":"User","site_admin":false},"repo":{"id":133292774,"node_id":"MDEwOlJlcG9zaXRvcnkxMzMyOTI3NzQ=","name":"RepoSense","full_name":"ongspxm/RepoSense","owner":{"login":"ongspxm","id":1430854,"node_id":"MDQ6VXNlcjE0MzA4NTQ=","avatar_url":"https://avatars0.githubusercontent.com/u/1430854?v=4","gravatar_id":"","url":"https://api.github.com/users/ongspxm","html_url":"https://github.com/ongspxm","followers_url":"https://api.github.com/users/ongspxm/followers","following_url":"https://api.github.com/users/ongspxm/following{/other_user}","gists_url":"https://api.github.com/users/ongspxm/gists{/gist_id}","starred_url":"https://api.github.com/users/ongspxm/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ongspxm/subscriptions","organizations_url":"https://api.github.com/users/ongspxm/orgs","repos_url":"https://api.github.com/users/ongspxm/repos","events_url":"https://api.github.com/users/ongspxm/events{/privacy}","received_events_url":"https://api.github.com/users/ongspxm/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/ongspxm/RepoSense","description":"Product demo ","fork":true,"url":"https://api.github.com/repos/ongspxm/RepoSense","forks_url":"https://api.github.com/repos/ongspxm/RepoSense/forks","keys_url":"https://api.github.com/repos/ongspxm/RepoSense/keys{/key_id}","collaborators_url":"https://api.github.com/repos/ongspxm/RepoSense/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/ongspxm/RepoSense/teams","hooks_url":"https://api.github.com/repos/ongspxm/RepoSense/hooks","issue_events_url":"https://api.github.com/repos/ongspxm/RepoSense/issues/events{/number}","events_url":"https://api.github.com/repos/ongspxm/RepoSense/events","assignees_url":"https://api.github.com/repos/ongspxm/RepoSense/assignees{/user}","branches_url":"https://api.github.com/repos/ongspxm/RepoSense/branches{/branch}","tags_url":"https://api.github.com/repos/ongspxm/RepoSense/tags","blobs_url":"https://api.github.com/repos/ongspxm/RepoSense/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/ongspxm/RepoSense/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/ongspxm/RepoSense/git/refs{/sha}","trees_url":"https://api.github.com/repos/ongspxm/RepoSense/git/trees{/sha}","statuses_url":"https://api.github.com/repos/ongspxm/RepoSense/statuses/{sha}","languages_url":"https://api.github.com/repos/ongspxm/RepoSense/languages","stargazers_url":"https://api.github.com/repos/ongspxm/RepoSense/stargazers","contributors_url":"https://api.github.com/repos/ongspxm/RepoSense/contributors","subscribers_url":"https://api.github.com/repos/ongspxm/RepoSense/subscribers","subscription_url":"https://api.github.com/repos/ongspxm/RepoSense/subscription","commits_url":"https://api.github.com/repos/ongspxm/RepoSense/commits{/sha}","git_commits_url":"https://api.github.com/repos/ongspxm/RepoSense/git/commits{/sha}","comments_url":"https://api.github.com/repos/ongspxm/RepoSense/comments{/number}","issue_comment_url":"https://api.github.com/repos/ongspxm/RepoSense/issues/comments{/number}","contents_url":"https://api.github.com/repos/ongspxm/RepoSense/contents/{+path}","compare_url":"https://api.github.com/repos/ongspxm/RepoSense/compare/{base}...{head}","merges_url":"https://api.github.com/repos/ongspxm/RepoSense/merges","archive_url":"https://api.github.com/repos/ongspxm/RepoSense/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/ongspxm/RepoSense/downloads","issues_url":"https://api.github.com/repos/ongspxm/RepoSense/issues{/number}","pulls_url":"https://api.github.com/repos/ongspxm/RepoSense/pulls{/number}","milestones_url":"https://api.github.com/repos/ongspxm/RepoSense/milestones{/number}","notifications_url":"https://api.github.com/repos/ongspxm/RepoSense/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/ongspxm/RepoSense/labels{/name}","releases_url":"https://api.github.com/repos/ongspxm/RepoSense/releases{/id}","deployments_url":"https://api.github.com/repos/ongspxm/RepoSense/deployments","created_at":"2018-05-14T02:08:01Z","updated_at":"2018-06-03T14:55:05Z","pushed_at":"2018-06-10T01:59:46Z","git_url":"git://github.com/ongspxm/RepoSense.git","ssh_url":"git@github.com:ongspxm/RepoSense.git","clone_url":"https://github.com/ongspxm/RepoSense.git","svn_url":"https://github.com/ongspxm/RepoSense","homepage":"https://reposense.github.io/dashboard-demo/","size":8547,"stargazers_count":0,"watchers_count":0,"language":"Java","has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"open_issues_count":1,"license":null,"forks":0,"open_issues":1,"watchers":0,"default_branch":"master"}},"base":{"label":"reposense:master","ref":"master","sha":"b686f101af317bdd361153af72ee0932efa338c0","user":{"login":"reposense","id":38902595,"node_id":"MDEyOk9yZ2FuaXphdGlvbjM4OTAyNTk1","avatar_url":"https://avatars1.githubusercontent.com/u/38902595?v=4","gravatar_id":"","url":"https://api.github.com/users/reposense","html_url":"https://github.com/reposense","followers_url":"https://api.github.com/users/reposense/followers","following_url":"https://api.github.com/users/reposense/following{/other_user}","gists_url":"https://api.github.com/users/reposense/gists{/gist_id}","starred_url":"https://api.github.com/users/reposense/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/reposense/subscriptions","organizations_url":"https://api.github.com/users/reposense/orgs","repos_url":"https://api.github.com/users/reposense/repos","events_url":"https://api.github.com/users/reposense/events{/privacy}","received_events_url":"https://api.github.com/users/reposense/received_events","type":"Organization","site_admin":false},"repo":{"id":92653253,"node_id":"MDEwOlJlcG9zaXRvcnk5MjY1MzI1Mw==","name":"RepoSense","full_name":"reposense/RepoSense","owner":{"login":"reposense","id":38902595,"node_id":"MDEyOk9yZ2FuaXphdGlvbjM4OTAyNTk1","avatar_url":"https://avatars1.githubusercontent.com/u/38902595?v=4","gravatar_id":"","url":"https://api.github.com/users/reposense","html_url":"https://github.com/reposense","followers_url":"https://api.github.com/users/reposense/followers","following_url":"https://api.github.com/users/reposense/following{/other_user}","gists_url":"https://api.github.com/users/reposense/gists{/gist_id}","starred_url":"https://api.github.com/users/reposense/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/reposense/subscriptions","organizations_url":"https://api.github.com/users/reposense/orgs","repos_url":"https://api.github.com/users/reposense/repos","events_url":"https://api.github.com/users/reposense/events{/privacy}","received_events_url":"https://api.github.com/users/reposense/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/reposense/RepoSense","description":"Product demo ","fork":false,"url":"https://api.github.com/repos/reposense/RepoSense","forks_url":"https://api.github.com/repos/reposense/RepoSense/forks","keys_url":"https://api.github.com/repos/reposense/RepoSense/keys{/key_id}","collaborators_url":"https://api.github.com/repos/reposense/RepoSense/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/reposense/RepoSense/teams","hooks_url":"https://api.github.com/repos/reposense/RepoSense/hooks","issue_events_url":"https://api.github.com/repos/reposense/RepoSense/issues/events{/number}","events_url":"https://api.github.com/repos/reposense/RepoSense/events","assignees_url":"https://api.github.com/repos/reposense/RepoSense/assignees{/user}","branches_url":"https://api.github.com/repos/reposense/RepoSense/branches{/branch}","tags_url":"https://api.github.com/repos/reposense/RepoSense/tags","blobs_url":"https://api.github.com/repos/reposense/RepoSense/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/reposense/RepoSense/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/reposense/RepoSense/git/refs{/sha}","trees_url":"https://api.github.com/repos/reposense/RepoSense/git/trees{/sha}","statuses_url":"https://api.github.com/repos/reposense/RepoSense/statuses/{sha}","languages_url":"https://api.github.com/repos/reposense/RepoSense/languages","stargazers_url":"https://api.github.com/repos/reposense/RepoSense/stargazers","contributors_url":"https://api.github.com/repos/reposense/RepoSense/contributors","subscribers_url":"https://api.github.com/repos/reposense/RepoSense/subscribers","subscription_url":"https://api.github.com/repos/reposense/RepoSense/subscription","commits_url":"https://api.github.com/repos/reposense/RepoSense/commits{/sha}","git_commits_url":"https://api.github.com/repos/reposense/RepoSense/git/commits{/sha}","comments_url":"https://api.github.com/repos/reposense/RepoSense/comments{/number}","issue_comment_url":"https://api.github.com/repos/reposense/RepoSense/issues/comments{/number}","contents_url":"https://api.github.com/repos/reposense/RepoSense/contents/{+path}","compare_url":"https://api.github.com/repos/reposense/RepoSense/compare/{base}...{head}","merges_url":"https://api.github.com/repos/reposense/RepoSense/merges","archive_url":"https://api.github.com/repos/reposense/RepoSense/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/reposense/RepoSense/downloads","issues_url":"https://api.github.com/repos/reposense/RepoSense/issues{/number}","pulls_url":"https://api.github.com/repos/reposense/RepoSense/pulls{/number}","milestones_url":"https://api.github.com/repos/reposense/RepoSense/milestones{/number}","notifications_url":"https://api.github.com/repos/reposense/RepoSense/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/reposense/RepoSense/labels{/name}","releases_url":"https://api.github.com/repos/reposense/RepoSense/releases{/id}","deployments_url":"https://api.github.com/repos/reposense/RepoSense/deployments","created_at":"2017-05-28T10:02:08Z","updated_at":"2018-06-09T05:25:41Z","pushed_at":"2018-06-10T01:59:47Z","git_url":"git://github.com/reposense/RepoSense.git","ssh_url":"git@github.com:reposense/RepoSense.git","clone_url":"https://github.com/reposense/RepoSense.git","svn_url":"https://github.com/reposense/RepoSense","homepage":"https://reposense.github.io/dashboard-demo/","size":8483,"stargazers_count":2,"watchers_count":2,"language":"Java","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":7,"mirror_url":null,"archived":false,"open_issues_count":53,"license":null,"forks":7,"open_issues":53,"watchers":2,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/reposense/RepoSense/pulls/129"},"html":{"href":"https://github.com/reposense/RepoSense/pull/129"},"issue":{"href":"https://api.github.com/repos/reposense/RepoSense/issues/129"},"comments":{"href":"https://api.github.com/repos/reposense/RepoSense/issues/129/comments"},"review_comments":{"href":"https://api.github.com/repos/reposense/RepoSense/pulls/129/comments"},"review_comment":{"href":"https://api.github.com/repos/reposense/RepoSense/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/reposense/RepoSense/pulls/129/commits"},"statuses":{"href":"https://api.github.com/repos/reposense/RepoSense/statuses/4db408eaf74989da76dbd5d29f941edc7340be84"}},"author_association":"CONTRIBUTOR"}}
{"actor":{"display_login":"codacy-bot"}}