{"action":"created","comment":{"url":"https://api.github.com/repos/moysklad/java-remap-sdk/pulls/comments/240901187","pull_request_review_id":184035890,"id":240901187,"node_id":"MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDI0MDkwMTE4Nw==","diff_hunk":"@@ -0,0 +1,298 @@\n+package com.lognex.api.entities;\n+\n+import com.lognex.api.LognexApi;\n+import com.lognex.api.entities.agents.CounterpartyEntity;\n+import com.lognex.api.entities.agents.EmployeeEntity;\n+import com.lognex.api.responses.ListEntity;\n+import com.lognex.api.utils.LognexApiException;\n+import com.lognex.api.utils.MockHttpClient;\n+import com.lognex.api.utils.TestAsserts;\n+import com.lognex.api.utils.TestRandomizers;\n+import com.lognex.api.utils.params.FilterParam;\n+import com.lognex.api.utils.params.OrderParam;\n+import org.apache.commons.lang3.tuple.Pair;\n+import org.apache.http.RequestLine;\n+import org.junit.Before;\n+import org.junit.Test;\n+\n+import java.io.IOException;\n+import java.net.URLEncoder;\n+import java.time.LocalDateTime;\n+import java.util.Arrays;\n+import java.util.Date;\n+\n+import static com.lognex.api.utils.params.ExpandParam.expand;\n+import static com.lognex.api.utils.params.FilterParam.filter;\n+import static com.lognex.api.utils.params.FilterParam.filterEq;\n+import static com.lognex.api.utils.params.LimitParam.limit;\n+import static com.lognex.api.utils.params.OffsetParam.offset;\n+import static com.lognex.api.utils.params.OrderParam.order;\n+import static org.junit.Assert.*;\n+\n+public class TaskEntityTest implements TestRandomizers, TestAsserts {\n+    private LognexApi api, mockApi;\n+    private MockHttpClient mockHttpClient;\n+\n+    @Before\n+    public void init() {\n+        api = new LognexApi(\n+                System.getenv(\"API_HOST\"),\n+                true, System.getenv(\"API_LOGIN\"),\n+                System.getenv(\"API_PASSWORD\")\n+        );\n+\n+        mockHttpClient = new MockHttpClient();\n+        mockApi = new LognexApi(\"test.moysklad\", true, \"[API_LOGIN]\", \"[API_PASSWORD]\", mockHttpClient);\n+    }\n+\n+    @Test\n+    public void createTest() throws IOException, LognexApiException {\n+        EmployeeEntity adminEmpl = api.entity().employee().get(filterEq(\"name\", \"Администратор\")).getRows().get(0);\n+        CounterpartyEntity buyerAgent = api.entity().counterparty().get(filterEq(\"name\", \"ООО \\\"Покупатель\\\"\")).getRows().get(0);\n+        LocalDateTime dueDate = LocalDateTime.now().plusMonths(1).withSecond(0).withNano(0);\n+\n+        TaskEntity e = new TaskEntity();\n+        e.setDescription(\"task_\" + randomString(3) + \"_\" + new Date().getTime());\n+        e.setAssignee(adminEmpl);\n+        e.setAgent(buyerAgent);\n+        e.setDueToDate(dueDate);\n+        api.entity().task().post(e);\n+\n+        ListEntity<TaskEntity> updatedEntitiesList = api.entity().task().get(filterEq(\"description\", e.getDescription()));\n+        assertEquals(1, updatedEntitiesList.getRows().size());\n+\n+        TaskEntity retrievedEntity = updatedEntitiesList.getRows().get(0);\n+        assertEquals(adminEmpl.getMeta().getHref(), retrievedEntity.getAuthor().getMeta().getHref());\n+        assertEquals(adminEmpl.getMeta().getHref(), retrievedEntity.getAssignee().getMeta().getHref());\n+        assertEquals(buyerAgent.getMeta().getHref(), retrievedEntity.getAgent().getMeta().getHref());\n+        assertEquals(dueDate, retrievedEntity.getDueToDate());\n+        assertEquals((Integer) 0, retrievedEntity.getVersion());\n+        assertEquals(retrievedEntity.getCreated(), retrievedEntity.getUpdated());\n+        assertFalse(retrievedEntity.getDone());\n+    }\n+\n+    @Test\n+    public void getByIdTest() throws IOException, LognexApiException {\n+        TaskEntity e = createSimpleTask();\n+\n+        TaskEntity retrievedEntity = api.entity().task().get(e.getId());\n+\n+        getAsserts(e, retrievedEntity);\n+    }\n+\n+    @Test\n+    public void getEntityTest() throws IOException, LognexApiException {\n+        TaskEntity e = createSimpleTask();\n+        TaskEntity retrievedEntity = api.entity().task().get(e);\n+        getAsserts(e, retrievedEntity);\n+    }\n+\n+    @Test\n+    public void putByIdTest() throws IOException, LognexApiException, InterruptedException {\n+        TaskEntity e = createSimpleTask();\n+\n+        TaskEntity retrievedOriginalEntity = api.entity().task().get(e.getId());\n+\n+        LocalDateTime dueDate = LocalDateTime.now().plusMonths(1).withSecond(0).withNano(0);\n+        e.setDueToDate(dueDate);\n+        e.setDone(true);\n+\n+        Thread.sleep(1500);\n+        api.entity().task().put(e.getId(), e);\n+        putAsserts(e, retrievedOriginalEntity, dueDate);\n+    }\n+\n+    @Test\n+    public void putEntityTest() throws IOException, LognexApiException, InterruptedException {\n+        TaskEntity e = createSimpleTask();\n+\n+        TaskEntity retrievedOriginalEntity = api.entity().task().get(e.getId());\n+\n+        LocalDateTime dueDate = LocalDateTime.now().plusMonths(1).withSecond(0).withNano(0);\n+        e.setDueToDate(dueDate);\n+        e.setDone(true);\n+\n+        Thread.sleep(1500);\n+        api.entity().task().put(e);\n+        putAsserts(e, retrievedOriginalEntity, dueDate);\n+    }\n+\n+    @Test\n+    public void deleteByIdTest() throws IOException, LognexApiException {\n+        TaskEntity e = createSimpleTask();\n+\n+        int oldCount = api.entity().task().get().getMeta().getSize();\n+        assertEquals(1, api.entity().task().get(filterEq(\"description\", e.getDescription())).getRows().size());\n+\n+        api.entity().task().delete(e.getId());\n+\n+        int newCount = api.entity().task().get().getMeta().getSize();\n+        assertEquals(oldCount - 1, newCount);\n+        assertEquals(0, api.entity().task().get(filterEq(\"description\", e.getDescription())).getRows().size());\n+    }\n+\n+    @Test\n+    public void deleteEntityTest() throws IOException, LognexApiException {\n+        TaskEntity e = createSimpleTask();\n+\n+        int oldCount = api.entity().task().get().getMeta().getSize();\n+        assertEquals(1, api.entity().task().get(filterEq(\"description\", e.getDescription())).getRows().size());\n+\n+        api.entity().task().delete(e);\n+\n+        int newCount = api.entity().task().get().getMeta().getSize();\n+        assertEquals(oldCount - 1, newCount);\n+        assertEquals(0, api.entity().task().get(filterEq(\"description\", e.getDescription())).getRows().size());\n+    }\n+\n+    @Test\n+    public void offsetTest() throws IOException, LognexApiException {\n+        int value = randomInteger(1, 100);\n+        mockApi.entity().task().get(offset(value));\n+\n+        RequestLine rl = mockHttpClient.getLastExecutedRequest().getRequestLine();\n+        assertEquals(\"GET\", rl.getMethod());\n+        assertEquals(\"https://test.moysklad/api/remap/1.1/entity/task/?offset=\" + value, rl.getUri());\n+    }\n+\n+    @Test\n+    public void limitTest() throws IOException, LognexApiException {\n+        int value = randomInteger(1, 100);\n+        mockApi.entity().task().get(limit(value));\n+\n+        RequestLine rl = mockHttpClient.getLastExecutedRequest().getRequestLine();\n+        assertEquals(\"GET\", rl.getMethod());\n+        assertEquals(\"https://test.moysklad/api/remap/1.1/entity/task/?limit=\" + value, rl.getUri());\n+    }\n+\n+    @Test\n+    public void expandOrderFilterTest() throws IOException, LognexApiException {\n+        {\n+            String value = randomString();\n+            mockApi.entity().task().get(expand(value));\n+\n+            RequestLine rl = mockHttpClient.getLastExecutedRequest().getRequestLine();\n+            assertEquals(\"GET\", rl.getMethod());\n+            assertEquals(\"https://test.moysklad/api/remap/1.1/entity/task/?expand=\" + value, rl.getUri());\n+        }\n+\n+        {\n+            String value = randomString();\n+            OrderParam.Direction dir = randomEnumGeneric(OrderParam.Direction.class);\n+            mockApi.entity().task().get(order(value, dir));\n+\n+            RequestLine rl = mockHttpClient.getLastExecutedRequest().getRequestLine();\n+            assertEquals(\"GET\", rl.getMethod());\n+            assertEquals(\n+                    \"https://test.moysklad/api/remap/1.1/entity/task/?order=\" +\n+                            URLEncoder.encode(value + \",\" + dir.name(), \"UTF-8\"),\n+                    rl.getUri()\n+            );\n+        }\n+\n+        {\n+            String key = randomString();\n+            FilterParam.FilterType op = randomEnumGeneric(FilterParam.FilterType.class);\n+            String value = randomString();\n+            mockApi.entity().task().get(filter(key, op, value));\n+\n+            RequestLine rl = mockHttpClient.getLastExecutedRequest().getRequestLine();\n+            assertEquals(\"GET\", rl.getMethod());\n+            assertEquals(\n+                    \"https://test.moysklad/api/remap/1.1/entity/task/?filter=\" +\n+                            URLEncoder.encode(key + op.getStr() + value, \"UTF-8\"),\n+                    rl.getUri()\n+            );\n+        }\n+\n+\n+        {\n+            String expandValue = randomString();\n+            String orderValue = randomString();\n+            OrderParam.Direction orderDir = randomEnumGeneric(OrderParam.Direction.class);\n+            String filterKey = randomString();\n+            FilterParam.FilterType filterOp = randomEnumGeneric(FilterParam.FilterType.class);\n+            String filterValue = randomString();\n+\n+            mockApi.entity().task().get(\n+                    expand(expandValue),\n+                    order(orderValue, orderDir),\n+                    filter(filterKey, filterOp, filterValue)\n+            );\n+\n+            RequestLine rl = mockHttpClient.getLastExecutedRequest().getRequestLine();\n+            assertEquals(\"GET\", rl.getMethod());\n+            assertEquals(\n+                    \"https://test.moysklad/api/remap/1.1/entity/task/?filter=\" +\n+                            URLEncoder.encode(filterKey + filterOp.getStr() + filterValue, \"UTF-8\") + \"&\" +\n+                            \"expand=\" + expandValue + \"&\" +\n+                            \"order=\" + URLEncoder.encode(orderValue + \",\" + orderDir.name(), \"UTF-8\"),\n+                    rl.getUri()\n+            );\n+        }\n+    }\n+\n+    @Test\n+    public void errorTest() throws IOException {\n+        try {\n+            TaskEntity e = new TaskEntity();\n+            api.entity().task().post(e);\n+            fail(\"Ожидалось исключение\");\n+        } catch (LognexApiException e) {\n+            assertApiError(\n+                    e, 412,\n+                    Arrays.asList(\n+                            Pair.of(3000, \"Ошибка сохранения объекта: поле 'description' не может быть пустым или отсутствовать\"),\n+                            Pair.of(3000, \"Ошибка сохранения объекта: поле 'assignee' не может быть пустым или отсутствовать\")\n+                    )\n+            );\n+        }\n+\n+        try {\n+            TaskEntity e = new TaskEntity();\n+            e.setDescription(randomString());\n+            api.entity().task().post(e);\n+            fail(\"Ожидалось исключение\");\n+        } catch (LognexApiException e) {\n+            assertApiError(\n+                    e, 412,\n+                    3000, \"Ошибка сохранения объекта: поле 'assignee' не может быть пустым или отсутствовать\"\n+            );\n+        }\n+    }\n+\n+    private void getAsserts(TaskEntity e, TaskEntity retrievedEntity) {\n+        assertEquals(e.getId(), retrievedEntity.getId());\n+        assertEquals(e.getDescription(), retrievedEntity.getDescription());\n+        assertEquals(e.getCreated(), retrievedEntity.getCreated());\n+        assertEquals(e.getUpdated(), retrievedEntity.getUpdated());\n+        assertEquals(e.getAuthor().getMeta().getHref(), retrievedEntity.getAuthor().getMeta().getHref());\n+        assertEquals(e.getAssignee().getMeta().getHref(), retrievedEntity.getAssignee().getMeta().getHref());\n+        assertNull(retrievedEntity.getAgent());\n+        assertNull(retrievedEntity.getDueToDate());\n+    }\n+\n+    private void putAsserts(TaskEntity e, TaskEntity retrievedOriginalEntity, LocalDateTime dueDate) throws IOException, LognexApiException {\n+        TaskEntity retrievedUpdatedEntity = api.entity().task().get(e.getId());\n+\n+        assertEquals(retrievedOriginalEntity.getId(), retrievedUpdatedEntity.getId());\n+        assertEquals(retrievedOriginalEntity.getDescription(), retrievedUpdatedEntity.getDescription());\n+        assertEquals(retrievedOriginalEntity.getCreated(), retrievedUpdatedEntity.getCreated());\n+        assertNotEquals(retrievedOriginalEntity.getUpdated(), retrievedUpdatedEntity.getUpdated());\n+        assertEquals(retrievedOriginalEntity.getAuthor().getMeta().getHref(), retrievedUpdatedEntity.getAuthor().getMeta().getHref());\n+        assertEquals(retrievedOriginalEntity.getAssignee().getMeta().getHref(), retrievedUpdatedEntity.getAssignee().getMeta().getHref());\n+        assertNull(retrievedOriginalEntity.getDueToDate());\n+        assertEquals(dueDate, retrievedUpdatedEntity.getDueToDate());\n+        assertNotEquals(retrievedOriginalEntity.getDone(), retrievedUpdatedEntity.getDone());\n+    }\n+\n+    private TaskEntity createSimpleTask() throws IOException, LognexApiException {","path":"src/test/java/com/lognex/api/entities/TaskEntityTest.java","position":269,"original_position":289,"commit_id":"7e5b5b80b1c20eeae96ecab720b05b8f95182835","original_commit_id":"5542b5d2eab4aad81bd955d39a9c8e7c266e5654","user":{"login":"ipivkin","id":1166604,"node_id":"MDQ6VXNlcjExNjY2MDQ=","avatar_url":"https://avatars2.githubusercontent.com/u/1166604?v=4","gravatar_id":"","url":"https://api.github.com/users/ipivkin","html_url":"https://github.com/ipivkin","followers_url":"https://api.github.com/users/ipivkin/followers","following_url":"https://api.github.com/users/ipivkin/following{/other_user}","gists_url":"https://api.github.com/users/ipivkin/gists{/gist_id}","starred_url":"https://api.github.com/users/ipivkin/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ipivkin/subscriptions","organizations_url":"https://api.github.com/users/ipivkin/orgs","repos_url":"https://api.github.com/users/ipivkin/repos","events_url":"https://api.github.com/users/ipivkin/events{/privacy}","received_events_url":"https://api.github.com/users/ipivkin/received_events","type":"User","site_admin":false},"body":"Ок","created_at":"2018-12-12T07:08:24Z","updated_at":"2018-12-12T07:08:24Z","html_url":"https://github.com/moysklad/java-remap-sdk/pull/32#discussion_r240901187","pull_request_url":"https://api.github.com/repos/moysklad/java-remap-sdk/pulls/32","author_association":"CONTRIBUTOR","_links":{"self":{"href":"https://api.github.com/repos/moysklad/java-remap-sdk/pulls/comments/240901187"},"html":{"href":"https://github.com/moysklad/java-remap-sdk/pull/32#discussion_r240901187"},"pull_request":{"href":"https://api.github.com/repos/moysklad/java-remap-sdk/pulls/32"}},"in_reply_to_id":240630480},"pull_request":{"url":"https://api.github.com/repos/moysklad/java-remap-sdk/pulls/32","id":237330644,"node_id":"MDExOlB1bGxSZXF1ZXN0MjM3MzMwNjQ0","html_url":"https://github.com/moysklad/java-remap-sdk/pull/32","diff_url":"https://github.com/moysklad/java-remap-sdk/pull/32.diff","patch_url":"https://github.com/moysklad/java-remap-sdk/pull/32.patch","issue_url":"https://api.github.com/repos/moysklad/java-remap-sdk/issues/32","number":32,"state":"open","locked":false,"title":"Добавление функционала для работы с задачами (/entity/task/)","user":{"login":"mzaynutdinov","id":25902153,"node_id":"MDQ6VXNlcjI1OTAyMTUz","avatar_url":"https://avatars1.githubusercontent.com/u/25902153?v=4","gravatar_id":"","url":"https://api.github.com/users/mzaynutdinov","html_url":"https://github.com/mzaynutdinov","followers_url":"https://api.github.com/users/mzaynutdinov/followers","following_url":"https://api.github.com/users/mzaynutdinov/following{/other_user}","gists_url":"https://api.github.com/users/mzaynutdinov/gists{/gist_id}","starred_url":"https://api.github.com/users/mzaynutdinov/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mzaynutdinov/subscriptions","organizations_url":"https://api.github.com/users/mzaynutdinov/orgs","repos_url":"https://api.github.com/users/mzaynutdinov/repos","events_url":"https://api.github.com/users/mzaynutdinov/events{/privacy}","received_events_url":"https://api.github.com/users/mzaynutdinov/received_events","type":"User","site_admin":false},"body":"","created_at":"2018-12-10T14:02:15Z","updated_at":"2018-12-12T07:08:24Z","closed_at":null,"merged_at":null,"merge_commit_sha":"9c7202e86426dad8a7235255116872c37058a8c2","assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[],"milestone":null,"commits_url":"https://api.github.com/repos/moysklad/java-remap-sdk/pulls/32/commits","review_comments_url":"https://api.github.com/repos/moysklad/java-remap-sdk/pulls/32/comments","review_comment_url":"https://api.github.com/repos/moysklad/java-remap-sdk/pulls/comments{/number}","comments_url":"https://api.github.com/repos/moysklad/java-remap-sdk/issues/32/comments","statuses_url":"https://api.github.com/repos/moysklad/java-remap-sdk/statuses/7e5b5b80b1c20eeae96ecab720b05b8f95182835","head":{"label":"moysklad:UT-372","ref":"UT-372","sha":"7e5b5b80b1c20eeae96ecab720b05b8f95182835","user":{"login":"moysklad","id":28049156,"node_id":"MDEyOk9yZ2FuaXphdGlvbjI4MDQ5MTU2","avatar_url":"https://avatars2.githubusercontent.com/u/28049156?v=4","gravatar_id":"","url":"https://api.github.com/users/moysklad","html_url":"https://github.com/moysklad","followers_url":"https://api.github.com/users/moysklad/followers","following_url":"https://api.github.com/users/moysklad/following{/other_user}","gists_url":"https://api.github.com/users/moysklad/gists{/gist_id}","starred_url":"https://api.github.com/users/moysklad/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/moysklad/subscriptions","organizations_url":"https://api.github.com/users/moysklad/orgs","repos_url":"https://api.github.com/users/moysklad/repos","events_url":"https://api.github.com/users/moysklad/events{/privacy}","received_events_url":"https://api.github.com/users/moysklad/received_events","type":"Organization","site_admin":false},"repo":{"id":102586831,"node_id":"MDEwOlJlcG9zaXRvcnkxMDI1ODY4MzE=","name":"java-remap-sdk","full_name":"moysklad/java-remap-sdk","private":false,"owner":{"login":"moysklad","id":28049156,"node_id":"MDEyOk9yZ2FuaXphdGlvbjI4MDQ5MTU2","avatar_url":"https://avatars2.githubusercontent.com/u/28049156?v=4","gravatar_id":"","url":"https://api.github.com/users/moysklad","html_url":"https://github.com/moysklad","followers_url":"https://api.github.com/users/moysklad/followers","following_url":"https://api.github.com/users/moysklad/following{/other_user}","gists_url":"https://api.github.com/users/moysklad/gists{/gist_id}","starred_url":"https://api.github.com/users/moysklad/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/moysklad/subscriptions","organizations_url":"https://api.github.com/users/moysklad/orgs","repos_url":"https://api.github.com/users/moysklad/repos","events_url":"https://api.github.com/users/moysklad/events{/privacy}","received_events_url":"https://api.github.com/users/moysklad/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/moysklad/java-remap-sdk","description":"Клиент к JSON API сервиса МойСклад. ","fork":false,"url":"https://api.github.com/repos/moysklad/java-remap-sdk","forks_url":"https://api.github.com/repos/moysklad/java-remap-sdk/forks","keys_url":"https://api.github.com/repos/moysklad/java-remap-sdk/keys{/key_id}","collaborators_url":"https://api.github.com/repos/moysklad/java-remap-sdk/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/moysklad/java-remap-sdk/teams","hooks_url":"https://api.github.com/repos/moysklad/java-remap-sdk/hooks","issue_events_url":"https://api.github.com/repos/moysklad/java-remap-sdk/issues/events{/number}","events_url":"https://api.github.com/repos/moysklad/java-remap-sdk/events","assignees_url":"https://api.github.com/repos/moysklad/java-remap-sdk/assignees{/user}","branches_url":"https://api.github.com/repos/moysklad/java-remap-sdk/branches{/branch}","tags_url":"https://api.github.com/repos/moysklad/java-remap-sdk/tags","blobs_url":"https://api.github.com/repos/moysklad/java-remap-sdk/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/moysklad/java-remap-sdk/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/moysklad/java-remap-sdk/git/refs{/sha}","trees_url":"https://api.github.com/repos/moysklad/java-remap-sdk/git/trees{/sha}","statuses_url":"https://api.github.com/repos/moysklad/java-remap-sdk/statuses/{sha}","languages_url":"https://api.github.com/repos/moysklad/java-remap-sdk/languages","stargazers_url":"https://api.github.com/repos/moysklad/java-remap-sdk/stargazers","contributors_url":"https://api.github.com/repos/moysklad/java-remap-sdk/contributors","subscribers_url":"https://api.github.com/repos/moysklad/java-remap-sdk/subscribers","subscription_url":"https://api.github.com/repos/moysklad/java-remap-sdk/subscription","commits_url":"https://api.github.com/repos/moysklad/java-remap-sdk/commits{/sha}","git_commits_url":"https://api.github.com/repos/moysklad/java-remap-sdk/git/commits{/sha}","comments_url":"https://api.github.com/repos/moysklad/java-remap-sdk/comments{/number}","issue_comment_url":"https://api.github.com/repos/moysklad/java-remap-sdk/issues/comments{/number}","contents_url":"https://api.github.com/repos/moysklad/java-remap-sdk/contents/{+path}","compare_url":"https://api.github.com/repos/moysklad/java-remap-sdk/compare/{base}...{head}","merges_url":"https://api.github.com/repos/moysklad/java-remap-sdk/merges","archive_url":"https://api.github.com/repos/moysklad/java-remap-sdk/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/moysklad/java-remap-sdk/downloads","issues_url":"https://api.github.com/repos/moysklad/java-remap-sdk/issues{/number}","pulls_url":"https://api.github.com/repos/moysklad/java-remap-sdk/pulls{/number}","milestones_url":"https://api.github.com/repos/moysklad/java-remap-sdk/milestones{/number}","notifications_url":"https://api.github.com/repos/moysklad/java-remap-sdk/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/moysklad/java-remap-sdk/labels{/name}","releases_url":"https://api.github.com/repos/moysklad/java-remap-sdk/releases{/id}","deployments_url":"https://api.github.com/repos/moysklad/java-remap-sdk/deployments","created_at":"2017-09-06T09:00:11Z","updated_at":"2018-12-03T12:26:11Z","pushed_at":"2018-12-11T14:45:02Z","git_url":"git://github.com/moysklad/java-remap-sdk.git","ssh_url":"git@github.com:moysklad/java-remap-sdk.git","clone_url":"https://github.com/moysklad/java-remap-sdk.git","svn_url":"https://github.com/moysklad/java-remap-sdk","homepage":"","size":577,"stargazers_count":7,"watchers_count":7,"language":"Java","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":2,"mirror_url":null,"archived":false,"open_issues_count":1,"license":null,"forks":2,"open_issues":1,"watchers":7,"default_branch":"master"}},"base":{"label":"moysklad:master","ref":"master","sha":"3eaf2fc939c556ca45d08fbc4863aa8acd85beb8","user":{"login":"moysklad","id":28049156,"node_id":"MDEyOk9yZ2FuaXphdGlvbjI4MDQ5MTU2","avatar_url":"https://avatars2.githubusercontent.com/u/28049156?v=4","gravatar_id":"","url":"https://api.github.com/users/moysklad","html_url":"https://github.com/moysklad","followers_url":"https://api.github.com/users/moysklad/followers","following_url":"https://api.github.com/users/moysklad/following{/other_user}","gists_url":"https://api.github.com/users/moysklad/gists{/gist_id}","starred_url":"https://api.github.com/users/moysklad/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/moysklad/subscriptions","organizations_url":"https://api.github.com/users/moysklad/orgs","repos_url":"https://api.github.com/users/moysklad/repos","events_url":"https://api.github.com/users/moysklad/events{/privacy}","received_events_url":"https://api.github.com/users/moysklad/received_events","type":"Organization","site_admin":false},"repo":{"id":102586831,"node_id":"MDEwOlJlcG9zaXRvcnkxMDI1ODY4MzE=","name":"java-remap-sdk","full_name":"moysklad/java-remap-sdk","private":false,"owner":{"login":"moysklad","id":28049156,"node_id":"MDEyOk9yZ2FuaXphdGlvbjI4MDQ5MTU2","avatar_url":"https://avatars2.githubusercontent.com/u/28049156?v=4","gravatar_id":"","url":"https://api.github.com/users/moysklad","html_url":"https://github.com/moysklad","followers_url":"https://api.github.com/users/moysklad/followers","following_url":"https://api.github.com/users/moysklad/following{/other_user}","gists_url":"https://api.github.com/users/moysklad/gists{/gist_id}","starred_url":"https://api.github.com/users/moysklad/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/moysklad/subscriptions","organizations_url":"https://api.github.com/users/moysklad/orgs","repos_url":"https://api.github.com/users/moysklad/repos","events_url":"https://api.github.com/users/moysklad/events{/privacy}","received_events_url":"https://api.github.com/users/moysklad/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/moysklad/java-remap-sdk","description":"Клиент к JSON API сервиса МойСклад. ","fork":false,"url":"https://api.github.com/repos/moysklad/java-remap-sdk","forks_url":"https://api.github.com/repos/moysklad/java-remap-sdk/forks","keys_url":"https://api.github.com/repos/moysklad/java-remap-sdk/keys{/key_id}","collaborators_url":"https://api.github.com/repos/moysklad/java-remap-sdk/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/moysklad/java-remap-sdk/teams","hooks_url":"https://api.github.com/repos/moysklad/java-remap-sdk/hooks","issue_events_url":"https://api.github.com/repos/moysklad/java-remap-sdk/issues/events{/number}","events_url":"https://api.github.com/repos/moysklad/java-remap-sdk/events","assignees_url":"https://api.github.com/repos/moysklad/java-remap-sdk/assignees{/user}","branches_url":"https://api.github.com/repos/moysklad/java-remap-sdk/branches{/branch}","tags_url":"https://api.github.com/repos/moysklad/java-remap-sdk/tags","blobs_url":"https://api.github.com/repos/moysklad/java-remap-sdk/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/moysklad/java-remap-sdk/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/moysklad/java-remap-sdk/git/refs{/sha}","trees_url":"https://api.github.com/repos/moysklad/java-remap-sdk/git/trees{/sha}","statuses_url":"https://api.github.com/repos/moysklad/java-remap-sdk/statuses/{sha}","languages_url":"https://api.github.com/repos/moysklad/java-remap-sdk/languages","stargazers_url":"https://api.github.com/repos/moysklad/java-remap-sdk/stargazers","contributors_url":"https://api.github.com/repos/moysklad/java-remap-sdk/contributors","subscribers_url":"https://api.github.com/repos/moysklad/java-remap-sdk/subscribers","subscription_url":"https://api.github.com/repos/moysklad/java-remap-sdk/subscription","commits_url":"https://api.github.com/repos/moysklad/java-remap-sdk/commits{/sha}","git_commits_url":"https://api.github.com/repos/moysklad/java-remap-sdk/git/commits{/sha}","comments_url":"https://api.github.com/repos/moysklad/java-remap-sdk/comments{/number}","issue_comment_url":"https://api.github.com/repos/moysklad/java-remap-sdk/issues/comments{/number}","contents_url":"https://api.github.com/repos/moysklad/java-remap-sdk/contents/{+path}","compare_url":"https://api.github.com/repos/moysklad/java-remap-sdk/compare/{base}...{head}","merges_url":"https://api.github.com/repos/moysklad/java-remap-sdk/merges","archive_url":"https://api.github.com/repos/moysklad/java-remap-sdk/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/moysklad/java-remap-sdk/downloads","issues_url":"https://api.github.com/repos/moysklad/java-remap-sdk/issues{/number}","pulls_url":"https://api.github.com/repos/moysklad/java-remap-sdk/pulls{/number}","milestones_url":"https://api.github.com/repos/moysklad/java-remap-sdk/milestones{/number}","notifications_url":"https://api.github.com/repos/moysklad/java-remap-sdk/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/moysklad/java-remap-sdk/labels{/name}","releases_url":"https://api.github.com/repos/moysklad/java-remap-sdk/releases{/id}","deployments_url":"https://api.github.com/repos/moysklad/java-remap-sdk/deployments","created_at":"2017-09-06T09:00:11Z","updated_at":"2018-12-03T12:26:11Z","pushed_at":"2018-12-11T14:45:02Z","git_url":"git://github.com/moysklad/java-remap-sdk.git","ssh_url":"git@github.com:moysklad/java-remap-sdk.git","clone_url":"https://github.com/moysklad/java-remap-sdk.git","svn_url":"https://github.com/moysklad/java-remap-sdk","homepage":"","size":577,"stargazers_count":7,"watchers_count":7,"language":"Java","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":2,"mirror_url":null,"archived":false,"open_issues_count":1,"license":null,"forks":2,"open_issues":1,"watchers":7,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/moysklad/java-remap-sdk/pulls/32"},"html":{"href":"https://github.com/moysklad/java-remap-sdk/pull/32"},"issue":{"href":"https://api.github.com/repos/moysklad/java-remap-sdk/issues/32"},"comments":{"href":"https://api.github.com/repos/moysklad/java-remap-sdk/issues/32/comments"},"review_comments":{"href":"https://api.github.com/repos/moysklad/java-remap-sdk/pulls/32/comments"},"review_comment":{"href":"https://api.github.com/repos/moysklad/java-remap-sdk/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/moysklad/java-remap-sdk/pulls/32/commits"},"statuses":{"href":"https://api.github.com/repos/moysklad/java-remap-sdk/statuses/7e5b5b80b1c20eeae96ecab720b05b8f95182835"}},"author_association":"CONTRIBUTOR"}}
{"actor":{"display_login":"ipivkin"}}