{"action":"created","comment":{"url":"https://api.github.com/repos/SpineEventEngine/todo-list/pulls/comments/94762350","pull_request_review_id":15297818,"id":94762350,"diff_hunk":"@@ -0,0 +1,305 @@\n+/*\n+ * Copyright 2016, TeamDev Ltd. All rights reserved.\n+ *\n+ * Redistribution and use in source and/or binary forms, with or without\n+ * modification, must retain the above copyright notice and the following\n+ * disclaimer.\n+ *\n+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n+ * \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\n+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\n+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n+ */\n+\n+package org.spine3.examples.todolist.projection;\n+\n+import com.google.protobuf.Timestamp;\n+import org.junit.jupiter.api.BeforeEach;\n+import org.junit.jupiter.api.Test;\n+import org.spine3.examples.todolist.LabelAssignedToTask;\n+import org.spine3.examples.todolist.LabelColor;\n+import org.spine3.examples.todolist.LabelDetailsUpdated;\n+import org.spine3.examples.todolist.LabelRemovedFromTask;\n+import org.spine3.examples.todolist.TaskDeleted;\n+import org.spine3.examples.todolist.TaskDescriptionUpdated;\n+import org.spine3.examples.todolist.TaskDraftCreated;\n+import org.spine3.examples.todolist.TaskDraftFinalized;\n+import org.spine3.examples.todolist.TaskDueDateUpdated;\n+import org.spine3.examples.todolist.TaskId;\n+import org.spine3.examples.todolist.TaskLabelId;\n+import org.spine3.examples.todolist.TaskListId;\n+import org.spine3.examples.todolist.TaskPriority;\n+import org.spine3.examples.todolist.TaskPriorityUpdated;\n+import org.spine3.examples.todolist.view.TaskListView;\n+import org.spine3.examples.todolist.view.TaskView;\n+import org.spine3.protobuf.Timestamps;\n+\n+import java.util.List;\n+\n+import static org.junit.jupiter.api.Assertions.assertEquals;\n+import static org.junit.jupiter.api.Assertions.assertNotEquals;\n+import static org.junit.jupiter.api.Assertions.assertTrue;\n+import static org.spine3.base.Identifiers.newUuid;\n+import static org.spine3.examples.todolist.testdata.TestEventFactory.DESCRIPTION;\n+import static org.spine3.examples.todolist.testdata.TestEventFactory.LABEL_ID;\n+import static org.spine3.examples.todolist.testdata.TestEventFactory.TASK_ID;\n+import static org.spine3.examples.todolist.testdata.TestEventFactory.TASK_PRIORITY;\n+import static org.spine3.examples.todolist.testdata.TestEventFactory.UPDATED_DESCRIPTION;\n+import static org.spine3.examples.todolist.testdata.TestEventFactory.labelAssignedToTaskInstance;\n+import static org.spine3.examples.todolist.testdata.TestEventFactory.labelDetailsUpdatedInstance;\n+import static org.spine3.examples.todolist.testdata.TestEventFactory.labelRemovedFromTaskInstance;\n+import static org.spine3.examples.todolist.testdata.TestEventFactory.taskDeletedInstance;\n+import static org.spine3.examples.todolist.testdata.TestEventFactory.taskDescriptionUpdatedInstance;\n+import static org.spine3.examples.todolist.testdata.TestEventFactory.taskDraftCreatedInstance;\n+import static org.spine3.examples.todolist.testdata.TestEventFactory.taskDraftFinalizedInstance;\n+import static org.spine3.examples.todolist.testdata.TestEventFactory.taskDueDateUpdatedInstance;\n+import static org.spine3.examples.todolist.testdata.TestEventFactory.taskPriorityUpdatedInstance;\n+import static org.spine3.examples.todolist.testdata.TestTaskLabelCommandFactory.UPDATED_LABEL_TITLE;\n+\n+/**\n+ * @author Illia Shepilov\n+ */\n+public class DraftTasksViewProjectionShould {\n+\n+    private static final TaskListId TASK_LIST_ID = TaskListId.newBuilder()\n+                                                             .setValue(newUuid())\n+                                                             .build();\n+    private DraftTasksViewProjection projection;\n+\n+    @BeforeEach\n+    public void setUp() {\n+        projection = new DraftTasksViewProjection(TASK_LIST_ID);\n+    }\n+\n+    @Test\n+    public void add_task_view_to_state_when_task_draft_is_created() {\n+        final TaskDraftCreated taskDraftCreatedEvent = taskDraftCreatedInstance();\n+        final int expectedListSize = 1;\n+        projection.on(taskDraftCreatedEvent);\n+\n+        final TaskListView listView = projection.getState()\n+                                                .getDraftTasks();\n+        assertEquals(expectedListSize, listView.getItemsCount());\n+\n+        final TaskView taskView = listView.getItems(0);\n+\n+        assertEquals(TASK_ID, taskView.getId());\n+        assertEquals(DESCRIPTION, taskView.getDescription());\n+        assertEquals(TASK_PRIORITY, taskView.getPriority());\n+    }\n+\n+    @Test\n+    public void remove_task_view_from_state_when_it_is_finalized() {\n+        final TaskDraftCreated taskDraftCreatedEvent = taskDraftCreatedInstance();\n+        final TaskDraftFinalized taskDraftFinalizedEvent = taskDraftFinalizedInstance();\n+        projection.on(taskDraftCreatedEvent);\n+        projection.on(taskDraftFinalizedEvent);\n+\n+        final List<TaskView> views = projection.getState()\n+                                               .getDraftTasks()\n+                                               .getItemsList();\n+        assertTrue(views.isEmpty());\n+    }\n+\n+    @Test\n+    public void remove_task_view_from_state_when_it_is_deleted() {\n+        final TaskDraftCreated taskDraftCreatedEvent = taskDraftCreatedInstance();\n+        final TaskDeleted taskDeletedEvent = taskDeletedInstance();\n+        projection.on(taskDraftCreatedEvent);\n+        projection.on(taskDeletedEvent);\n+\n+        final List<TaskView> views = projection.getState()\n+                                               .getDraftTasks()\n+                                               .getItemsList();\n+        assertTrue(views.isEmpty());\n+    }\n+\n+    @Test\n+    public void update_task_description_when_handled_event_task_description_updated() {","path":"api-java/src/test/java/org/spine3/examples/todolist/projection/DraftTasksViewProjectionShould.java","position":125,"original_position":125,"commit_id":"39729a2db99e4dea2ab2aef76cec3c47dba265f6","original_commit_id":"39729a2db99e4dea2ab2aef76cec3c47dba265f6","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: [Method names should not contain underscores](https://www.codacy.com/app/SpineEventEngine/todo-list/file/4878455606/issues/source?bid=4047262&fileBranchId=4047265#l125)","created_at":"2017-01-05T12:53:34Z","updated_at":"2017-01-05T12:53:34Z","html_url":"https://github.com/SpineEventEngine/todo-list/pull/2#discussion_r94762350","pull_request_url":"https://api.github.com/repos/SpineEventEngine/todo-list/pulls/2","_links":{"self":{"href":"https://api.github.com/repos/SpineEventEngine/todo-list/pulls/comments/94762350"},"html":{"href":"https://github.com/SpineEventEngine/todo-list/pull/2#discussion_r94762350"},"pull_request":{"href":"https://api.github.com/repos/SpineEventEngine/todo-list/pulls/2"}}},"pull_request":{"url":"https://api.github.com/repos/SpineEventEngine/todo-list/pulls/2","id":97109010,"html_url":"https://github.com/SpineEventEngine/todo-list/pull/2","diff_url":"https://github.com/SpineEventEngine/todo-list/pull/2.diff","patch_url":"https://github.com/SpineEventEngine/todo-list/pull/2.patch","issue_url":"https://api.github.com/repos/SpineEventEngine/todo-list/issues/2","number":2,"state":"open","locked":false,"title":"Projections and aggregates definition","user":{"login":"IlliaShepilov","id":24410839,"avatar_url":"https://avatars.githubusercontent.com/u/24410839?v=3","gravatar_id":"","url":"https://api.github.com/users/IlliaShepilov","html_url":"https://github.com/IlliaShepilov","followers_url":"https://api.github.com/users/IlliaShepilov/followers","following_url":"https://api.github.com/users/IlliaShepilov/following{/other_user}","gists_url":"https://api.github.com/users/IlliaShepilov/gists{/gist_id}","starred_url":"https://api.github.com/users/IlliaShepilov/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/IlliaShepilov/subscriptions","organizations_url":"https://api.github.com/users/IlliaShepilov/orgs","repos_url":"https://api.github.com/users/IlliaShepilov/repos","events_url":"https://api.github.com/users/IlliaShepilov/events{/privacy}","received_events_url":"https://api.github.com/users/IlliaShepilov/received_events","type":"User","site_admin":false},"body":"Summary of changes:\r\n\r\n- Created TaskAggregate\r\n- Implemented tests for TaskAggregate\r\n- Created TaskLabelAggregate\r\n- Implemented tests for TaskLabelAggregate\r\n- Created draft version for Projections \r\n- Projections partially covered by tests","created_at":"2016-12-08T11:59:14Z","updated_at":"2017-01-05T12:53:34Z","closed_at":null,"merged_at":null,"merge_commit_sha":"a20a68547064cb89e9602da5729384fb985b83f0","assignee":{"login":"armiol","id":82468,"avatar_url":"https://avatars.githubusercontent.com/u/82468?v=3","gravatar_id":"","url":"https://api.github.com/users/armiol","html_url":"https://github.com/armiol","followers_url":"https://api.github.com/users/armiol/followers","following_url":"https://api.github.com/users/armiol/following{/other_user}","gists_url":"https://api.github.com/users/armiol/gists{/gist_id}","starred_url":"https://api.github.com/users/armiol/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/armiol/subscriptions","organizations_url":"https://api.github.com/users/armiol/orgs","repos_url":"https://api.github.com/users/armiol/repos","events_url":"https://api.github.com/users/armiol/events{/privacy}","received_events_url":"https://api.github.com/users/armiol/received_events","type":"User","site_admin":false},"assignees":[{"login":"armiol","id":82468,"avatar_url":"https://avatars.githubusercontent.com/u/82468?v=3","gravatar_id":"","url":"https://api.github.com/users/armiol","html_url":"https://github.com/armiol","followers_url":"https://api.github.com/users/armiol/followers","following_url":"https://api.github.com/users/armiol/following{/other_user}","gists_url":"https://api.github.com/users/armiol/gists{/gist_id}","starred_url":"https://api.github.com/users/armiol/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/armiol/subscriptions","organizations_url":"https://api.github.com/users/armiol/orgs","repos_url":"https://api.github.com/users/armiol/repos","events_url":"https://api.github.com/users/armiol/events{/privacy}","received_events_url":"https://api.github.com/users/armiol/received_events","type":"User","site_admin":false}],"milestone":null,"commits_url":"https://api.github.com/repos/SpineEventEngine/todo-list/pulls/2/commits","review_comments_url":"https://api.github.com/repos/SpineEventEngine/todo-list/pulls/2/comments","review_comment_url":"https://api.github.com/repos/SpineEventEngine/todo-list/pulls/comments{/number}","comments_url":"https://api.github.com/repos/SpineEventEngine/todo-list/issues/2/comments","statuses_url":"https://api.github.com/repos/SpineEventEngine/todo-list/statuses/39729a2db99e4dea2ab2aef76cec3c47dba265f6","head":{"label":"SpineEventEngine:projections_and_aggregates_definition","ref":"projections_and_aggregates_definition","sha":"39729a2db99e4dea2ab2aef76cec3c47dba265f6","user":{"login":"SpineEventEngine","id":12821626,"avatar_url":"https://avatars.githubusercontent.com/u/12821626?v=3","gravatar_id":"","url":"https://api.github.com/users/SpineEventEngine","html_url":"https://github.com/SpineEventEngine","followers_url":"https://api.github.com/users/SpineEventEngine/followers","following_url":"https://api.github.com/users/SpineEventEngine/following{/other_user}","gists_url":"https://api.github.com/users/SpineEventEngine/gists{/gist_id}","starred_url":"https://api.github.com/users/SpineEventEngine/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/SpineEventEngine/subscriptions","organizations_url":"https://api.github.com/users/SpineEventEngine/orgs","repos_url":"https://api.github.com/users/SpineEventEngine/repos","events_url":"https://api.github.com/users/SpineEventEngine/events{/privacy}","received_events_url":"https://api.github.com/users/SpineEventEngine/received_events","type":"Organization","site_admin":false},"repo":{"id":75753953,"name":"todo-list","full_name":"SpineEventEngine/todo-list","owner":{"login":"SpineEventEngine","id":12821626,"avatar_url":"https://avatars.githubusercontent.com/u/12821626?v=3","gravatar_id":"","url":"https://api.github.com/users/SpineEventEngine","html_url":"https://github.com/SpineEventEngine","followers_url":"https://api.github.com/users/SpineEventEngine/followers","following_url":"https://api.github.com/users/SpineEventEngine/following{/other_user}","gists_url":"https://api.github.com/users/SpineEventEngine/gists{/gist_id}","starred_url":"https://api.github.com/users/SpineEventEngine/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/SpineEventEngine/subscriptions","organizations_url":"https://api.github.com/users/SpineEventEngine/orgs","repos_url":"https://api.github.com/users/SpineEventEngine/repos","events_url":"https://api.github.com/users/SpineEventEngine/events{/privacy}","received_events_url":"https://api.github.com/users/SpineEventEngine/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/SpineEventEngine/todo-list","description":"ToDo List example application","fork":false,"url":"https://api.github.com/repos/SpineEventEngine/todo-list","forks_url":"https://api.github.com/repos/SpineEventEngine/todo-list/forks","keys_url":"https://api.github.com/repos/SpineEventEngine/todo-list/keys{/key_id}","collaborators_url":"https://api.github.com/repos/SpineEventEngine/todo-list/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/SpineEventEngine/todo-list/teams","hooks_url":"https://api.github.com/repos/SpineEventEngine/todo-list/hooks","issue_events_url":"https://api.github.com/repos/SpineEventEngine/todo-list/issues/events{/number}","events_url":"https://api.github.com/repos/SpineEventEngine/todo-list/events","assignees_url":"https://api.github.com/repos/SpineEventEngine/todo-list/assignees{/user}","branches_url":"https://api.github.com/repos/SpineEventEngine/todo-list/branches{/branch}","tags_url":"https://api.github.com/repos/SpineEventEngine/todo-list/tags","blobs_url":"https://api.github.com/repos/SpineEventEngine/todo-list/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/SpineEventEngine/todo-list/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/SpineEventEngine/todo-list/git/refs{/sha}","trees_url":"https://api.github.com/repos/SpineEventEngine/todo-list/git/trees{/sha}","statuses_url":"https://api.github.com/repos/SpineEventEngine/todo-list/statuses/{sha}","languages_url":"https://api.github.com/repos/SpineEventEngine/todo-list/languages","stargazers_url":"https://api.github.com/repos/SpineEventEngine/todo-list/stargazers","contributors_url":"https://api.github.com/repos/SpineEventEngine/todo-list/contributors","subscribers_url":"https://api.github.com/repos/SpineEventEngine/todo-list/subscribers","subscription_url":"https://api.github.com/repos/SpineEventEngine/todo-list/subscription","commits_url":"https://api.github.com/repos/SpineEventEngine/todo-list/commits{/sha}","git_commits_url":"https://api.github.com/repos/SpineEventEngine/todo-list/git/commits{/sha}","comments_url":"https://api.github.com/repos/SpineEventEngine/todo-list/comments{/number}","issue_comment_url":"https://api.github.com/repos/SpineEventEngine/todo-list/issues/comments{/number}","contents_url":"https://api.github.com/repos/SpineEventEngine/todo-list/contents/{+path}","compare_url":"https://api.github.com/repos/SpineEventEngine/todo-list/compare/{base}...{head}","merges_url":"https://api.github.com/repos/SpineEventEngine/todo-list/merges","archive_url":"https://api.github.com/repos/SpineEventEngine/todo-list/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/SpineEventEngine/todo-list/downloads","issues_url":"https://api.github.com/repos/SpineEventEngine/todo-list/issues{/number}","pulls_url":"https://api.github.com/repos/SpineEventEngine/todo-list/pulls{/number}","milestones_url":"https://api.github.com/repos/SpineEventEngine/todo-list/milestones{/number}","notifications_url":"https://api.github.com/repos/SpineEventEngine/todo-list/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/SpineEventEngine/todo-list/labels{/name}","releases_url":"https://api.github.com/repos/SpineEventEngine/todo-list/releases{/id}","deployments_url":"https://api.github.com/repos/SpineEventEngine/todo-list/deployments","created_at":"2016-12-06T17:17:33Z","updated_at":"2016-12-07T10:00:53Z","pushed_at":"2017-01-05T12:50:05Z","git_url":"git://github.com/SpineEventEngine/todo-list.git","ssh_url":"git@github.com:SpineEventEngine/todo-list.git","clone_url":"https://github.com/SpineEventEngine/todo-list.git","svn_url":"https://github.com/SpineEventEngine/todo-list","homepage":null,"size":369,"stargazers_count":0,"watchers_count":0,"language":"Protocol Buffer","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":1,"mirror_url":null,"open_issues_count":2,"forks":1,"open_issues":2,"watchers":0,"default_branch":"master"}},"base":{"label":"SpineEventEngine:master","ref":"master","sha":"689c2a61aea5d3e4cc1cb270f3a4ffb0a1222f4b","user":{"login":"SpineEventEngine","id":12821626,"avatar_url":"https://avatars.githubusercontent.com/u/12821626?v=3","gravatar_id":"","url":"https://api.github.com/users/SpineEventEngine","html_url":"https://github.com/SpineEventEngine","followers_url":"https://api.github.com/users/SpineEventEngine/followers","following_url":"https://api.github.com/users/SpineEventEngine/following{/other_user}","gists_url":"https://api.github.com/users/SpineEventEngine/gists{/gist_id}","starred_url":"https://api.github.com/users/SpineEventEngine/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/SpineEventEngine/subscriptions","organizations_url":"https://api.github.com/users/SpineEventEngine/orgs","repos_url":"https://api.github.com/users/SpineEventEngine/repos","events_url":"https://api.github.com/users/SpineEventEngine/events{/privacy}","received_events_url":"https://api.github.com/users/SpineEventEngine/received_events","type":"Organization","site_admin":false},"repo":{"id":75753953,"name":"todo-list","full_name":"SpineEventEngine/todo-list","owner":{"login":"SpineEventEngine","id":12821626,"avatar_url":"https://avatars.githubusercontent.com/u/12821626?v=3","gravatar_id":"","url":"https://api.github.com/users/SpineEventEngine","html_url":"https://github.com/SpineEventEngine","followers_url":"https://api.github.com/users/SpineEventEngine/followers","following_url":"https://api.github.com/users/SpineEventEngine/following{/other_user}","gists_url":"https://api.github.com/users/SpineEventEngine/gists{/gist_id}","starred_url":"https://api.github.com/users/SpineEventEngine/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/SpineEventEngine/subscriptions","organizations_url":"https://api.github.com/users/SpineEventEngine/orgs","repos_url":"https://api.github.com/users/SpineEventEngine/repos","events_url":"https://api.github.com/users/SpineEventEngine/events{/privacy}","received_events_url":"https://api.github.com/users/SpineEventEngine/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/SpineEventEngine/todo-list","description":"ToDo List example application","fork":false,"url":"https://api.github.com/repos/SpineEventEngine/todo-list","forks_url":"https://api.github.com/repos/SpineEventEngine/todo-list/forks","keys_url":"https://api.github.com/repos/SpineEventEngine/todo-list/keys{/key_id}","collaborators_url":"https://api.github.com/repos/SpineEventEngine/todo-list/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/SpineEventEngine/todo-list/teams","hooks_url":"https://api.github.com/repos/SpineEventEngine/todo-list/hooks","issue_events_url":"https://api.github.com/repos/SpineEventEngine/todo-list/issues/events{/number}","events_url":"https://api.github.com/repos/SpineEventEngine/todo-list/events","assignees_url":"https://api.github.com/repos/SpineEventEngine/todo-list/assignees{/user}","branches_url":"https://api.github.com/repos/SpineEventEngine/todo-list/branches{/branch}","tags_url":"https://api.github.com/repos/SpineEventEngine/todo-list/tags","blobs_url":"https://api.github.com/repos/SpineEventEngine/todo-list/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/SpineEventEngine/todo-list/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/SpineEventEngine/todo-list/git/refs{/sha}","trees_url":"https://api.github.com/repos/SpineEventEngine/todo-list/git/trees{/sha}","statuses_url":"https://api.github.com/repos/SpineEventEngine/todo-list/statuses/{sha}","languages_url":"https://api.github.com/repos/SpineEventEngine/todo-list/languages","stargazers_url":"https://api.github.com/repos/SpineEventEngine/todo-list/stargazers","contributors_url":"https://api.github.com/repos/SpineEventEngine/todo-list/contributors","subscribers_url":"https://api.github.com/repos/SpineEventEngine/todo-list/subscribers","subscription_url":"https://api.github.com/repos/SpineEventEngine/todo-list/subscription","commits_url":"https://api.github.com/repos/SpineEventEngine/todo-list/commits{/sha}","git_commits_url":"https://api.github.com/repos/SpineEventEngine/todo-list/git/commits{/sha}","comments_url":"https://api.github.com/repos/SpineEventEngine/todo-list/comments{/number}","issue_comment_url":"https://api.github.com/repos/SpineEventEngine/todo-list/issues/comments{/number}","contents_url":"https://api.github.com/repos/SpineEventEngine/todo-list/contents/{+path}","compare_url":"https://api.github.com/repos/SpineEventEngine/todo-list/compare/{base}...{head}","merges_url":"https://api.github.com/repos/SpineEventEngine/todo-list/merges","archive_url":"https://api.github.com/repos/SpineEventEngine/todo-list/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/SpineEventEngine/todo-list/downloads","issues_url":"https://api.github.com/repos/SpineEventEngine/todo-list/issues{/number}","pulls_url":"https://api.github.com/repos/SpineEventEngine/todo-list/pulls{/number}","milestones_url":"https://api.github.com/repos/SpineEventEngine/todo-list/milestones{/number}","notifications_url":"https://api.github.com/repos/SpineEventEngine/todo-list/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/SpineEventEngine/todo-list/labels{/name}","releases_url":"https://api.github.com/repos/SpineEventEngine/todo-list/releases{/id}","deployments_url":"https://api.github.com/repos/SpineEventEngine/todo-list/deployments","created_at":"2016-12-06T17:17:33Z","updated_at":"2016-12-07T10:00:53Z","pushed_at":"2017-01-05T12:50:05Z","git_url":"git://github.com/SpineEventEngine/todo-list.git","ssh_url":"git@github.com:SpineEventEngine/todo-list.git","clone_url":"https://github.com/SpineEventEngine/todo-list.git","svn_url":"https://github.com/SpineEventEngine/todo-list","homepage":null,"size":369,"stargazers_count":0,"watchers_count":0,"language":"Protocol Buffer","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":1,"mirror_url":null,"open_issues_count":2,"forks":1,"open_issues":2,"watchers":0,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/SpineEventEngine/todo-list/pulls/2"},"html":{"href":"https://github.com/SpineEventEngine/todo-list/pull/2"},"issue":{"href":"https://api.github.com/repos/SpineEventEngine/todo-list/issues/2"},"comments":{"href":"https://api.github.com/repos/SpineEventEngine/todo-list/issues/2/comments"},"review_comments":{"href":"https://api.github.com/repos/SpineEventEngine/todo-list/pulls/2/comments"},"review_comment":{"href":"https://api.github.com/repos/SpineEventEngine/todo-list/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/SpineEventEngine/todo-list/pulls/2/commits"},"statuses":{"href":"https://api.github.com/repos/SpineEventEngine/todo-list/statuses/39729a2db99e4dea2ab2aef76cec3c47dba265f6"}}}}
{"actor":{"display_login":"codacy-bot"}}