{"action":"created","comment":{"url":"https://api.github.com/repos/Fiware/specifications/pulls/comments/192694990","pull_request_review_id":125510887,"id":192694990,"node_id":"MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDE5MjY5NDk5MA==","diff_hunk":"@@ -0,0 +1,350 @@\n+# NGSI Context Source Forwarding Specification\n+\n+## Editor\n+\n+José Manuel Cantera Fonseca, FIWARE Foundation e.V.\n+\n+## Contributors\n+\n+T.B.D.\n+\n+## Copyright\n+\n+Copyright (c) 2018, FIWARE Foundation e.V.\n+\n+## License\n+\n+This specification is licensed under the\n+[FIWARE Open Specification License (implicit patent license)](https://forge.fiware.org/plugins/mediawiki/wiki/fiware/index.php/Implicit_Patents_License).\n+\n+## Normative References\n+\n++ [FIWARE NGSIv2](http://fiware.github.io/specifications/ngsiv2/latest/)\n++ [ETSI. NGSI-LD Specification](http://www.etsi.org/deliver/etsi_gs/CIM/001_099/004/01.01.01_60/gs_CIM004v010101p.pdf)\n+\n+## Introduction\n+\n+Distributed Context Information Management architectures revolve around multiple sources of Context Information, Context Sources (usually known as Context Providers in the\n+traditional FIWARE NGSI jargon), \n+which are capable of providing specific Attributes, or even all content of particular Entity Types, according to different scoping criteria such as location or time.\n+\n+A Context Source is usually\n+[registered](https://swagger.lab.fiware.org/?url=https://raw.githubusercontent.com/Fiware/specifications/master/OpenAPI/ngsiv2/ngsiv2-openapi.json#/Registrations/Create_Registration)\n+with an NGSI Registry so that it can announce what kind of information it can\n+provide, when requested, to Context Consumers and Brokers.\n+\n+When registering a new NGSI Context Source it can be specified whether a (capable) Broker shall forward operations to such Context Source when needed, i.e. when\n+requests involving the Context Source-provided information are ongoing, so that\n+all information from different Context Sources is mashed-up, hidding information distribution complexities to the caller.\n+\n+This specification is intended to define\n+\n+* the behaviour of NGSI Brokers capable of forwarding requests to NGSI Context Sources.\n+* the interface (specified as an HTTP binding) that shall be supported by NGSI Context Sources.\n+\n+This specification is interoperable with both \n+[![NGSI v2](https://img.shields.io/badge/NGSI-v2-blue.svg)](http://fiware.github.io/specifications/ngsiv2/latest/)\n+and [![NGSI-LD badge](https://img.shields.io/badge/NGSI-LD-red.svg)](http://www.etsi.org/deliver/etsi_gs/CIM/001_099/004/01.01.01_60/gs_CIM004v010101p.pdf)\n+but when there are particularities they are clearly stated. \n+\n+## Definitions\n+\n+An NGSI Context Source is an NGSI endpoint supporting the NGSI operations mandated by this specification.\n+\n+An NGSI Forwarder is an NGSI Broker (NGSI implementation) capable of forwarding Context Information Management operations to matching Context Sources.\n+\n+A matching Context Source is a registered Context Source capable of providing Context Information in the scope of a particular NGSI operation. \n+\n+A Forwarded NGSI Context Source is the target of an NGSI Forwarding operation (request) issued by an NGSI Forwarder. \n+\n+An NGSI Forwarding operation (request) is an NGSI (Context Information Management) operation (request) issued by an NGSI Forwarder (against a Forwarded NGSI Context Source).\n+\n+## Context Source Interface\n+\n+Compliant Context Sources shall support the interface (HTTP binding) defined by the operations described below. \n+\n+### Query Entity(ies)\n+\n+It allows to obtain Context Information represented as Entities and Attributes. \n+\n+`GET ${endPoint}/entities/`\n+\n+For [![NGSI v2](https://img.shields.io/badge/NGSI-v2-blue.svg)](https://swagger.lab.fiware.org/?url=https://raw.githubusercontent.com/Fiware/specifications/master/OpenAPI/ngsiv2/ngsiv2-openapi.json):\n+\n++ ${endPoint} shall be equal to `/v2`\n++ It shall support the same HTTP interface as described by the\n+[NGSIv2 Specification](https://swagger.lab.fiware.org/?url=https://raw.githubusercontent.com/Fiware/specifications/master/OpenAPI/ngsiv2/ngsiv2-openapi.json#/Entities/List_Entities)\n+\n+If the Context Source is not capable of resolving a filter query or a geoquery\n+then it shall result in an HTTP `501` (`Not implemented`) error code. \n+\n+### Update Entity(ies)\n+\n+It allows to update Context Information, Entity's Attributes, with the following restrictions:\n+\n++ It shall not be allowed the mutation of the structure of Entities (adding or removing attributes) through Context Forwarding operations. \n++ It shall not be allowed updating GeoProperties (`geo:json` in NGSIv2) through Context Forwarding operations.\n+\n+The assumption is that those operations would eventually be executed directly against the original Context Source and not through Context Forwarding.\n+\n++ Any prohibited action shall result in an HTTP `422` error code. Error description shall include the string `Operation not Supported`. \n+\n+For [![NGSI v2](https://img.shields.io/badge/NGSI-v2-blue.svg)](https://swagger.lab.fiware.org/?url=https://raw.githubusercontent.com/Fiware/specifications/master/OpenAPI/ngsiv2/ngsiv2-openapi.json):\n+\n+`POST /${endPoint}/op/update`\n+\n++ ${endPoint} shall be equal to `/v2`\n++ It shall support the same interface as described by\n+[NGSIv2 Specification](https://swagger.lab.fiware.org/?url=https://raw.githubusercontent.com/Fiware/specifications/master/OpenAPI/ngsiv2/ngsiv2-openapi.json#/Batch_Operations/Update)\n+but only the `UPDATE` action type shall be accepted.\n+\n+### Detecting Forwarding NGSI operations\n+\n+NGSI Context Source endpoint implementations shall detect when the origin of NGSI operations are NGSI Forwarders. To that aim,\n+they shall check the content of the HTTP [Via](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Via) header, as mandated by this specification.\n+\n+NGSI Context Source endpoint implementations shall use the HTTP `Via` Header\n+to detect possible loops while processing incoming operations. If a loop is detected they should return an `508` `Loop detected` HTTP error code. \n+\n+### Other NGSI operations\n+\n+Any other **Forwarding** NGSI Operation (i.e. generated by a Context Forwarder) issued against a Context Source interface shall result in an HTTP `422` error code.\n+Error description shall include the string `Operation not Supported`. \n+\n+## Forwarding behaviour\n+\n+### General Behaviour\n+\n+For each Context Source endpoint the logic implemented by an NGSI Forwarder should group (aggregate) as many Forwarding Operations as possible i.e. minimizing the number of HTTP requests against Forwarded Context Sources.\n+\n+For each Context Source endpoint an NGSI Forwarder shall establish a timeout period that once elapsed it will result in a communication error with the Forwarded Context Source (see below). \n+\n+The HTTP headers present in the original request shall be preserved when issuing requests to the Forwarded Context Sources.\n+\n+The only NGSI operations that are subject to be forwarded are:\n+\n++ Query/List, Get Entity Data operations (involving one or multiple Entities)\n++ Entity's Attribute update operations. \n+\n+The rest of NGSI operations are not suitable to be forwarded and Brokers,\n+instead they shall respond with an HTTP `422` error. Error description shall include the string `Operation not Supported`. \n+\n+### Maximum Number of Context Forwarding Requests\n+\n+When it comes to distributed Context Sources, NGSI client applications can hint Brokers when resolving an NGSI request. For doing so, they can use the **`Fiware-Csource-Max-Forwards`** HTTP header. The value of such header shall be a positive number, including `0`. Using such header, it can be limited the total number of Context Forwarding requests performed when resolving an NGSI operation. This header, as any other, shall be propagated while resolving an NGSI Forwarding Operation, so that Forwarded Context sources can also apply this policy individually. \n+\n+Implementations should have a default maximum limit for Context Forwarding requests so that resources are not exhausted. When resolving an NGSI operation, if not all the matching Context Sources were contacted due to these limits, the HTTP response shall flag this situation to the client, by using an appropriate HTTP response status code. See the specification below.  \n+\n+### Tracking Context Forwarding\n+\n+In order to allow tracking and/or debugging the forwarding chain, implementations shall use the\n+**`Fiware-Csource-Response`** HTTP response header. There shall be as many fields values (comma separated) for `Fiware-Csource-Response` as the number of involved Context Sources that were contacted, when processing the original request. Each field-value is a semicolon-separated list; this sublist consists of parameter-identifier pairs. Parameter-identifier pairs are grouped together by an equals sign. The parameters defined are:\n+\n++ `id`: the id of the matching Context Source registration. Ex. `id=urn:ngsi-ld:ContextSourceRegistration:A4567`. Mandatory\n++ `endpoint`: For instance when debugging activated, it can include the URI of the endpoint associated to the Forwarded Context Source endpoint. Ex. `host=mycsource.example.org`. Optional. ","path":"ContextSource_Forwarding/contextsource_forwarding_spec.md","position":144,"original_position":144,"commit_id":"5a83a7117bb5cb952546c385b900055dbb0a0417","original_commit_id":"5a83a7117bb5cb952546c385b900055dbb0a0417","user":{"login":"dcalvoalonso","id":11388886,"node_id":"MDQ6VXNlcjExMzg4ODg2","avatar_url":"https://avatars3.githubusercontent.com/u/11388886?v=4","gravatar_id":"","url":"https://api.github.com/users/dcalvoalonso","html_url":"https://github.com/dcalvoalonso","followers_url":"https://api.github.com/users/dcalvoalonso/followers","following_url":"https://api.github.com/users/dcalvoalonso/following{/other_user}","gists_url":"https://api.github.com/users/dcalvoalonso/gists{/gist_id}","starred_url":"https://api.github.com/users/dcalvoalonso/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dcalvoalonso/subscriptions","organizations_url":"https://api.github.com/users/dcalvoalonso/orgs","repos_url":"https://api.github.com/users/dcalvoalonso/repos","events_url":"https://api.github.com/users/dcalvoalonso/events{/privacy}","received_events_url":"https://api.github.com/users/dcalvoalonso/received_events","type":"User","site_admin":false},"body":"``associated with` instead of ``associated to`","created_at":"2018-06-04T10:28:24Z","updated_at":"2018-06-04T10:31:13Z","html_url":"https://github.com/Fiware/specifications/pull/2#discussion_r192694990","pull_request_url":"https://api.github.com/repos/Fiware/specifications/pulls/2","author_association":"NONE","_links":{"self":{"href":"https://api.github.com/repos/Fiware/specifications/pulls/comments/192694990"},"html":{"href":"https://github.com/Fiware/specifications/pull/2#discussion_r192694990"},"pull_request":{"href":"https://api.github.com/repos/Fiware/specifications/pulls/2"}}},"pull_request":{"url":"https://api.github.com/repos/Fiware/specifications/pulls/2","id":190973143,"node_id":"MDExOlB1bGxSZXF1ZXN0MTkwOTczMTQz","html_url":"https://github.com/Fiware/specifications/pull/2","diff_url":"https://github.com/Fiware/specifications/pull/2.diff","patch_url":"https://github.com/Fiware/specifications/pull/2.patch","issue_url":"https://api.github.com/repos/Fiware/specifications/issues/2","number":2,"state":"open","locked":false,"title":"Context Source Forwarding Specification","user":{"login":"jmcanterafonseca","id":694782,"node_id":"MDQ6VXNlcjY5NDc4Mg==","avatar_url":"https://avatars2.githubusercontent.com/u/694782?v=4","gravatar_id":"","url":"https://api.github.com/users/jmcanterafonseca","html_url":"https://github.com/jmcanterafonseca","followers_url":"https://api.github.com/users/jmcanterafonseca/followers","following_url":"https://api.github.com/users/jmcanterafonseca/following{/other_user}","gists_url":"https://api.github.com/users/jmcanterafonseca/gists{/gist_id}","starred_url":"https://api.github.com/users/jmcanterafonseca/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jmcanterafonseca/subscriptions","organizations_url":"https://api.github.com/users/jmcanterafonseca/orgs","repos_url":"https://api.github.com/users/jmcanterafonseca/repos","events_url":"https://api.github.com/users/jmcanterafonseca/events{/privacy}","received_events_url":"https://api.github.com/users/jmcanterafonseca/received_events","type":"User","site_admin":false},"body":"","created_at":"2018-05-28T17:28:27Z","updated_at":"2018-06-04T10:31:13Z","closed_at":null,"merged_at":null,"merge_commit_sha":"4c98af472e54c4726a3060419224ecf83e68ce27","assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[],"milestone":null,"commits_url":"https://api.github.com/repos/Fiware/specifications/pulls/2/commits","review_comments_url":"https://api.github.com/repos/Fiware/specifications/pulls/2/comments","review_comment_url":"https://api.github.com/repos/Fiware/specifications/pulls/comments{/number}","comments_url":"https://api.github.com/repos/Fiware/specifications/issues/2/comments","statuses_url":"https://api.github.com/repos/Fiware/specifications/statuses/5a83a7117bb5cb952546c385b900055dbb0a0417","head":{"label":"Fiware:ngsi_context_sources","ref":"ngsi_context_sources","sha":"5a83a7117bb5cb952546c385b900055dbb0a0417","user":{"login":"Fiware","id":5936803,"node_id":"MDEyOk9yZ2FuaXphdGlvbjU5MzY4MDM=","avatar_url":"https://avatars2.githubusercontent.com/u/5936803?v=4","gravatar_id":"","url":"https://api.github.com/users/Fiware","html_url":"https://github.com/Fiware","followers_url":"https://api.github.com/users/Fiware/followers","following_url":"https://api.github.com/users/Fiware/following{/other_user}","gists_url":"https://api.github.com/users/Fiware/gists{/gist_id}","starred_url":"https://api.github.com/users/Fiware/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Fiware/subscriptions","organizations_url":"https://api.github.com/users/Fiware/orgs","repos_url":"https://api.github.com/users/Fiware/repos","events_url":"https://api.github.com/users/Fiware/events{/privacy}","received_events_url":"https://api.github.com/users/Fiware/received_events","type":"Organization","site_admin":false},"repo":{"id":57191300,"node_id":"MDEwOlJlcG9zaXRvcnk1NzE5MTMwMA==","name":"specifications","full_name":"Fiware/specifications","owner":{"login":"Fiware","id":5936803,"node_id":"MDEyOk9yZ2FuaXphdGlvbjU5MzY4MDM=","avatar_url":"https://avatars2.githubusercontent.com/u/5936803?v=4","gravatar_id":"","url":"https://api.github.com/users/Fiware","html_url":"https://github.com/Fiware","followers_url":"https://api.github.com/users/Fiware/followers","following_url":"https://api.github.com/users/Fiware/following{/other_user}","gists_url":"https://api.github.com/users/Fiware/gists{/gist_id}","starred_url":"https://api.github.com/users/Fiware/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Fiware/subscriptions","organizations_url":"https://api.github.com/users/Fiware/orgs","repos_url":"https://api.github.com/users/Fiware/repos","events_url":"https://api.github.com/users/Fiware/events{/privacy}","received_events_url":"https://api.github.com/users/Fiware/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/Fiware/specifications","description":"Open API specifications for FIWARE Generic Enablers","fork":false,"url":"https://api.github.com/repos/Fiware/specifications","forks_url":"https://api.github.com/repos/Fiware/specifications/forks","keys_url":"https://api.github.com/repos/Fiware/specifications/keys{/key_id}","collaborators_url":"https://api.github.com/repos/Fiware/specifications/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/Fiware/specifications/teams","hooks_url":"https://api.github.com/repos/Fiware/specifications/hooks","issue_events_url":"https://api.github.com/repos/Fiware/specifications/issues/events{/number}","events_url":"https://api.github.com/repos/Fiware/specifications/events","assignees_url":"https://api.github.com/repos/Fiware/specifications/assignees{/user}","branches_url":"https://api.github.com/repos/Fiware/specifications/branches{/branch}","tags_url":"https://api.github.com/repos/Fiware/specifications/tags","blobs_url":"https://api.github.com/repos/Fiware/specifications/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/Fiware/specifications/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/Fiware/specifications/git/refs{/sha}","trees_url":"https://api.github.com/repos/Fiware/specifications/git/trees{/sha}","statuses_url":"https://api.github.com/repos/Fiware/specifications/statuses/{sha}","languages_url":"https://api.github.com/repos/Fiware/specifications/languages","stargazers_url":"https://api.github.com/repos/Fiware/specifications/stargazers","contributors_url":"https://api.github.com/repos/Fiware/specifications/contributors","subscribers_url":"https://api.github.com/repos/Fiware/specifications/subscribers","subscription_url":"https://api.github.com/repos/Fiware/specifications/subscription","commits_url":"https://api.github.com/repos/Fiware/specifications/commits{/sha}","git_commits_url":"https://api.github.com/repos/Fiware/specifications/git/commits{/sha}","comments_url":"https://api.github.com/repos/Fiware/specifications/comments{/number}","issue_comment_url":"https://api.github.com/repos/Fiware/specifications/issues/comments{/number}","contents_url":"https://api.github.com/repos/Fiware/specifications/contents/{+path}","compare_url":"https://api.github.com/repos/Fiware/specifications/compare/{base}...{head}","merges_url":"https://api.github.com/repos/Fiware/specifications/merges","archive_url":"https://api.github.com/repos/Fiware/specifications/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/Fiware/specifications/downloads","issues_url":"https://api.github.com/repos/Fiware/specifications/issues{/number}","pulls_url":"https://api.github.com/repos/Fiware/specifications/pulls{/number}","milestones_url":"https://api.github.com/repos/Fiware/specifications/milestones{/number}","notifications_url":"https://api.github.com/repos/Fiware/specifications/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/Fiware/specifications/labels{/name}","releases_url":"https://api.github.com/repos/Fiware/specifications/releases{/id}","deployments_url":"https://api.github.com/repos/Fiware/specifications/deployments","created_at":"2016-04-27T06:59:10Z","updated_at":"2018-05-31T10:00:15Z","pushed_at":"2018-05-31T09:08:10Z","git_url":"git://github.com/Fiware/specifications.git","ssh_url":"git@github.com:Fiware/specifications.git","clone_url":"https://github.com/Fiware/specifications.git","svn_url":"https://github.com/Fiware/specifications","homepage":"","size":258,"stargazers_count":1,"watchers_count":1,"language":null,"has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":true,"forks_count":2,"mirror_url":null,"archived":false,"open_issues_count":2,"license":null,"forks":2,"open_issues":2,"watchers":1,"default_branch":"master"}},"base":{"label":"Fiware:master","ref":"master","sha":"82c1635fa44df8d5c0a8f1cc34be70ffce3ce602","user":{"login":"Fiware","id":5936803,"node_id":"MDEyOk9yZ2FuaXphdGlvbjU5MzY4MDM=","avatar_url":"https://avatars2.githubusercontent.com/u/5936803?v=4","gravatar_id":"","url":"https://api.github.com/users/Fiware","html_url":"https://github.com/Fiware","followers_url":"https://api.github.com/users/Fiware/followers","following_url":"https://api.github.com/users/Fiware/following{/other_user}","gists_url":"https://api.github.com/users/Fiware/gists{/gist_id}","starred_url":"https://api.github.com/users/Fiware/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Fiware/subscriptions","organizations_url":"https://api.github.com/users/Fiware/orgs","repos_url":"https://api.github.com/users/Fiware/repos","events_url":"https://api.github.com/users/Fiware/events{/privacy}","received_events_url":"https://api.github.com/users/Fiware/received_events","type":"Organization","site_admin":false},"repo":{"id":57191300,"node_id":"MDEwOlJlcG9zaXRvcnk1NzE5MTMwMA==","name":"specifications","full_name":"Fiware/specifications","owner":{"login":"Fiware","id":5936803,"node_id":"MDEyOk9yZ2FuaXphdGlvbjU5MzY4MDM=","avatar_url":"https://avatars2.githubusercontent.com/u/5936803?v=4","gravatar_id":"","url":"https://api.github.com/users/Fiware","html_url":"https://github.com/Fiware","followers_url":"https://api.github.com/users/Fiware/followers","following_url":"https://api.github.com/users/Fiware/following{/other_user}","gists_url":"https://api.github.com/users/Fiware/gists{/gist_id}","starred_url":"https://api.github.com/users/Fiware/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Fiware/subscriptions","organizations_url":"https://api.github.com/users/Fiware/orgs","repos_url":"https://api.github.com/users/Fiware/repos","events_url":"https://api.github.com/users/Fiware/events{/privacy}","received_events_url":"https://api.github.com/users/Fiware/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/Fiware/specifications","description":"Open API specifications for FIWARE Generic Enablers","fork":false,"url":"https://api.github.com/repos/Fiware/specifications","forks_url":"https://api.github.com/repos/Fiware/specifications/forks","keys_url":"https://api.github.com/repos/Fiware/specifications/keys{/key_id}","collaborators_url":"https://api.github.com/repos/Fiware/specifications/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/Fiware/specifications/teams","hooks_url":"https://api.github.com/repos/Fiware/specifications/hooks","issue_events_url":"https://api.github.com/repos/Fiware/specifications/issues/events{/number}","events_url":"https://api.github.com/repos/Fiware/specifications/events","assignees_url":"https://api.github.com/repos/Fiware/specifications/assignees{/user}","branches_url":"https://api.github.com/repos/Fiware/specifications/branches{/branch}","tags_url":"https://api.github.com/repos/Fiware/specifications/tags","blobs_url":"https://api.github.com/repos/Fiware/specifications/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/Fiware/specifications/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/Fiware/specifications/git/refs{/sha}","trees_url":"https://api.github.com/repos/Fiware/specifications/git/trees{/sha}","statuses_url":"https://api.github.com/repos/Fiware/specifications/statuses/{sha}","languages_url":"https://api.github.com/repos/Fiware/specifications/languages","stargazers_url":"https://api.github.com/repos/Fiware/specifications/stargazers","contributors_url":"https://api.github.com/repos/Fiware/specifications/contributors","subscribers_url":"https://api.github.com/repos/Fiware/specifications/subscribers","subscription_url":"https://api.github.com/repos/Fiware/specifications/subscription","commits_url":"https://api.github.com/repos/Fiware/specifications/commits{/sha}","git_commits_url":"https://api.github.com/repos/Fiware/specifications/git/commits{/sha}","comments_url":"https://api.github.com/repos/Fiware/specifications/comments{/number}","issue_comment_url":"https://api.github.com/repos/Fiware/specifications/issues/comments{/number}","contents_url":"https://api.github.com/repos/Fiware/specifications/contents/{+path}","compare_url":"https://api.github.com/repos/Fiware/specifications/compare/{base}...{head}","merges_url":"https://api.github.com/repos/Fiware/specifications/merges","archive_url":"https://api.github.com/repos/Fiware/specifications/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/Fiware/specifications/downloads","issues_url":"https://api.github.com/repos/Fiware/specifications/issues{/number}","pulls_url":"https://api.github.com/repos/Fiware/specifications/pulls{/number}","milestones_url":"https://api.github.com/repos/Fiware/specifications/milestones{/number}","notifications_url":"https://api.github.com/repos/Fiware/specifications/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/Fiware/specifications/labels{/name}","releases_url":"https://api.github.com/repos/Fiware/specifications/releases{/id}","deployments_url":"https://api.github.com/repos/Fiware/specifications/deployments","created_at":"2016-04-27T06:59:10Z","updated_at":"2018-05-31T10:00:15Z","pushed_at":"2018-05-31T09:08:10Z","git_url":"git://github.com/Fiware/specifications.git","ssh_url":"git@github.com:Fiware/specifications.git","clone_url":"https://github.com/Fiware/specifications.git","svn_url":"https://github.com/Fiware/specifications","homepage":"","size":258,"stargazers_count":1,"watchers_count":1,"language":null,"has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":true,"forks_count":2,"mirror_url":null,"archived":false,"open_issues_count":2,"license":null,"forks":2,"open_issues":2,"watchers":1,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/Fiware/specifications/pulls/2"},"html":{"href":"https://github.com/Fiware/specifications/pull/2"},"issue":{"href":"https://api.github.com/repos/Fiware/specifications/issues/2"},"comments":{"href":"https://api.github.com/repos/Fiware/specifications/issues/2/comments"},"review_comments":{"href":"https://api.github.com/repos/Fiware/specifications/pulls/2/comments"},"review_comment":{"href":"https://api.github.com/repos/Fiware/specifications/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/Fiware/specifications/pulls/2/commits"},"statuses":{"href":"https://api.github.com/repos/Fiware/specifications/statuses/5a83a7117bb5cb952546c385b900055dbb0a0417"}},"author_association":"MEMBER"}}
{"actor":{"display_login":"dcalvoalonso"}}