{"action":"created","comment":{"url":"https://api.github.com/repos/kyma-project/community/pulls/comments/243817289","pull_request_review_id":187682184,"id":243817289,"node_id":"MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDI0MzgxNzI4OQ==","diff_hunk":"@@ -0,0 +1,132 @@\n+# Create a common package for libraries used in Kyma components\n+\n+Created on 2018-10-12 by Mateusz Szostok (@mszostok).\n+\n+## Status\n+\n+Proposed on 2018-10-17.\n+\n+## Motivation\n+\n+The Kyma project was consolidated and now all core projects written in Go are placed in one repository. Unfortunately, all of them are still written in a different way.\n+\n+This situation causes the following problems: \n+- Often the common package is copied across different projects which means that we break the DRY rule.\n+- When we do not follow the DRY rule, we must fix the detected bugs in all places. It makes it more complex to fix bugs and also makes it easy to forget about some projects.\n+- If a developer is not aware that a given functionality is already implemented and can be reused, the approach for the same business logic (such as logging pattern, metrics, graceful shutdown, testing, or configuration) is different.\n+- Because projects often have different approaches to the same problem, it's difficult for internal and external contributors to get acquainted with the project. \n+- When a given functionality is reimplemented several times by different developers, the testing approach is often different. It means that sometimes the functionality is well tested but when it's not, it might not work as expected. The good example is a **wait** functionality. We reimplemented a well-known pattern [here](https://github.com/kyma-project/kyma/blob/09b945ec0a897822b40666e518f2f258ae66e7e8/tests/acceptance/servicecatalog/wait/wait.go#L8-L24) but with the small bug which caused that the function never reached a given timeout. There are a lot of reimplementations of this pattern in new PRs, for example [here](https://github.com/kyma-project/kyma/blob/ea5979bf2d82740e84d119df857f9e34541e070e/tests/backup-restore-e2e/utils/wait_util.go#L21-L42) (also not tested). \n+\n+## Solution\n+\n+Extract common code from the Kyma components to the common package and use it in all required places. This allows us to use unified and well-tested libraries in our projects, which will be easier to understand and make future development faster.\n+\n+### Scope\n+\n+There is a question whether to use the general Go SDK or tight-coupled SDK for the Kyma project. This is the first phase, so the idea is to have an internal library used only by the Kyma developers. \n+Those libraries should not be treated as public and we should not focus on having the generic libraries there. Instead, we should place there all things which are helpful for Kyma developers even if they are tightly coupled with the Kyma domain.\n+\n+In the future, we should execute the next phase and review our libraries. We should also check if we are ready to extract common libraries outside and announce them as the official SDK for all Kyma internal and external developers. \n+\n+### Package name \n+\n+In Go ecosystem, there is a pretty popular `pkg` layout pattern. Many well-known projects, such as [Kubernetes](https://github.com/kubernetes/kubernetes/tree/master/pkg), [Docker](https://github.com/moby/moby/tree/master/pkg), [Grafana](https://github.com/grafana/grafana/tree/master/pkg), [Influxdb](https://github.com/influxdata/influxdb/tree/master/pkg), [Etcd](https://github.com/etcd-io/etcd/tree/master/pkg), use this pattern. \n+However, the `pkg` directory is used mainly for public libraries. They can be used internally by your application but also by external projects. \n+This is an informal contract between you and the external users of your code. \n+\n+In Go, there is an ability to hide code using internal directories. If you put your code in an `internal` directory, no external project will be able to import that code. \n+Initially, the idea was to put our private libraries in `kyma/internal/pkg/{private_libs}` but we consolidated all project to one repository, so there is no option to vendor such libraries in our project. In this case, when we execute the `dep ensure` command, we receive such error:  \n+```\n+use of internal package  kyma/internal/pkg/http not allowed\n+```\n+\n+Additionally, in case the libraries are hidden, there is no option to use them in other projects inside the Kyma project or Kyma Incubator organizations.\n+\n+The new proposition is to name the package for libraries as `common`  and place it on the root of the Kyma repository as we will use it in `components`, `tests`, and `tools` projects. In the future, libraries can be moved to the `pkg` directory.\n+\n+```text\n+.\n+└── kyma\n+    ├── CODEOWNERS\n+    ├── CODE_OF_CONDUCT.md\n+    ├── ...  # all other files\n+    ├── common # common libraries\n+    │   ├── README.md\n+    │   ├── iosafety/\n+    │   ├── logger/\n+    │   ├── ptr/\n+    │   └── signal/\n+    ├── components # use libs from common\n+    │   ├── api-controller/\n+    │   ├── apiserver-proxy/\n+    │   ├── binding-usage-controller/\n+    │   ├── configurations-generator/\n+    │   ├── connector-service/\n+    │   ├── environments/\n+    │   ├── event-bus/\n+    │   ├── event-service/\n+    │   ├── gateway/\n+    │   ├── helm-broker/\n+    │   ├── idppreset/\n+    │   ├── installer/\n+    │   ├── istio-kyma-patch/\n+    │   ├── istio-webhook/\n+    │   ├── metadata-service/\n+    │   ├── remote-environment-broker/\n+    │   ├── remote-environment-controller/\n+    │   └── ui-api-layer\n+    ├── tests # use libs from common\n+    │   ├── acceptance/\n+    │   ├── api-controller-acceptance-tests/\n+    │   ├── connector-service-tests/\n+    │   ├── event-bus/\n+    │   ├── gateway-tests/\n+    │   ├── kubeless-test-client/\n+    │   ├── logging/\n+    │   ├── metadata-service-tests/\n+    │   ├── remote-environment-controller-tests/\n+    │   ├── test-environments/\n+    │   ├── test-logging-monitoring/\n+    │   └── ui-api-layer-acceptance-tests/\n+    └── tools # use libs from common\n+        ├── alpine-net/\n+        ├── changelog-generator/\n+        ├── etcd-backup/\n+        ├── etcd-tls-setup/\n+        ├── stability-checker/\n+        └── watch-pods/4\n+```\n+\n+### Examples\n+\n+These are the example libraries that we can put in the package library:\n+- wait - a package where we place utils used for waiting for some condition. Used almost in all our acceptance and integration tests.\n+- http - a package where we put the default handlers required for healthz; required in all applications executed in Kuberenetes\n+- signals - a package where we put signal related implementations, such as graceful shutdown; required in all applications\n+- logger - a package where we put a mechanism for logging; required in almost all applications\n+- metrics - a package where we put a metrics flusher; required in almost all applications\n+\n+ [Here](https://github.com/mszostok/kyma/tree/libs/common) is the example of such libraries.\n+\n+### Restrictions\n+\n+Libraries must be well-tested. Tests must be executed with the `-count 100` flag to ensure stability and with the `-race` flag to detect all race conditions. \n+Each library must contain good documentation. It is also highly recommended that each library has the [Example Test](https://blog.golang.org/examples) similar to this [one](https://github.com/mszostok/kyma/blob/libs/common/http/client_example_test.go#L13).\n+\n+### Next step\n+\n+The next step is to create a proposal about the best practices. For example, we should get rid of the [`Sleep` functions](https://github.com/kyma-project/kyma/blob/09b945ec0a897822b40666e518f2f258ae66e7e8/tests/acceptance/servicecatalog/wait/wait.go#L8-L24) from our test cases and require a better approach. \n+But first, we need a place where we can refer to the proper code which can be used out of the box. In such case, the common libraries can be used.\n+ \n+Another example is to unify the logging approach in our projects. This will be also resolved by the other proposal in which the source code will be placed in the common libraries package, so all projects can simply use it.  \n+\n+## Consequences\n+\n+Once approved, these are the consequences:\n+- new package for common libraries must be created and maintained\n+- new expert CODEOWNERS must be defined for reviewing libraries added for common package\n+- new package must be announced and other projects should switch to use the official libraries instead of custom implementation\n+- developers always need to check our libraries not to reimplement the business logic","path":"sig-and-wg/sig-core/proposals/common-libraries.md","position":129,"original_position":129,"commit_id":"b5d85618f4e845724f6324d893d2ed3dd778f58b","original_commit_id":"b5d85618f4e845724f6324d893d2ed3dd778f58b","user":{"login":"klaudiagrz","id":35192450,"node_id":"MDQ6VXNlcjM1MTkyNDUw","avatar_url":"https://avatars2.githubusercontent.com/u/35192450?v=4","gravatar_id":"","url":"https://api.github.com/users/klaudiagrz","html_url":"https://github.com/klaudiagrz","followers_url":"https://api.github.com/users/klaudiagrz/followers","following_url":"https://api.github.com/users/klaudiagrz/following{/other_user}","gists_url":"https://api.github.com/users/klaudiagrz/gists{/gist_id}","starred_url":"https://api.github.com/users/klaudiagrz/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/klaudiagrz/subscriptions","organizations_url":"https://api.github.com/users/klaudiagrz/orgs","repos_url":"https://api.github.com/users/klaudiagrz/repos","events_url":"https://api.github.com/users/klaudiagrz/events{/privacy}","received_events_url":"https://api.github.com/users/klaudiagrz/received_events","type":"User","site_admin":false},"body":"```suggestion\r\n- developers must always check our libraries not to reimplement the business logic\r\n```","created_at":"2018-12-24T11:33:21Z","updated_at":"2018-12-24T11:33:55Z","html_url":"https://github.com/kyma-project/community/pull/143#discussion_r243817289","pull_request_url":"https://api.github.com/repos/kyma-project/community/pulls/143","author_association":"CONTRIBUTOR","_links":{"self":{"href":"https://api.github.com/repos/kyma-project/community/pulls/comments/243817289"},"html":{"href":"https://github.com/kyma-project/community/pull/143#discussion_r243817289"},"pull_request":{"href":"https://api.github.com/repos/kyma-project/community/pulls/143"}}},"pull_request":{"url":"https://api.github.com/repos/kyma-project/community/pulls/143","id":235035042,"node_id":"MDExOlB1bGxSZXF1ZXN0MjM1MDM1MDQy","html_url":"https://github.com/kyma-project/community/pull/143","diff_url":"https://github.com/kyma-project/community/pull/143.diff","patch_url":"https://github.com/kyma-project/community/pull/143.patch","issue_url":"https://api.github.com/repos/kyma-project/community/issues/143","number":143,"state":"open","locked":false,"title":"Add proposal about the common libraries concept in Kyma","user":{"login":"mszostok","id":17568639,"node_id":"MDQ6VXNlcjE3NTY4NjM5","avatar_url":"https://avatars2.githubusercontent.com/u/17568639?v=4","gravatar_id":"","url":"https://api.github.com/users/mszostok","html_url":"https://github.com/mszostok","followers_url":"https://api.github.com/users/mszostok/followers","following_url":"https://api.github.com/users/mszostok/following{/other_user}","gists_url":"https://api.github.com/users/mszostok/gists{/gist_id}","starred_url":"https://api.github.com/users/mszostok/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mszostok/subscriptions","organizations_url":"https://api.github.com/users/mszostok/orgs","repos_url":"https://api.github.com/users/mszostok/repos","events_url":"https://api.github.com/users/mszostok/events{/privacy}","received_events_url":"https://api.github.com/users/mszostok/received_events","type":"User","site_admin":false},"body":"**Description**\r\n\r\nChanges proposed in this pull request:\r\n\r\n- Add proposal about the libraries in Kym\r\n\r\n**Related issue(s)**\r\n\r\n- https://github.com/kyma-project/community/issues/142","created_at":"2018-11-30T16:02:01Z","updated_at":"2018-12-24T11:33:55Z","closed_at":null,"merged_at":null,"merge_commit_sha":"1259a43f089b99e8ac76864ff2ba66f4837de465","assignee":null,"assignees":[],"requested_reviewers":[{"login":"mjasinski5","id":5781126,"node_id":"MDQ6VXNlcjU3ODExMjY=","avatar_url":"https://avatars1.githubusercontent.com/u/5781126?v=4","gravatar_id":"","url":"https://api.github.com/users/mjasinski5","html_url":"https://github.com/mjasinski5","followers_url":"https://api.github.com/users/mjasinski5/followers","following_url":"https://api.github.com/users/mjasinski5/following{/other_user}","gists_url":"https://api.github.com/users/mjasinski5/gists{/gist_id}","starred_url":"https://api.github.com/users/mjasinski5/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mjasinski5/subscriptions","organizations_url":"https://api.github.com/users/mjasinski5/orgs","repos_url":"https://api.github.com/users/mjasinski5/repos","events_url":"https://api.github.com/users/mjasinski5/events{/privacy}","received_events_url":"https://api.github.com/users/mjasinski5/received_events","type":"User","site_admin":false},{"login":"pkosiec","id":7155799,"node_id":"MDQ6VXNlcjcxNTU3OTk=","avatar_url":"https://avatars2.githubusercontent.com/u/7155799?v=4","gravatar_id":"","url":"https://api.github.com/users/pkosiec","html_url":"https://github.com/pkosiec","followers_url":"https://api.github.com/users/pkosiec/followers","following_url":"https://api.github.com/users/pkosiec/following{/other_user}","gists_url":"https://api.github.com/users/pkosiec/gists{/gist_id}","starred_url":"https://api.github.com/users/pkosiec/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pkosiec/subscriptions","organizations_url":"https://api.github.com/users/pkosiec/orgs","repos_url":"https://api.github.com/users/pkosiec/repos","events_url":"https://api.github.com/users/pkosiec/events{/privacy}","received_events_url":"https://api.github.com/users/pkosiec/received_events","type":"User","site_admin":false},{"login":"bszwarc","id":17266942,"node_id":"MDQ6VXNlcjE3MjY2OTQy","avatar_url":"https://avatars1.githubusercontent.com/u/17266942?v=4","gravatar_id":"","url":"https://api.github.com/users/bszwarc","html_url":"https://github.com/bszwarc","followers_url":"https://api.github.com/users/bszwarc/followers","following_url":"https://api.github.com/users/bszwarc/following{/other_user}","gists_url":"https://api.github.com/users/bszwarc/gists{/gist_id}","starred_url":"https://api.github.com/users/bszwarc/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bszwarc/subscriptions","organizations_url":"https://api.github.com/users/bszwarc/orgs","repos_url":"https://api.github.com/users/bszwarc/repos","events_url":"https://api.github.com/users/bszwarc/events{/privacy}","received_events_url":"https://api.github.com/users/bszwarc/received_events","type":"User","site_admin":false},{"login":"aerfio","id":17271979,"node_id":"MDQ6VXNlcjE3MjcxOTc5","avatar_url":"https://avatars0.githubusercontent.com/u/17271979?v=4","gravatar_id":"","url":"https://api.github.com/users/aerfio","html_url":"https://github.com/aerfio","followers_url":"https://api.github.com/users/aerfio/followers","following_url":"https://api.github.com/users/aerfio/following{/other_user}","gists_url":"https://api.github.com/users/aerfio/gists{/gist_id}","starred_url":"https://api.github.com/users/aerfio/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/aerfio/subscriptions","organizations_url":"https://api.github.com/users/aerfio/orgs","repos_url":"https://api.github.com/users/aerfio/repos","events_url":"https://api.github.com/users/aerfio/events{/privacy}","received_events_url":"https://api.github.com/users/aerfio/received_events","type":"User","site_admin":false},{"login":"magicmatatjahu","id":20404945,"node_id":"MDQ6VXNlcjIwNDA0OTQ1","avatar_url":"https://avatars2.githubusercontent.com/u/20404945?v=4","gravatar_id":"","url":"https://api.github.com/users/magicmatatjahu","html_url":"https://github.com/magicmatatjahu","followers_url":"https://api.github.com/users/magicmatatjahu/followers","following_url":"https://api.github.com/users/magicmatatjahu/following{/other_user}","gists_url":"https://api.github.com/users/magicmatatjahu/gists{/gist_id}","starred_url":"https://api.github.com/users/magicmatatjahu/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/magicmatatjahu/subscriptions","organizations_url":"https://api.github.com/users/magicmatatjahu/orgs","repos_url":"https://api.github.com/users/magicmatatjahu/repos","events_url":"https://api.github.com/users/magicmatatjahu/events{/privacy}","received_events_url":"https://api.github.com/users/magicmatatjahu/received_events","type":"User","site_admin":false},{"login":"akucharska","id":20790348,"node_id":"MDQ6VXNlcjIwNzkwMzQ4","avatar_url":"https://avatars3.githubusercontent.com/u/20790348?v=4","gravatar_id":"","url":"https://api.github.com/users/akucharska","html_url":"https://github.com/akucharska","followers_url":"https://api.github.com/users/akucharska/followers","following_url":"https://api.github.com/users/akucharska/following{/other_user}","gists_url":"https://api.github.com/users/akucharska/gists{/gist_id}","starred_url":"https://api.github.com/users/akucharska/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/akucharska/subscriptions","organizations_url":"https://api.github.com/users/akucharska/orgs","repos_url":"https://api.github.com/users/akucharska/repos","events_url":"https://api.github.com/users/akucharska/events{/privacy}","received_events_url":"https://api.github.com/users/akucharska/received_events","type":"User","site_admin":false},{"login":"michal-hudy","id":26445970,"node_id":"MDQ6VXNlcjI2NDQ1OTcw","avatar_url":"https://avatars1.githubusercontent.com/u/26445970?v=4","gravatar_id":"","url":"https://api.github.com/users/michal-hudy","html_url":"https://github.com/michal-hudy","followers_url":"https://api.github.com/users/michal-hudy/followers","following_url":"https://api.github.com/users/michal-hudy/following{/other_user}","gists_url":"https://api.github.com/users/michal-hudy/gists{/gist_id}","starred_url":"https://api.github.com/users/michal-hudy/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/michal-hudy/subscriptions","organizations_url":"https://api.github.com/users/michal-hudy/orgs","repos_url":"https://api.github.com/users/michal-hudy/repos","events_url":"https://api.github.com/users/michal-hudy/events{/privacy}","received_events_url":"https://api.github.com/users/michal-hudy/received_events","type":"User","site_admin":false},{"login":"tomekpapiernik","id":29116492,"node_id":"MDQ6VXNlcjI5MTE2NDky","avatar_url":"https://avatars3.githubusercontent.com/u/29116492?v=4","gravatar_id":"","url":"https://api.github.com/users/tomekpapiernik","html_url":"https://github.com/tomekpapiernik","followers_url":"https://api.github.com/users/tomekpapiernik/followers","following_url":"https://api.github.com/users/tomekpapiernik/following{/other_user}","gists_url":"https://api.github.com/users/tomekpapiernik/gists{/gist_id}","starred_url":"https://api.github.com/users/tomekpapiernik/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tomekpapiernik/subscriptions","organizations_url":"https://api.github.com/users/tomekpapiernik/orgs","repos_url":"https://api.github.com/users/tomekpapiernik/repos","events_url":"https://api.github.com/users/tomekpapiernik/events{/privacy}","received_events_url":"https://api.github.com/users/tomekpapiernik/received_events","type":"User","site_admin":false},{"login":"kazydek","id":40655785,"node_id":"MDQ6VXNlcjQwNjU1Nzg1","avatar_url":"https://avatars0.githubusercontent.com/u/40655785?v=4","gravatar_id":"","url":"https://api.github.com/users/kazydek","html_url":"https://github.com/kazydek","followers_url":"https://api.github.com/users/kazydek/followers","following_url":"https://api.github.com/users/kazydek/following{/other_user}","gists_url":"https://api.github.com/users/kazydek/gists{/gist_id}","starred_url":"https://api.github.com/users/kazydek/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kazydek/subscriptions","organizations_url":"https://api.github.com/users/kazydek/orgs","repos_url":"https://api.github.com/users/kazydek/repos","events_url":"https://api.github.com/users/kazydek/events{/privacy}","received_events_url":"https://api.github.com/users/kazydek/received_events","type":"User","site_admin":false}],"requested_teams":[],"labels":[{"id":1077679491,"node_id":"MDU6TGFiZWwxMDc3Njc5NDkx","url":"https://api.github.com/repos/kyma-project/community/labels/decision","name":"decision","color":"ed635e","default":false},{"id":1043414121,"node_id":"MDU6TGFiZWwxMDQzNDE0MTIx","url":"https://api.github.com/repos/kyma-project/community/labels/sig/core","name":"sig/core","color":"e99695","default":false}],"milestone":null,"commits_url":"https://api.github.com/repos/kyma-project/community/pulls/143/commits","review_comments_url":"https://api.github.com/repos/kyma-project/community/pulls/143/comments","review_comment_url":"https://api.github.com/repos/kyma-project/community/pulls/comments{/number}","comments_url":"https://api.github.com/repos/kyma-project/community/issues/143/comments","statuses_url":"https://api.github.com/repos/kyma-project/community/statuses/b5d85618f4e845724f6324d893d2ed3dd778f58b","head":{"label":"kyma-project:common-lib-proposal","ref":"common-lib-proposal","sha":"b5d85618f4e845724f6324d893d2ed3dd778f58b","user":{"login":"kyma-project","id":39153523,"node_id":"MDEyOk9yZ2FuaXphdGlvbjM5MTUzNTIz","avatar_url":"https://avatars3.githubusercontent.com/u/39153523?v=4","gravatar_id":"","url":"https://api.github.com/users/kyma-project","html_url":"https://github.com/kyma-project","followers_url":"https://api.github.com/users/kyma-project/followers","following_url":"https://api.github.com/users/kyma-project/following{/other_user}","gists_url":"https://api.github.com/users/kyma-project/gists{/gist_id}","starred_url":"https://api.github.com/users/kyma-project/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kyma-project/subscriptions","organizations_url":"https://api.github.com/users/kyma-project/orgs","repos_url":"https://api.github.com/users/kyma-project/repos","events_url":"https://api.github.com/users/kyma-project/events{/privacy}","received_events_url":"https://api.github.com/users/kyma-project/received_events","type":"Organization","site_admin":false},"repo":{"id":139590666,"node_id":"MDEwOlJlcG9zaXRvcnkxMzk1OTA2NjY=","name":"community","full_name":"kyma-project/community","private":false,"owner":{"login":"kyma-project","id":39153523,"node_id":"MDEyOk9yZ2FuaXphdGlvbjM5MTUzNTIz","avatar_url":"https://avatars3.githubusercontent.com/u/39153523?v=4","gravatar_id":"","url":"https://api.github.com/users/kyma-project","html_url":"https://github.com/kyma-project","followers_url":"https://api.github.com/users/kyma-project/followers","following_url":"https://api.github.com/users/kyma-project/following{/other_user}","gists_url":"https://api.github.com/users/kyma-project/gists{/gist_id}","starred_url":"https://api.github.com/users/kyma-project/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kyma-project/subscriptions","organizations_url":"https://api.github.com/users/kyma-project/orgs","repos_url":"https://api.github.com/users/kyma-project/repos","events_url":"https://api.github.com/users/kyma-project/events{/privacy}","received_events_url":"https://api.github.com/users/kyma-project/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/kyma-project/community","description":"Provides general guidelines, contributing, and maintaining rules for all who add content to Kyma.","fork":false,"url":"https://api.github.com/repos/kyma-project/community","forks_url":"https://api.github.com/repos/kyma-project/community/forks","keys_url":"https://api.github.com/repos/kyma-project/community/keys{/key_id}","collaborators_url":"https://api.github.com/repos/kyma-project/community/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/kyma-project/community/teams","hooks_url":"https://api.github.com/repos/kyma-project/community/hooks","issue_events_url":"https://api.github.com/repos/kyma-project/community/issues/events{/number}","events_url":"https://api.github.com/repos/kyma-project/community/events","assignees_url":"https://api.github.com/repos/kyma-project/community/assignees{/user}","branches_url":"https://api.github.com/repos/kyma-project/community/branches{/branch}","tags_url":"https://api.github.com/repos/kyma-project/community/tags","blobs_url":"https://api.github.com/repos/kyma-project/community/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/kyma-project/community/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/kyma-project/community/git/refs{/sha}","trees_url":"https://api.github.com/repos/kyma-project/community/git/trees{/sha}","statuses_url":"https://api.github.com/repos/kyma-project/community/statuses/{sha}","languages_url":"https://api.github.com/repos/kyma-project/community/languages","stargazers_url":"https://api.github.com/repos/kyma-project/community/stargazers","contributors_url":"https://api.github.com/repos/kyma-project/community/contributors","subscribers_url":"https://api.github.com/repos/kyma-project/community/subscribers","subscription_url":"https://api.github.com/repos/kyma-project/community/subscription","commits_url":"https://api.github.com/repos/kyma-project/community/commits{/sha}","git_commits_url":"https://api.github.com/repos/kyma-project/community/git/commits{/sha}","comments_url":"https://api.github.com/repos/kyma-project/community/comments{/number}","issue_comment_url":"https://api.github.com/repos/kyma-project/community/issues/comments{/number}","contents_url":"https://api.github.com/repos/kyma-project/community/contents/{+path}","compare_url":"https://api.github.com/repos/kyma-project/community/compare/{base}...{head}","merges_url":"https://api.github.com/repos/kyma-project/community/merges","archive_url":"https://api.github.com/repos/kyma-project/community/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/kyma-project/community/downloads","issues_url":"https://api.github.com/repos/kyma-project/community/issues{/number}","pulls_url":"https://api.github.com/repos/kyma-project/community/pulls{/number}","milestones_url":"https://api.github.com/repos/kyma-project/community/milestones{/number}","notifications_url":"https://api.github.com/repos/kyma-project/community/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/kyma-project/community/labels{/name}","releases_url":"https://api.github.com/repos/kyma-project/community/releases{/id}","deployments_url":"https://api.github.com/repos/kyma-project/community/deployments","created_at":"2018-07-03T13:51:54Z","updated_at":"2018-12-20T13:57:47Z","pushed_at":"2018-12-24T09:07:22Z","git_url":"git://github.com/kyma-project/community.git","ssh_url":"git@github.com:kyma-project/community.git","clone_url":"https://github.com/kyma-project/community.git","svn_url":"https://github.com/kyma-project/community","homepage":"","size":11979,"stargazers_count":20,"watchers_count":20,"language":"HTML","has_issues":true,"has_projects":false,"has_downloads":true,"has_wiki":false,"has_pages":true,"forks_count":33,"mirror_url":null,"archived":false,"open_issues_count":24,"license":{"key":"cc-by-4.0","name":"Creative Commons Attribution 4.0 International","spdx_id":"CC-BY-4.0","url":"https://api.github.com/licenses/cc-by-4.0","node_id":"MDc6TGljZW5zZTI1"},"forks":33,"open_issues":24,"watchers":20,"default_branch":"master"}},"base":{"label":"kyma-project:master","ref":"master","sha":"f69fda029e5771f9c3b4efd87fcf0105b8273712","user":{"login":"kyma-project","id":39153523,"node_id":"MDEyOk9yZ2FuaXphdGlvbjM5MTUzNTIz","avatar_url":"https://avatars3.githubusercontent.com/u/39153523?v=4","gravatar_id":"","url":"https://api.github.com/users/kyma-project","html_url":"https://github.com/kyma-project","followers_url":"https://api.github.com/users/kyma-project/followers","following_url":"https://api.github.com/users/kyma-project/following{/other_user}","gists_url":"https://api.github.com/users/kyma-project/gists{/gist_id}","starred_url":"https://api.github.com/users/kyma-project/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kyma-project/subscriptions","organizations_url":"https://api.github.com/users/kyma-project/orgs","repos_url":"https://api.github.com/users/kyma-project/repos","events_url":"https://api.github.com/users/kyma-project/events{/privacy}","received_events_url":"https://api.github.com/users/kyma-project/received_events","type":"Organization","site_admin":false},"repo":{"id":139590666,"node_id":"MDEwOlJlcG9zaXRvcnkxMzk1OTA2NjY=","name":"community","full_name":"kyma-project/community","private":false,"owner":{"login":"kyma-project","id":39153523,"node_id":"MDEyOk9yZ2FuaXphdGlvbjM5MTUzNTIz","avatar_url":"https://avatars3.githubusercontent.com/u/39153523?v=4","gravatar_id":"","url":"https://api.github.com/users/kyma-project","html_url":"https://github.com/kyma-project","followers_url":"https://api.github.com/users/kyma-project/followers","following_url":"https://api.github.com/users/kyma-project/following{/other_user}","gists_url":"https://api.github.com/users/kyma-project/gists{/gist_id}","starred_url":"https://api.github.com/users/kyma-project/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kyma-project/subscriptions","organizations_url":"https://api.github.com/users/kyma-project/orgs","repos_url":"https://api.github.com/users/kyma-project/repos","events_url":"https://api.github.com/users/kyma-project/events{/privacy}","received_events_url":"https://api.github.com/users/kyma-project/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/kyma-project/community","description":"Provides general guidelines, contributing, and maintaining rules for all who add content to Kyma.","fork":false,"url":"https://api.github.com/repos/kyma-project/community","forks_url":"https://api.github.com/repos/kyma-project/community/forks","keys_url":"https://api.github.com/repos/kyma-project/community/keys{/key_id}","collaborators_url":"https://api.github.com/repos/kyma-project/community/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/kyma-project/community/teams","hooks_url":"https://api.github.com/repos/kyma-project/community/hooks","issue_events_url":"https://api.github.com/repos/kyma-project/community/issues/events{/number}","events_url":"https://api.github.com/repos/kyma-project/community/events","assignees_url":"https://api.github.com/repos/kyma-project/community/assignees{/user}","branches_url":"https://api.github.com/repos/kyma-project/community/branches{/branch}","tags_url":"https://api.github.com/repos/kyma-project/community/tags","blobs_url":"https://api.github.com/repos/kyma-project/community/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/kyma-project/community/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/kyma-project/community/git/refs{/sha}","trees_url":"https://api.github.com/repos/kyma-project/community/git/trees{/sha}","statuses_url":"https://api.github.com/repos/kyma-project/community/statuses/{sha}","languages_url":"https://api.github.com/repos/kyma-project/community/languages","stargazers_url":"https://api.github.com/repos/kyma-project/community/stargazers","contributors_url":"https://api.github.com/repos/kyma-project/community/contributors","subscribers_url":"https://api.github.com/repos/kyma-project/community/subscribers","subscription_url":"https://api.github.com/repos/kyma-project/community/subscription","commits_url":"https://api.github.com/repos/kyma-project/community/commits{/sha}","git_commits_url":"https://api.github.com/repos/kyma-project/community/git/commits{/sha}","comments_url":"https://api.github.com/repos/kyma-project/community/comments{/number}","issue_comment_url":"https://api.github.com/repos/kyma-project/community/issues/comments{/number}","contents_url":"https://api.github.com/repos/kyma-project/community/contents/{+path}","compare_url":"https://api.github.com/repos/kyma-project/community/compare/{base}...{head}","merges_url":"https://api.github.com/repos/kyma-project/community/merges","archive_url":"https://api.github.com/repos/kyma-project/community/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/kyma-project/community/downloads","issues_url":"https://api.github.com/repos/kyma-project/community/issues{/number}","pulls_url":"https://api.github.com/repos/kyma-project/community/pulls{/number}","milestones_url":"https://api.github.com/repos/kyma-project/community/milestones{/number}","notifications_url":"https://api.github.com/repos/kyma-project/community/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/kyma-project/community/labels{/name}","releases_url":"https://api.github.com/repos/kyma-project/community/releases{/id}","deployments_url":"https://api.github.com/repos/kyma-project/community/deployments","created_at":"2018-07-03T13:51:54Z","updated_at":"2018-12-20T13:57:47Z","pushed_at":"2018-12-24T09:07:22Z","git_url":"git://github.com/kyma-project/community.git","ssh_url":"git@github.com:kyma-project/community.git","clone_url":"https://github.com/kyma-project/community.git","svn_url":"https://github.com/kyma-project/community","homepage":"","size":11979,"stargazers_count":20,"watchers_count":20,"language":"HTML","has_issues":true,"has_projects":false,"has_downloads":true,"has_wiki":false,"has_pages":true,"forks_count":33,"mirror_url":null,"archived":false,"open_issues_count":24,"license":{"key":"cc-by-4.0","name":"Creative Commons Attribution 4.0 International","spdx_id":"CC-BY-4.0","url":"https://api.github.com/licenses/cc-by-4.0","node_id":"MDc6TGljZW5zZTI1"},"forks":33,"open_issues":24,"watchers":20,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/kyma-project/community/pulls/143"},"html":{"href":"https://github.com/kyma-project/community/pull/143"},"issue":{"href":"https://api.github.com/repos/kyma-project/community/issues/143"},"comments":{"href":"https://api.github.com/repos/kyma-project/community/issues/143/comments"},"review_comments":{"href":"https://api.github.com/repos/kyma-project/community/pulls/143/comments"},"review_comment":{"href":"https://api.github.com/repos/kyma-project/community/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/kyma-project/community/pulls/143/commits"},"statuses":{"href":"https://api.github.com/repos/kyma-project/community/statuses/b5d85618f4e845724f6324d893d2ed3dd778f58b"}},"author_association":"MEMBER"}}
{"actor":{"display_login":"klaudiagrz"}}