{"action":"created","comment":{"url":"https://api.github.com/repos/api-platform/core/pulls/comments/112487121","pull_request_review_id":33803620,"id":112487121,"diff_hunk":"@@ -0,0 +1,207 @@\n+<?php\n+\n+/*\n+ * This file is part of the API Platform project.\n+ *\n+ * (c) Kévin Dunglas <dunglas@gmail.com>\n+ *\n+ * For the full copyright and license information, please view the LICENSE\n+ * file that was distributed with this source code.\n+ */\n+\n+declare(strict_types=1);\n+\n+namespace ApiPlatform\\Core\\JsonApi\\Serializer;\n+\n+use ApiPlatform\\Core\\Api\\ResourceClassResolverInterface;\n+use ApiPlatform\\Core\\DataProvider\\PaginatorInterface;\n+use ApiPlatform\\Core\\Exception\\RuntimeException;\n+use ApiPlatform\\Core\\Metadata\\Property\\Factory\\PropertyMetadataFactoryInterface;\n+use ApiPlatform\\Core\\Metadata\\Resource\\Factory\\ResourceMetadataFactoryInterface;\n+use ApiPlatform\\Core\\Serializer\\ContextTrait;\n+use ApiPlatform\\Core\\Util\\IriHelper;\n+use Symfony\\Component\\Serializer\\Normalizer\\NormalizerAwareInterface;\n+use Symfony\\Component\\Serializer\\Normalizer\\NormalizerAwareTrait;\n+use Symfony\\Component\\Serializer\\Normalizer\\NormalizerInterface;\n+\n+/**\n+ * Normalizes collections in the JSON API format.\n+ *\n+ * @author Kevin Dunglas <dunglas@gmail.com>\n+ * @author Hamza Amrouche <hamza@les-tilleuls.coop>\n+ */\n+final class CollectionNormalizer implements NormalizerInterface, NormalizerAwareInterface\n+{\n+    use ContextTrait;\n+    use NormalizerAwareTrait;\n+\n+    const FORMAT = 'jsonapi';\n+\n+    private $resourceClassResolver;\n+    private $pageParameterName;\n+    private $resourceMetadataFactory;\n+    private $propertyMetadataFactory;\n+\n+    public function __construct(\n+        ResourceClassResolverInterface $resourceClassResolver,\n+        ResourceMetadataFactoryInterface $resourceMetadataFactory,\n+        PropertyMetadataFactoryInterface $propertyMetadataFactory,\n+        string $pageParameterName\n+    ) {\n+        $this->resourceClassResolver = $resourceClassResolver;\n+        $this->pageParameterName = $pageParameterName;\n+        $this->resourceMetadataFactory = $resourceMetadataFactory;\n+        $this->propertyMetadataFactory = $propertyMetadataFactory;\n+    }\n+\n+    /**\n+     * {@inheritdoc}\n+     */\n+    public function supportsNormalization($data, $format = null)\n+    {\n+        return self::FORMAT === $format\n+            && (is_array($data) || ($data instanceof \\Traversable));\n+    }\n+\n+    /**\n+     * {@inheritdoc}\n+     */\n+    public function normalize($data, $format = null, array $context = [])\n+    {\n+        $currentPage = $lastPage = $itemsPerPage = 1;\n+\n+        // If we are normalizing stuff one level down (i.e., an attribute which\n+        // could be already an array)\n+        $returnDataArray = [];\n+        if (isset($context['api_sub_level'])) {\n+            foreach ($data as $index => $obj) {\n+                $returnDataArray['data'][][$index] = $this->normalizer->normalize($obj, $format, $context);\n+            }\n+\n+            return $data;\n+        }\n+\n+        $resourceClass = $this->resourceClassResolver->getResourceClass(\n+            $data,\n+            $context['resource_class'] ?? null,\n+            true\n+        );\n+\n+        $resourceMetadata = $this->resourceMetadataFactory->create($resourceClass);\n+\n+        $context = $this->initContext($resourceClass, $context);\n+\n+        $parsed = IriHelper::parseIri($context['request_uri'] ?? '/', $this->pageParameterName);\n+        $paginated = $isPaginator = $data instanceof PaginatorInterface;\n+\n+        if ($isPaginator) {\n+            $currentPage = $data->getCurrentPage();\n+            $lastPage = $data->getLastPage();\n+            $itemsPerPage = $data->getItemsPerPage();\n+\n+            $paginated = 1. !== $lastPage;\n+        }\n+\n+        $returnDataArray = [\n+            'data' => [],\n+            'links' => [\n+                'self' => IriHelper::createIri(\n+                    $parsed['parts'],\n+                    $parsed['parameters'],\n+                    $this->pageParameterName,\n+                    $paginated ? $currentPage : null\n+                ),\n+            ],\n+        ];\n+\n+        if ($paginated) {\n+            $returnDataArray['links']['first'] = IriHelper::createIri(\n+                $parsed['parts'],\n+                $parsed['parameters'],\n+                $this->pageParameterName,\n+                1.\n+            );\n+\n+            $returnDataArray['links']['last'] = IriHelper::createIri(\n+                $parsed['parts'],\n+                $parsed['parameters'],\n+                $this->pageParameterName,\n+                $lastPage\n+            );\n+\n+            if (1. !== $currentPage) {\n+                $returnDataArray['links']['prev'] = IriHelper::createIri(\n+                    $parsed['parts'],\n+                    $parsed['parameters'],\n+                    $this->pageParameterName,\n+                    $currentPage - 1.\n+                );\n+            }\n+\n+            if ($currentPage !== $lastPage) {\n+                $returnDataArray['links']['next'] = IriHelper::createIri(\n+                    $parsed['parts'],\n+                    $parsed['parameters'],\n+                    $this->pageParameterName,\n+                    $currentPage + 1.\n+                );\n+            }\n+        }\n+\n+        $identifier = null;\n+        foreach ($data as $item) {\n+            $normalizedItem = $this->normalizer->normalize($item, $format, $context);\n+\n+            if (!isset($normalizedItem['data'])) {\n+                throw new RuntimeException(\n+                    'data key expected but not found during JSON API normalization'","path":"src/JsonApi/Serializer/CollectionNormalizer.php","position":157,"original_position":157,"commit_id":"9ad63c1f95b5b619c96f864f71676a3a0f61dec0","original_commit_id":"9ad63c1f95b5b619c96f864f71676a3a0f61dec0","user":{"login":"Simperfit","id":3451634,"avatar_url":"https://avatars2.githubusercontent.com/u/3451634?v=3","gravatar_id":"","url":"https://api.github.com/users/Simperfit","html_url":"https://github.com/Simperfit","followers_url":"https://api.github.com/users/Simperfit/followers","following_url":"https://api.github.com/users/Simperfit/following{/other_user}","gists_url":"https://api.github.com/users/Simperfit/gists{/gist_id}","starred_url":"https://api.github.com/users/Simperfit/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Simperfit/subscriptions","organizations_url":"https://api.github.com/users/Simperfit/orgs","repos_url":"https://api.github.com/users/Simperfit/repos","events_url":"https://api.github.com/users/Simperfit/events{/privacy}","received_events_url":"https://api.github.com/users/Simperfit/received_events","type":"User","site_admin":false},"body":"`The 'data' key was expected during JSON API normalization, (but it does not exist or but is not found)`\r\n\r\nWDYT ?","created_at":"2017-04-20T15:39:29Z","updated_at":"2017-04-20T16:00:50Z","html_url":"https://github.com/api-platform/core/pull/1036#discussion_r112487121","pull_request_url":"https://api.github.com/repos/api-platform/core/pulls/1036","_links":{"self":{"href":"https://api.github.com/repos/api-platform/core/pulls/comments/112487121"},"html":{"href":"https://github.com/api-platform/core/pull/1036#discussion_r112487121"},"pull_request":{"href":"https://api.github.com/repos/api-platform/core/pulls/1036"}}},"pull_request":{"url":"https://api.github.com/repos/api-platform/core/pulls/1036","id":114767087,"html_url":"https://github.com/api-platform/core/pull/1036","diff_url":"https://github.com/api-platform/core/pull/1036.diff","patch_url":"https://github.com/api-platform/core/pull/1036.patch","issue_url":"https://api.github.com/repos/api-platform/core/issues/1036","number":1036,"state":"open","locked":false,"title":"Add JSON API basic support","user":{"login":"hectorh30","id":759684,"avatar_url":"https://avatars2.githubusercontent.com/u/759684?v=3","gravatar_id":"","url":"https://api.github.com/users/hectorh30","html_url":"https://github.com/hectorh30","followers_url":"https://api.github.com/users/hectorh30/followers","following_url":"https://api.github.com/users/hectorh30/following{/other_user}","gists_url":"https://api.github.com/users/hectorh30/gists{/gist_id}","starred_url":"https://api.github.com/users/hectorh30/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/hectorh30/subscriptions","organizations_url":"https://api.github.com/users/hectorh30/orgs","repos_url":"https://api.github.com/users/hectorh30/repos","events_url":"https://api.github.com/users/hectorh30/events{/privacy}","received_events_url":"https://api.github.com/users/hectorh30/received_events","type":"User","site_admin":false},"body":"| Q             | A\r\n| ------------- | ---\r\n| Bug fix?      | no\r\n| New feature?  | yes\r\n| BC breaks?    | no\r\n| Deprecations? | no\r\n| Tests pass?   | yes\r\n| Fixed tickets |\r\n| License       | MIT\r\n| Doc PR        | TODO\r\n\r\nAdd support for the JSON API format: http://jsonapi.org/format/\r\n\r\nTODOs:\r\n\r\n- [x] Add `data` key support\r\n- [x] Add PATCH support to updates\r\n- [x] Add basic error serialization support\r\n- [x] Add basic pagination support\r\n- [x] Add basic ordering support\r\n- [x] Add basic filtering support\r\n- [x] Fix PATCH support on main api interface\r\n- [x] Add support for GETting many-to-many relationships\r\n\r\nOther desirable features:\r\nAdd suport for [sparse fieldsets](http://jsonapi.org/format/#fetching-sparse-fieldsets) (similar to #1062)\r\nAdd support for POSTing and PATCHing many-to-many relationships\r\nAdd basic [include](http://jsonapi.org/format/#fetching-includes) support\r\nImprove POST support by adding the `Location` header [according to spec](http://jsonapi.org/format/#crud-creating-responses-201)\r\nImprove [linking support](http://jsonapi.org/format/#document-links)\r\n\r\nLooking to contribute to #785.\r\nAlso related to #147 and #759 because of the PATCH HTTP method support.","created_at":"2017-04-07T08:29:51Z","updated_at":"2017-04-20T16:00:51Z","closed_at":null,"merged_at":null,"merge_commit_sha":"cc2735b2da66ccaf79f4ccc22989a9e0c3e86b03","assignee":null,"assignees":[],"milestone":{"url":"https://api.github.com/repos/api-platform/core/milestones/4","html_url":"https://github.com/api-platform/core/milestone/4","labels_url":"https://api.github.com/repos/api-platform/core/milestones/4/labels","id":2156456,"number":4,"title":"2.1.0","description":"","creator":{"login":"Simperfit","id":3451634,"avatar_url":"https://avatars2.githubusercontent.com/u/3451634?v=3","gravatar_id":"","url":"https://api.github.com/users/Simperfit","html_url":"https://github.com/Simperfit","followers_url":"https://api.github.com/users/Simperfit/followers","following_url":"https://api.github.com/users/Simperfit/following{/other_user}","gists_url":"https://api.github.com/users/Simperfit/gists{/gist_id}","starred_url":"https://api.github.com/users/Simperfit/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Simperfit/subscriptions","organizations_url":"https://api.github.com/users/Simperfit/orgs","repos_url":"https://api.github.com/users/Simperfit/repos","events_url":"https://api.github.com/users/Simperfit/events{/privacy}","received_events_url":"https://api.github.com/users/Simperfit/received_events","type":"User","site_admin":false},"open_issues":10,"closed_issues":7,"state":"open","created_at":"2016-11-24T17:23:32Z","updated_at":"2017-04-13T16:28:45Z","due_on":"2017-05-01T07:00:00Z","closed_at":null},"commits_url":"https://api.github.com/repos/api-platform/core/pulls/1036/commits","review_comments_url":"https://api.github.com/repos/api-platform/core/pulls/1036/comments","review_comment_url":"https://api.github.com/repos/api-platform/core/pulls/comments{/number}","comments_url":"https://api.github.com/repos/api-platform/core/issues/1036/comments","statuses_url":"https://api.github.com/repos/api-platform/core/statuses/9ad63c1f95b5b619c96f864f71676a3a0f61dec0","head":{"label":"ServirIO:feature/add-jsonapi-update","ref":"feature/add-jsonapi-update","sha":"9ad63c1f95b5b619c96f864f71676a3a0f61dec0","user":{"login":"ServirIO","id":19917622,"avatar_url":"https://avatars0.githubusercontent.com/u/19917622?v=3","gravatar_id":"","url":"https://api.github.com/users/ServirIO","html_url":"https://github.com/ServirIO","followers_url":"https://api.github.com/users/ServirIO/followers","following_url":"https://api.github.com/users/ServirIO/following{/other_user}","gists_url":"https://api.github.com/users/ServirIO/gists{/gist_id}","starred_url":"https://api.github.com/users/ServirIO/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ServirIO/subscriptions","organizations_url":"https://api.github.com/users/ServirIO/orgs","repos_url":"https://api.github.com/users/ServirIO/repos","events_url":"https://api.github.com/users/ServirIO/events{/privacy}","received_events_url":"https://api.github.com/users/ServirIO/received_events","type":"Organization","site_admin":false},"repo":{"id":79372466,"name":"core","full_name":"ServirIO/core","owner":{"login":"ServirIO","id":19917622,"avatar_url":"https://avatars0.githubusercontent.com/u/19917622?v=3","gravatar_id":"","url":"https://api.github.com/users/ServirIO","html_url":"https://github.com/ServirIO","followers_url":"https://api.github.com/users/ServirIO/followers","following_url":"https://api.github.com/users/ServirIO/following{/other_user}","gists_url":"https://api.github.com/users/ServirIO/gists{/gist_id}","starred_url":"https://api.github.com/users/ServirIO/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ServirIO/subscriptions","organizations_url":"https://api.github.com/users/ServirIO/orgs","repos_url":"https://api.github.com/users/ServirIO/repos","events_url":"https://api.github.com/users/ServirIO/events{/privacy}","received_events_url":"https://api.github.com/users/ServirIO/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/ServirIO/core","description":"The Hypermedia REST API component of API Platform: JSON-LD and Hydra support, works with Symfony too","fork":true,"url":"https://api.github.com/repos/ServirIO/core","forks_url":"https://api.github.com/repos/ServirIO/core/forks","keys_url":"https://api.github.com/repos/ServirIO/core/keys{/key_id}","collaborators_url":"https://api.github.com/repos/ServirIO/core/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/ServirIO/core/teams","hooks_url":"https://api.github.com/repos/ServirIO/core/hooks","issue_events_url":"https://api.github.com/repos/ServirIO/core/issues/events{/number}","events_url":"https://api.github.com/repos/ServirIO/core/events","assignees_url":"https://api.github.com/repos/ServirIO/core/assignees{/user}","branches_url":"https://api.github.com/repos/ServirIO/core/branches{/branch}","tags_url":"https://api.github.com/repos/ServirIO/core/tags","blobs_url":"https://api.github.com/repos/ServirIO/core/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/ServirIO/core/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/ServirIO/core/git/refs{/sha}","trees_url":"https://api.github.com/repos/ServirIO/core/git/trees{/sha}","statuses_url":"https://api.github.com/repos/ServirIO/core/statuses/{sha}","languages_url":"https://api.github.com/repos/ServirIO/core/languages","stargazers_url":"https://api.github.com/repos/ServirIO/core/stargazers","contributors_url":"https://api.github.com/repos/ServirIO/core/contributors","subscribers_url":"https://api.github.com/repos/ServirIO/core/subscribers","subscription_url":"https://api.github.com/repos/ServirIO/core/subscription","commits_url":"https://api.github.com/repos/ServirIO/core/commits{/sha}","git_commits_url":"https://api.github.com/repos/ServirIO/core/git/commits{/sha}","comments_url":"https://api.github.com/repos/ServirIO/core/comments{/number}","issue_comment_url":"https://api.github.com/repos/ServirIO/core/issues/comments{/number}","contents_url":"https://api.github.com/repos/ServirIO/core/contents/{+path}","compare_url":"https://api.github.com/repos/ServirIO/core/compare/{base}...{head}","merges_url":"https://api.github.com/repos/ServirIO/core/merges","archive_url":"https://api.github.com/repos/ServirIO/core/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/ServirIO/core/downloads","issues_url":"https://api.github.com/repos/ServirIO/core/issues{/number}","pulls_url":"https://api.github.com/repos/ServirIO/core/pulls{/number}","milestones_url":"https://api.github.com/repos/ServirIO/core/milestones{/number}","notifications_url":"https://api.github.com/repos/ServirIO/core/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/ServirIO/core/labels{/name}","releases_url":"https://api.github.com/repos/ServirIO/core/releases{/id}","deployments_url":"https://api.github.com/repos/ServirIO/core/deployments","created_at":"2017-01-18T18:51:24Z","updated_at":"2017-01-18T18:51:28Z","pushed_at":"2017-04-19T06:36:53Z","git_url":"git://github.com/ServirIO/core.git","ssh_url":"git@github.com:ServirIO/core.git","clone_url":"https://github.com/ServirIO/core.git","svn_url":"https://github.com/ServirIO/core","homepage":"https://api-platform.com/doc/1.0/api-bundle/","size":4455,"stargazers_count":0,"watchers_count":0,"language":"JavaScript","has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"api-platform:master","ref":"master","sha":"3263e82927695bd0da945701b78838862d3fed23","user":{"login":"api-platform","id":13420081,"avatar_url":"https://avatars0.githubusercontent.com/u/13420081?v=3","gravatar_id":"","url":"https://api.github.com/users/api-platform","html_url":"https://github.com/api-platform","followers_url":"https://api.github.com/users/api-platform/followers","following_url":"https://api.github.com/users/api-platform/following{/other_user}","gists_url":"https://api.github.com/users/api-platform/gists{/gist_id}","starred_url":"https://api.github.com/users/api-platform/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/api-platform/subscriptions","organizations_url":"https://api.github.com/users/api-platform/orgs","repos_url":"https://api.github.com/users/api-platform/repos","events_url":"https://api.github.com/users/api-platform/events{/privacy}","received_events_url":"https://api.github.com/users/api-platform/received_events","type":"Organization","site_admin":false},"repo":{"id":29501260,"name":"core","full_name":"api-platform/core","owner":{"login":"api-platform","id":13420081,"avatar_url":"https://avatars0.githubusercontent.com/u/13420081?v=3","gravatar_id":"","url":"https://api.github.com/users/api-platform","html_url":"https://github.com/api-platform","followers_url":"https://api.github.com/users/api-platform/followers","following_url":"https://api.github.com/users/api-platform/following{/other_user}","gists_url":"https://api.github.com/users/api-platform/gists{/gist_id}","starred_url":"https://api.github.com/users/api-platform/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/api-platform/subscriptions","organizations_url":"https://api.github.com/users/api-platform/orgs","repos_url":"https://api.github.com/users/api-platform/repos","events_url":"https://api.github.com/users/api-platform/events{/privacy}","received_events_url":"https://api.github.com/users/api-platform/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/api-platform/core","description":"The Hypermedia REST API component of API Platform: JSON-LD and Hydra support, works with Symfony too","fork":false,"url":"https://api.github.com/repos/api-platform/core","forks_url":"https://api.github.com/repos/api-platform/core/forks","keys_url":"https://api.github.com/repos/api-platform/core/keys{/key_id}","collaborators_url":"https://api.github.com/repos/api-platform/core/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/api-platform/core/teams","hooks_url":"https://api.github.com/repos/api-platform/core/hooks","issue_events_url":"https://api.github.com/repos/api-platform/core/issues/events{/number}","events_url":"https://api.github.com/repos/api-platform/core/events","assignees_url":"https://api.github.com/repos/api-platform/core/assignees{/user}","branches_url":"https://api.github.com/repos/api-platform/core/branches{/branch}","tags_url":"https://api.github.com/repos/api-platform/core/tags","blobs_url":"https://api.github.com/repos/api-platform/core/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/api-platform/core/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/api-platform/core/git/refs{/sha}","trees_url":"https://api.github.com/repos/api-platform/core/git/trees{/sha}","statuses_url":"https://api.github.com/repos/api-platform/core/statuses/{sha}","languages_url":"https://api.github.com/repos/api-platform/core/languages","stargazers_url":"https://api.github.com/repos/api-platform/core/stargazers","contributors_url":"https://api.github.com/repos/api-platform/core/contributors","subscribers_url":"https://api.github.com/repos/api-platform/core/subscribers","subscription_url":"https://api.github.com/repos/api-platform/core/subscription","commits_url":"https://api.github.com/repos/api-platform/core/commits{/sha}","git_commits_url":"https://api.github.com/repos/api-platform/core/git/commits{/sha}","comments_url":"https://api.github.com/repos/api-platform/core/comments{/number}","issue_comment_url":"https://api.github.com/repos/api-platform/core/issues/comments{/number}","contents_url":"https://api.github.com/repos/api-platform/core/contents/{+path}","compare_url":"https://api.github.com/repos/api-platform/core/compare/{base}...{head}","merges_url":"https://api.github.com/repos/api-platform/core/merges","archive_url":"https://api.github.com/repos/api-platform/core/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/api-platform/core/downloads","issues_url":"https://api.github.com/repos/api-platform/core/issues{/number}","pulls_url":"https://api.github.com/repos/api-platform/core/pulls{/number}","milestones_url":"https://api.github.com/repos/api-platform/core/milestones{/number}","notifications_url":"https://api.github.com/repos/api-platform/core/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/api-platform/core/labels{/name}","releases_url":"https://api.github.com/repos/api-platform/core/releases{/id}","deployments_url":"https://api.github.com/repos/api-platform/core/deployments","created_at":"2015-01-19T23:05:56Z","updated_at":"2017-04-19T20:54:37Z","pushed_at":"2017-04-20T15:16:13Z","git_url":"git://github.com/api-platform/core.git","ssh_url":"git@github.com:api-platform/core.git","clone_url":"https://github.com/api-platform/core.git","svn_url":"https://github.com/api-platform/core","homepage":"https://api-platform.com","size":4302,"stargazers_count":416,"watchers_count":416,"language":"PHP","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":126,"mirror_url":null,"open_issues_count":112,"forks":126,"open_issues":112,"watchers":416,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/api-platform/core/pulls/1036"},"html":{"href":"https://github.com/api-platform/core/pull/1036"},"issue":{"href":"https://api.github.com/repos/api-platform/core/issues/1036"},"comments":{"href":"https://api.github.com/repos/api-platform/core/issues/1036/comments"},"review_comments":{"href":"https://api.github.com/repos/api-platform/core/pulls/1036/comments"},"review_comment":{"href":"https://api.github.com/repos/api-platform/core/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/api-platform/core/pulls/1036/commits"},"statuses":{"href":"https://api.github.com/repos/api-platform/core/statuses/9ad63c1f95b5b619c96f864f71676a3a0f61dec0"}}}}
{"actor":{"display_login":"Simperfit"}}