{"action":"created","comment":{"url":"https://api.github.com/repos/operator-framework/operator-marketplace/pulls/comments/232767274","pull_request_review_id":174037865,"id":232767274,"node_id":"MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDIzMjc2NzI3NA==","diff_hunk":"@@ -31,39 +33,48 @@ type Writer interface {\n \t// all package(s) from underlying datastore.\n \tGetPackageIDs() string\n \n-\t// Write stores the list of operator manifest(s) into datastore\n+\t// Write stores the list of operator manifest(s) into datastore.s\n \tWrite(packages []*OperatorMetadata) error\n }\n \n // memoryDatastore is an in-memory implementation of operator manifest datastore.\n // TODO: In future, it will be replaced by an indexable persistent datastore.\n type memoryDatastore struct {\n-\tmanifests   map[string]*OperatorMetadata\n+\tmanifests   map[string]*OperatorManifest\n \tunmarshaler blobUnmarshaler\n }\n \n-func (ds *memoryDatastore) Read(packageID string) (*Manifest, error) {\n-\tmetadata, exists := ds.manifests[packageID]\n-\tif !exists {\n-\t\treturn nil, ErrManifestNotFound\n-\t}\n+func (ds *memoryDatastore) Read(packageIDs []string) (*OperatorManifestData, error) {\n+\tdata := StructuredOperatorManifestData{}\n+\tfor _, packageID := range packageIDs {\n+\t\tmanifest, exists := ds.manifests[packageID]\n+\t\tif !exists {\n+\t\t\treturn nil, fmt.Errorf(\"package [%s] not found\", packageID)","path":"pkg/datastore/datastore.go","position":69,"original_position":67,"commit_id":"6c51111b50fd35cb53c34d1e6d032d2245d967d2","original_commit_id":"3ed654ea5c6fd1544ca760b6d95adb526a5a54f5","user":{"login":"tkashem","id":7385775,"node_id":"MDQ6VXNlcjczODU3NzU=","avatar_url":"https://avatars1.githubusercontent.com/u/7385775?v=4","gravatar_id":"","url":"https://api.github.com/users/tkashem","html_url":"https://github.com/tkashem","followers_url":"https://api.github.com/users/tkashem/followers","following_url":"https://api.github.com/users/tkashem/following{/other_user}","gists_url":"https://api.github.com/users/tkashem/gists{/gist_id}","starred_url":"https://api.github.com/users/tkashem/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tkashem/subscriptions","organizations_url":"https://api.github.com/users/tkashem/orgs","repos_url":"https://api.github.com/users/tkashem/repos","events_url":"https://api.github.com/users/tkashem/events{/privacy}","received_events_url":"https://api.github.com/users/tkashem/received_events","type":"User","site_admin":false},"body":"Yes, but adding `best effort` here addresses a `faulty package` situation in part. Here is a suggestion of how we can take the following actions to make it holistic:\r\n- When an `OperatorSource` is reconciled, if we come across a faulty package we ignore it. This will ensure that datastore has good packages only.\r\n- We add a field called `Packages` in `OperatorSource.Status` to indicate the list of packages this operator source has successfully downloaded.  \r\n- When a `CatalogSourceConfig` is reconciled, we should validate that the provided list of package(s) are in datastore, otherwise we throw an error and the object is moved to `Failed` phase. \r\n\r\nWith these change(s), the system as a whole behaves consistently with faulty or non-existent package(s). We also need to implement the above at a `package` level, not at a `manifest` level.\r\n\r\nGiven this I believe it warrants a new PR.\r\n  \r\n\r\n","created_at":"2018-11-12T18:33:00Z","updated_at":"2018-11-12T18:33:00Z","html_url":"https://github.com/operator-framework/operator-marketplace/pull/24#discussion_r232767274","pull_request_url":"https://api.github.com/repos/operator-framework/operator-marketplace/pulls/24","author_association":"COLLABORATOR","_links":{"self":{"href":"https://api.github.com/repos/operator-framework/operator-marketplace/pulls/comments/232767274"},"html":{"href":"https://github.com/operator-framework/operator-marketplace/pull/24#discussion_r232767274"},"pull_request":{"href":"https://api.github.com/repos/operator-framework/operator-marketplace/pulls/24"}},"in_reply_to_id":231287235},"pull_request":{"url":"https://api.github.com/repos/operator-framework/operator-marketplace/pulls/24","id":228765539,"node_id":"MDExOlB1bGxSZXF1ZXN0MjI4NzY1NTM5","html_url":"https://github.com/operator-framework/operator-marketplace/pull/24","diff_url":"https://github.com/operator-framework/operator-marketplace/pull/24.diff","patch_url":"https://github.com/operator-framework/operator-marketplace/pull/24.patch","issue_url":"https://api.github.com/repos/operator-framework/operator-marketplace/issues/24","number":24,"state":"open","locked":false,"title":"Parse operator manifest","user":{"login":"tkashem","id":7385775,"node_id":"MDQ6VXNlcjczODU3NzU=","avatar_url":"https://avatars1.githubusercontent.com/u/7385775?v=4","gravatar_id":"","url":"https://api.github.com/users/tkashem","html_url":"https://github.com/tkashem","followers_url":"https://api.github.com/users/tkashem/followers","following_url":"https://api.github.com/users/tkashem/following{/other_user}","gists_url":"https://api.github.com/users/tkashem/gists{/gist_id}","starred_url":"https://api.github.com/users/tkashem/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tkashem/subscriptions","organizations_url":"https://api.github.com/users/tkashem/orgs","repos_url":"https://api.github.com/users/tkashem/repos","events_url":"https://api.github.com/users/tkashem/events{/privacy}","received_events_url":"https://api.github.com/users/tkashem/received_events","type":"User","site_admin":false},"body":"Why we need this:\r\nAdd support to unmarshal raw operator manifest YAML into structured representation and vice versa so that we can create properly formatted configMap object for an operator manifest. This will resolve the parsing error we see from OLM today.\r\n    \r\nWhat has changed:\r\n- New manifest types have been added to support marshaling/unmarshaling.\r\n- The unmarshaler interface has been changed to use the new types for unmarshaling. \r\n- A new function \"Marshal\" has been added to marshal the required set of CRD(s), CSV(s) \r\n  and package(s) into properly formatted YAML.  \r\n- \"blobUnmarshaler\" interface has been renamed to \"ManifestYAMLParser\"","created_at":"2018-11-06T17:02:20Z","updated_at":"2018-11-12T18:33:00Z","closed_at":null,"merged_at":null,"merge_commit_sha":"2c80f2e02e7ea5d102d8fbe70cfa7e98c0b8e9d6","assignee":null,"assignees":[],"requested_reviewers":[{"login":"kevinrizza","id":5278621,"node_id":"MDQ6VXNlcjUyNzg2MjE=","avatar_url":"https://avatars1.githubusercontent.com/u/5278621?v=4","gravatar_id":"","url":"https://api.github.com/users/kevinrizza","html_url":"https://github.com/kevinrizza","followers_url":"https://api.github.com/users/kevinrizza/followers","following_url":"https://api.github.com/users/kevinrizza/following{/other_user}","gists_url":"https://api.github.com/users/kevinrizza/gists{/gist_id}","starred_url":"https://api.github.com/users/kevinrizza/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kevinrizza/subscriptions","organizations_url":"https://api.github.com/users/kevinrizza/orgs","repos_url":"https://api.github.com/users/kevinrizza/repos","events_url":"https://api.github.com/users/kevinrizza/events{/privacy}","received_events_url":"https://api.github.com/users/kevinrizza/received_events","type":"User","site_admin":false},{"login":"awgreene","id":5481178,"node_id":"MDQ6VXNlcjU0ODExNzg=","avatar_url":"https://avatars0.githubusercontent.com/u/5481178?v=4","gravatar_id":"","url":"https://api.github.com/users/awgreene","html_url":"https://github.com/awgreene","followers_url":"https://api.github.com/users/awgreene/followers","following_url":"https://api.github.com/users/awgreene/following{/other_user}","gists_url":"https://api.github.com/users/awgreene/gists{/gist_id}","starred_url":"https://api.github.com/users/awgreene/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/awgreene/subscriptions","organizations_url":"https://api.github.com/users/awgreene/orgs","repos_url":"https://api.github.com/users/awgreene/repos","events_url":"https://api.github.com/users/awgreene/events{/privacy}","received_events_url":"https://api.github.com/users/awgreene/received_events","type":"User","site_admin":false},{"login":"SamiSousa","id":6036785,"node_id":"MDQ6VXNlcjYwMzY3ODU=","avatar_url":"https://avatars1.githubusercontent.com/u/6036785?v=4","gravatar_id":"","url":"https://api.github.com/users/SamiSousa","html_url":"https://github.com/SamiSousa","followers_url":"https://api.github.com/users/SamiSousa/followers","following_url":"https://api.github.com/users/SamiSousa/following{/other_user}","gists_url":"https://api.github.com/users/SamiSousa/gists{/gist_id}","starred_url":"https://api.github.com/users/SamiSousa/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/SamiSousa/subscriptions","organizations_url":"https://api.github.com/users/SamiSousa/orgs","repos_url":"https://api.github.com/users/SamiSousa/repos","events_url":"https://api.github.com/users/SamiSousa/events{/privacy}","received_events_url":"https://api.github.com/users/SamiSousa/received_events","type":"User","site_admin":false},{"login":"ravisantoshgudimetla","id":11657829,"node_id":"MDQ6VXNlcjExNjU3ODI5","avatar_url":"https://avatars3.githubusercontent.com/u/11657829?v=4","gravatar_id":"","url":"https://api.github.com/users/ravisantoshgudimetla","html_url":"https://github.com/ravisantoshgudimetla","followers_url":"https://api.github.com/users/ravisantoshgudimetla/followers","following_url":"https://api.github.com/users/ravisantoshgudimetla/following{/other_user}","gists_url":"https://api.github.com/users/ravisantoshgudimetla/gists{/gist_id}","starred_url":"https://api.github.com/users/ravisantoshgudimetla/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ravisantoshgudimetla/subscriptions","organizations_url":"https://api.github.com/users/ravisantoshgudimetla/orgs","repos_url":"https://api.github.com/users/ravisantoshgudimetla/repos","events_url":"https://api.github.com/users/ravisantoshgudimetla/events{/privacy}","received_events_url":"https://api.github.com/users/ravisantoshgudimetla/received_events","type":"User","site_admin":false},{"login":"galletti94","id":20077170,"node_id":"MDQ6VXNlcjIwMDc3MTcw","avatar_url":"https://avatars3.githubusercontent.com/u/20077170?v=4","gravatar_id":"","url":"https://api.github.com/users/galletti94","html_url":"https://github.com/galletti94","followers_url":"https://api.github.com/users/galletti94/followers","following_url":"https://api.github.com/users/galletti94/following{/other_user}","gists_url":"https://api.github.com/users/galletti94/gists{/gist_id}","starred_url":"https://api.github.com/users/galletti94/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/galletti94/subscriptions","organizations_url":"https://api.github.com/users/galletti94/orgs","repos_url":"https://api.github.com/users/galletti94/repos","events_url":"https://api.github.com/users/galletti94/events{/privacy}","received_events_url":"https://api.github.com/users/galletti94/received_events","type":"User","site_admin":false}],"requested_teams":[],"labels":[{"id":1106163349,"node_id":"MDU6TGFiZWwxMTA2MTYzMzQ5","url":"https://api.github.com/repos/operator-framework/operator-marketplace/labels/size/XL","name":"size/XL","color":"ededed","default":false}],"milestone":null,"commits_url":"https://api.github.com/repos/operator-framework/operator-marketplace/pulls/24/commits","review_comments_url":"https://api.github.com/repos/operator-framework/operator-marketplace/pulls/24/comments","review_comment_url":"https://api.github.com/repos/operator-framework/operator-marketplace/pulls/comments{/number}","comments_url":"https://api.github.com/repos/operator-framework/operator-marketplace/issues/24/comments","statuses_url":"https://api.github.com/repos/operator-framework/operator-marketplace/statuses/6c51111b50fd35cb53c34d1e6d032d2245d967d2","head":{"label":"tkashem:manifest-parsing","ref":"manifest-parsing","sha":"6c51111b50fd35cb53c34d1e6d032d2245d967d2","user":{"login":"tkashem","id":7385775,"node_id":"MDQ6VXNlcjczODU3NzU=","avatar_url":"https://avatars1.githubusercontent.com/u/7385775?v=4","gravatar_id":"","url":"https://api.github.com/users/tkashem","html_url":"https://github.com/tkashem","followers_url":"https://api.github.com/users/tkashem/followers","following_url":"https://api.github.com/users/tkashem/following{/other_user}","gists_url":"https://api.github.com/users/tkashem/gists{/gist_id}","starred_url":"https://api.github.com/users/tkashem/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tkashem/subscriptions","organizations_url":"https://api.github.com/users/tkashem/orgs","repos_url":"https://api.github.com/users/tkashem/repos","events_url":"https://api.github.com/users/tkashem/events{/privacy}","received_events_url":"https://api.github.com/users/tkashem/received_events","type":"User","site_admin":false},"repo":{"id":150171610,"node_id":"MDEwOlJlcG9zaXRvcnkxNTAxNzE2MTA=","name":"operator-marketplace","full_name":"tkashem/operator-marketplace","private":false,"owner":{"login":"tkashem","id":7385775,"node_id":"MDQ6VXNlcjczODU3NzU=","avatar_url":"https://avatars1.githubusercontent.com/u/7385775?v=4","gravatar_id":"","url":"https://api.github.com/users/tkashem","html_url":"https://github.com/tkashem","followers_url":"https://api.github.com/users/tkashem/followers","following_url":"https://api.github.com/users/tkashem/following{/other_user}","gists_url":"https://api.github.com/users/tkashem/gists{/gist_id}","starred_url":"https://api.github.com/users/tkashem/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tkashem/subscriptions","organizations_url":"https://api.github.com/users/tkashem/orgs","repos_url":"https://api.github.com/users/tkashem/repos","events_url":"https://api.github.com/users/tkashem/events{/privacy}","received_events_url":"https://api.github.com/users/tkashem/received_events","type":"User","site_admin":false},"html_url":"https://github.com/tkashem/operator-marketplace","description":"Backend for Operator Marketplace","fork":true,"url":"https://api.github.com/repos/tkashem/operator-marketplace","forks_url":"https://api.github.com/repos/tkashem/operator-marketplace/forks","keys_url":"https://api.github.com/repos/tkashem/operator-marketplace/keys{/key_id}","collaborators_url":"https://api.github.com/repos/tkashem/operator-marketplace/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/tkashem/operator-marketplace/teams","hooks_url":"https://api.github.com/repos/tkashem/operator-marketplace/hooks","issue_events_url":"https://api.github.com/repos/tkashem/operator-marketplace/issues/events{/number}","events_url":"https://api.github.com/repos/tkashem/operator-marketplace/events","assignees_url":"https://api.github.com/repos/tkashem/operator-marketplace/assignees{/user}","branches_url":"https://api.github.com/repos/tkashem/operator-marketplace/branches{/branch}","tags_url":"https://api.github.com/repos/tkashem/operator-marketplace/tags","blobs_url":"https://api.github.com/repos/tkashem/operator-marketplace/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/tkashem/operator-marketplace/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/tkashem/operator-marketplace/git/refs{/sha}","trees_url":"https://api.github.com/repos/tkashem/operator-marketplace/git/trees{/sha}","statuses_url":"https://api.github.com/repos/tkashem/operator-marketplace/statuses/{sha}","languages_url":"https://api.github.com/repos/tkashem/operator-marketplace/languages","stargazers_url":"https://api.github.com/repos/tkashem/operator-marketplace/stargazers","contributors_url":"https://api.github.com/repos/tkashem/operator-marketplace/contributors","subscribers_url":"https://api.github.com/repos/tkashem/operator-marketplace/subscribers","subscription_url":"https://api.github.com/repos/tkashem/operator-marketplace/subscription","commits_url":"https://api.github.com/repos/tkashem/operator-marketplace/commits{/sha}","git_commits_url":"https://api.github.com/repos/tkashem/operator-marketplace/git/commits{/sha}","comments_url":"https://api.github.com/repos/tkashem/operator-marketplace/comments{/number}","issue_comment_url":"https://api.github.com/repos/tkashem/operator-marketplace/issues/comments{/number}","contents_url":"https://api.github.com/repos/tkashem/operator-marketplace/contents/{+path}","compare_url":"https://api.github.com/repos/tkashem/operator-marketplace/compare/{base}...{head}","merges_url":"https://api.github.com/repos/tkashem/operator-marketplace/merges","archive_url":"https://api.github.com/repos/tkashem/operator-marketplace/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/tkashem/operator-marketplace/downloads","issues_url":"https://api.github.com/repos/tkashem/operator-marketplace/issues{/number}","pulls_url":"https://api.github.com/repos/tkashem/operator-marketplace/pulls{/number}","milestones_url":"https://api.github.com/repos/tkashem/operator-marketplace/milestones{/number}","notifications_url":"https://api.github.com/repos/tkashem/operator-marketplace/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/tkashem/operator-marketplace/labels{/name}","releases_url":"https://api.github.com/repos/tkashem/operator-marketplace/releases{/id}","deployments_url":"https://api.github.com/repos/tkashem/operator-marketplace/deployments","created_at":"2018-09-24T21:36:51Z","updated_at":"2018-11-06T15:44:34Z","pushed_at":"2018-11-12T17:39:20Z","git_url":"git://github.com/tkashem/operator-marketplace.git","ssh_url":"git@github.com:tkashem/operator-marketplace.git","clone_url":"https://github.com/tkashem/operator-marketplace.git","svn_url":"https://github.com/tkashem/operator-marketplace","homepage":"","size":5661,"stargazers_count":0,"watchers_count":0,"language":"Go","has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"open_issues_count":0,"license":{"key":"apache-2.0","name":"Apache License 2.0","spdx_id":"Apache-2.0","url":"https://api.github.com/licenses/apache-2.0","node_id":"MDc6TGljZW5zZTI="},"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"operator-framework:master","ref":"master","sha":"7ab9f80d17eb311e39532d9d167610992afe6f6a","user":{"login":"operator-framework","id":38202270,"node_id":"MDEyOk9yZ2FuaXphdGlvbjM4MjAyMjcw","avatar_url":"https://avatars0.githubusercontent.com/u/38202270?v=4","gravatar_id":"","url":"https://api.github.com/users/operator-framework","html_url":"https://github.com/operator-framework","followers_url":"https://api.github.com/users/operator-framework/followers","following_url":"https://api.github.com/users/operator-framework/following{/other_user}","gists_url":"https://api.github.com/users/operator-framework/gists{/gist_id}","starred_url":"https://api.github.com/users/operator-framework/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/operator-framework/subscriptions","organizations_url":"https://api.github.com/users/operator-framework/orgs","repos_url":"https://api.github.com/users/operator-framework/repos","events_url":"https://api.github.com/users/operator-framework/events{/privacy}","received_events_url":"https://api.github.com/users/operator-framework/received_events","type":"Organization","site_admin":false},"repo":{"id":146476987,"node_id":"MDEwOlJlcG9zaXRvcnkxNDY0NzY5ODc=","name":"operator-marketplace","full_name":"operator-framework/operator-marketplace","private":false,"owner":{"login":"operator-framework","id":38202270,"node_id":"MDEyOk9yZ2FuaXphdGlvbjM4MjAyMjcw","avatar_url":"https://avatars0.githubusercontent.com/u/38202270?v=4","gravatar_id":"","url":"https://api.github.com/users/operator-framework","html_url":"https://github.com/operator-framework","followers_url":"https://api.github.com/users/operator-framework/followers","following_url":"https://api.github.com/users/operator-framework/following{/other_user}","gists_url":"https://api.github.com/users/operator-framework/gists{/gist_id}","starred_url":"https://api.github.com/users/operator-framework/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/operator-framework/subscriptions","organizations_url":"https://api.github.com/users/operator-framework/orgs","repos_url":"https://api.github.com/users/operator-framework/repos","events_url":"https://api.github.com/users/operator-framework/events{/privacy}","received_events_url":"https://api.github.com/users/operator-framework/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/operator-framework/operator-marketplace","description":"Marketplace Operator","fork":false,"url":"https://api.github.com/repos/operator-framework/operator-marketplace","forks_url":"https://api.github.com/repos/operator-framework/operator-marketplace/forks","keys_url":"https://api.github.com/repos/operator-framework/operator-marketplace/keys{/key_id}","collaborators_url":"https://api.github.com/repos/operator-framework/operator-marketplace/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/operator-framework/operator-marketplace/teams","hooks_url":"https://api.github.com/repos/operator-framework/operator-marketplace/hooks","issue_events_url":"https://api.github.com/repos/operator-framework/operator-marketplace/issues/events{/number}","events_url":"https://api.github.com/repos/operator-framework/operator-marketplace/events","assignees_url":"https://api.github.com/repos/operator-framework/operator-marketplace/assignees{/user}","branches_url":"https://api.github.com/repos/operator-framework/operator-marketplace/branches{/branch}","tags_url":"https://api.github.com/repos/operator-framework/operator-marketplace/tags","blobs_url":"https://api.github.com/repos/operator-framework/operator-marketplace/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/operator-framework/operator-marketplace/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/operator-framework/operator-marketplace/git/refs{/sha}","trees_url":"https://api.github.com/repos/operator-framework/operator-marketplace/git/trees{/sha}","statuses_url":"https://api.github.com/repos/operator-framework/operator-marketplace/statuses/{sha}","languages_url":"https://api.github.com/repos/operator-framework/operator-marketplace/languages","stargazers_url":"https://api.github.com/repos/operator-framework/operator-marketplace/stargazers","contributors_url":"https://api.github.com/repos/operator-framework/operator-marketplace/contributors","subscribers_url":"https://api.github.com/repos/operator-framework/operator-marketplace/subscribers","subscription_url":"https://api.github.com/repos/operator-framework/operator-marketplace/subscription","commits_url":"https://api.github.com/repos/operator-framework/operator-marketplace/commits{/sha}","git_commits_url":"https://api.github.com/repos/operator-framework/operator-marketplace/git/commits{/sha}","comments_url":"https://api.github.com/repos/operator-framework/operator-marketplace/comments{/number}","issue_comment_url":"https://api.github.com/repos/operator-framework/operator-marketplace/issues/comments{/number}","contents_url":"https://api.github.com/repos/operator-framework/operator-marketplace/contents/{+path}","compare_url":"https://api.github.com/repos/operator-framework/operator-marketplace/compare/{base}...{head}","merges_url":"https://api.github.com/repos/operator-framework/operator-marketplace/merges","archive_url":"https://api.github.com/repos/operator-framework/operator-marketplace/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/operator-framework/operator-marketplace/downloads","issues_url":"https://api.github.com/repos/operator-framework/operator-marketplace/issues{/number}","pulls_url":"https://api.github.com/repos/operator-framework/operator-marketplace/pulls{/number}","milestones_url":"https://api.github.com/repos/operator-framework/operator-marketplace/milestones{/number}","notifications_url":"https://api.github.com/repos/operator-framework/operator-marketplace/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/operator-framework/operator-marketplace/labels{/name}","releases_url":"https://api.github.com/repos/operator-framework/operator-marketplace/releases{/id}","deployments_url":"https://api.github.com/repos/operator-framework/operator-marketplace/deployments","created_at":"2018-08-28T16:38:07Z","updated_at":"2018-11-09T15:30:10Z","pushed_at":"2018-11-12T17:39:22Z","git_url":"git://github.com/operator-framework/operator-marketplace.git","ssh_url":"git@github.com:operator-framework/operator-marketplace.git","clone_url":"https://github.com/operator-framework/operator-marketplace.git","svn_url":"https://github.com/operator-framework/operator-marketplace","homepage":"","size":5596,"stargazers_count":3,"watchers_count":3,"language":"Go","has_issues":true,"has_projects":false,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":6,"mirror_url":null,"archived":false,"open_issues_count":3,"license":{"key":"apache-2.0","name":"Apache License 2.0","spdx_id":"Apache-2.0","url":"https://api.github.com/licenses/apache-2.0","node_id":"MDc6TGljZW5zZTI="},"forks":6,"open_issues":3,"watchers":3,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/operator-framework/operator-marketplace/pulls/24"},"html":{"href":"https://github.com/operator-framework/operator-marketplace/pull/24"},"issue":{"href":"https://api.github.com/repos/operator-framework/operator-marketplace/issues/24"},"comments":{"href":"https://api.github.com/repos/operator-framework/operator-marketplace/issues/24/comments"},"review_comments":{"href":"https://api.github.com/repos/operator-framework/operator-marketplace/pulls/24/comments"},"review_comment":{"href":"https://api.github.com/repos/operator-framework/operator-marketplace/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/operator-framework/operator-marketplace/pulls/24/commits"},"statuses":{"href":"https://api.github.com/repos/operator-framework/operator-marketplace/statuses/6c51111b50fd35cb53c34d1e6d032d2245d967d2"}},"author_association":"COLLABORATOR"}}
{"actor":{"display_login":"tkashem"}}