{"action":"created","comment":{"url":"https://api.github.com/repos/giantswarm/e2e-harness/pulls/comments/150548731","pull_request_review_id":76111269,"id":150548731,"diff_hunk":"@@ -10,7 +10,197 @@ Clone the git repository: https://github.com/giantswarm/e2e-harness.git\n \n ## Running e2e-harness\n \n-TODO\n+You can download a prebuilt binary from [here](https://github.com/giantswarm/e2e-harness/releases/) or,\n+with a golang environment set up, build from source from the root of the project:\n+```\n+go build .\n+```\n+\n+## How does e2e-harness work\n+\n+The goal of the project is making it easy to design and run e2e tests for kubernetes\n+components. We have great tools for local development, like minikube, but the tests\n+and results obtained using them are difficult to replicate on a CI environment.\n+\n+e2e-harness aims to abstract all the differences between local and CI environments,\n+so that you can write the tests once and run them everywhere, making sure that if\n+things work locally they will work too elsewhere.\n+\n+In order to achive that, e2e-harness has two operation modes: local and remote.\n+The setup and teardown actions differ on each mode, but the test themselves (and\n+the actions required to execute them) are the same.\n+\n+Regarding the test execution, all the actions are run on a container, so that the\n+execution environment is always the same. We have put in place these binaries inside\n+the container:\n+\n+* kubectl: k8s CLI client, allows us to run common setup actions or out of cluster\n+tests (see below).\n+* helm: at giantswarm most of the systems under tests are helm charts. We have\n+installed the registry plugin too.\n+* shipyard: it allows us to create and delete a remote minikube instance.\n+\n+The container image is published in quay registry `quay.io/giantswarm/e2e-harness:latest`\n+and its Dockerfile can be found [here](https://github.com/giantswarm/e2e-harness/blob/master/Dockerfile).\n+\n+## Requirements\n+\n+The main requirement is having a recent docker version running on the host. Additionally,\n+for each operation mode:\n+\n+* Local: [minikube](https://github.com/kubernetes/minikube) should be started with\n+RBAC enabled before running e2e-harness:\n+```\n+$ minikube start --extra-config=apiserver.Authorization.Mode=RBAC\n+```\n+* Remote: as stated above e2e-harness uses [shipyard](https://giathub.com/giantswarm/shipyard)\n+for setting up the remote cluster. shipyard currently only supports AWS as the\n+backend engine, so the common environment variables for granting access to AWS\n+are required too (`AWS_ACCESS_KEY_ID` and `AWS_SECRET_ACCESS_KEY`).\n+\n+## Project initialization\n+\n+From the project root execute:\n+\n+```\n+$ e2e-harness init\n+```\n+\n+This will create a `e2e` directory, with the required files to start writing tests,\n+see below. This is how the e2e directory looks like this:\n+\n+```\n+├── Dockerfile\n+├── main.go\n+├── project.yaml\n+└── tests\n+    ├── example.go\n+    └── runner.go\n+```\n+`project.yaml` defines how the end to end tests should be setup, which tests to\n+run and how to tear them down. It includes the following fields:\n+\n+The rest of the files are an example of in cluster tests. These are executed as\n+sonobuoy plugins. The example is written in go but you could use any langauge,\n+see [the sonobuoy examples section](). These are the files included:\n+\n+* `Dockerfile`: Required, this is the image definition for the sonobuoy plugin that\n+runs the in-cluster tests, see below for details.\n+* `main.go`: Main file of the golang example, just calls the runner.\n+* `tests/runner.go`: Part of the golang example, helper file that defines methods\n+required for executing the tests.\n+* `tests/example.go`: Part of the golang example, this is where the actual test is\n+written. It must be registered in the runner during the `init` execution:\n+```\n+func init() {\n+  Add(TestExample)\n+}\n+```\n+The test functions need to fulfill this interface:\n+```\n+type Test func() (description string, err error)\n+```\n+being the `description` used in the sonobuoy test output.","path":"README.md","position":95,"original_position":95,"commit_id":"e060e1c4a098c6a68174233e9f419fa10b429746","original_commit_id":"e060e1c4a098c6a68174233e9f419fa10b429746","user":{"login":"kopiczko","id":4608994,"avatar_url":"https://avatars0.githubusercontent.com/u/4608994?v=4","gravatar_id":"","url":"https://api.github.com/users/kopiczko","html_url":"https://github.com/kopiczko","followers_url":"https://api.github.com/users/kopiczko/followers","following_url":"https://api.github.com/users/kopiczko/following{/other_user}","gists_url":"https://api.github.com/users/kopiczko/gists{/gist_id}","starred_url":"https://api.github.com/users/kopiczko/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kopiczko/subscriptions","organizations_url":"https://api.github.com/users/kopiczko/orgs","repos_url":"https://api.github.com/users/kopiczko/repos","events_url":"https://api.github.com/users/kopiczko/events{/privacy}","received_events_url":"https://api.github.com/users/kopiczko/received_events","type":"User","site_admin":false},"body":"```The `description` is used in the sonobuoy test output.```","created_at":"2017-11-13T14:13:57Z","updated_at":"2017-11-13T14:40:14Z","html_url":"https://github.com/giantswarm/e2e-harness/pull/9#discussion_r150548731","pull_request_url":"https://api.github.com/repos/giantswarm/e2e-harness/pulls/9","author_association":"OWNER","_links":{"self":{"href":"https://api.github.com/repos/giantswarm/e2e-harness/pulls/comments/150548731"},"html":{"href":"https://github.com/giantswarm/e2e-harness/pull/9#discussion_r150548731"},"pull_request":{"href":"https://api.github.com/repos/giantswarm/e2e-harness/pulls/9"}}},"pull_request":{"url":"https://api.github.com/repos/giantswarm/e2e-harness/pulls/9","id":152211146,"html_url":"https://github.com/giantswarm/e2e-harness/pull/9","diff_url":"https://github.com/giantswarm/e2e-harness/pull/9.diff","patch_url":"https://github.com/giantswarm/e2e-harness/pull/9.patch","issue_url":"https://api.github.com/repos/giantswarm/e2e-harness/issues/9","number":9,"state":"open","locked":false,"title":"execute on local minikube","user":{"login":"fgimenez","id":70376,"avatar_url":"https://avatars2.githubusercontent.com/u/70376?v=4","gravatar_id":"","url":"https://api.github.com/users/fgimenez","html_url":"https://github.com/fgimenez","followers_url":"https://api.github.com/users/fgimenez/followers","following_url":"https://api.github.com/users/fgimenez/following{/other_user}","gists_url":"https://api.github.com/users/fgimenez/gists{/gist_id}","starred_url":"https://api.github.com/users/fgimenez/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/fgimenez/subscriptions","organizations_url":"https://api.github.com/users/fgimenez/orgs","repos_url":"https://api.github.com/users/fgimenez/repos","events_url":"https://api.github.com/users/fgimenez/events{/privacy}","received_events_url":"https://api.github.com/users/fgimenez/received_events","type":"User","site_admin":false},"body":"These changes will allow execution of tests using a local minikube. It should be started with RBAC enabled before setting up the e2e environment:\r\n```\r\n$ minikube start --extra-config=apiserver.Authorization.Mode=RBAC\r\n```\r\nThen, the common workflow would be:\r\n```\r\n$ e2e-harness init # only if ./e2e doesn't exists\r\n[ hack on ./e2e directory... ]\r\n$ e2e-harness setup --remote=false\r\n$ e2e-harness test # repeat as needed\r\n$ e2e-harness teardown\r\n```\r\n\r\n@kopiczko there's another branch in progress for running the out of cluster tests connecting directly to the test cluster, defined as golang tests that receive a configured k8s client but removing sonobuoy (used for in-cluster) and the project.yaml step definitions from the equation as you proposed. The same tests can be used for both local development and CI, will come next.","created_at":"2017-11-13T11:15:08Z","updated_at":"2017-11-13T14:40:14Z","closed_at":null,"merged_at":null,"merge_commit_sha":"4b082d7c34f70323e18f6d4c04ea6fd3a8e1248a","assignee":{"login":"fgimenez","id":70376,"avatar_url":"https://avatars2.githubusercontent.com/u/70376?v=4","gravatar_id":"","url":"https://api.github.com/users/fgimenez","html_url":"https://github.com/fgimenez","followers_url":"https://api.github.com/users/fgimenez/followers","following_url":"https://api.github.com/users/fgimenez/following{/other_user}","gists_url":"https://api.github.com/users/fgimenez/gists{/gist_id}","starred_url":"https://api.github.com/users/fgimenez/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/fgimenez/subscriptions","organizations_url":"https://api.github.com/users/fgimenez/orgs","repos_url":"https://api.github.com/users/fgimenez/repos","events_url":"https://api.github.com/users/fgimenez/events{/privacy}","received_events_url":"https://api.github.com/users/fgimenez/received_events","type":"User","site_admin":false},"assignees":[{"login":"fgimenez","id":70376,"avatar_url":"https://avatars2.githubusercontent.com/u/70376?v=4","gravatar_id":"","url":"https://api.github.com/users/fgimenez","html_url":"https://github.com/fgimenez","followers_url":"https://api.github.com/users/fgimenez/followers","following_url":"https://api.github.com/users/fgimenez/following{/other_user}","gists_url":"https://api.github.com/users/fgimenez/gists{/gist_id}","starred_url":"https://api.github.com/users/fgimenez/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/fgimenez/subscriptions","organizations_url":"https://api.github.com/users/fgimenez/orgs","repos_url":"https://api.github.com/users/fgimenez/repos","events_url":"https://api.github.com/users/fgimenez/events{/privacy}","received_events_url":"https://api.github.com/users/fgimenez/received_events","type":"User","site_admin":false}],"requested_reviewers":[{"login":"JosephSalisbury","id":297653,"avatar_url":"https://avatars1.githubusercontent.com/u/297653?v=4","gravatar_id":"","url":"https://api.github.com/users/JosephSalisbury","html_url":"https://github.com/JosephSalisbury","followers_url":"https://api.github.com/users/JosephSalisbury/followers","following_url":"https://api.github.com/users/JosephSalisbury/following{/other_user}","gists_url":"https://api.github.com/users/JosephSalisbury/gists{/gist_id}","starred_url":"https://api.github.com/users/JosephSalisbury/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/JosephSalisbury/subscriptions","organizations_url":"https://api.github.com/users/JosephSalisbury/orgs","repos_url":"https://api.github.com/users/JosephSalisbury/repos","events_url":"https://api.github.com/users/JosephSalisbury/events{/privacy}","received_events_url":"https://api.github.com/users/JosephSalisbury/received_events","type":"User","site_admin":false},{"login":"rossf7","id":311527,"avatar_url":"https://avatars1.githubusercontent.com/u/311527?v=4","gravatar_id":"","url":"https://api.github.com/users/rossf7","html_url":"https://github.com/rossf7","followers_url":"https://api.github.com/users/rossf7/followers","following_url":"https://api.github.com/users/rossf7/following{/other_user}","gists_url":"https://api.github.com/users/rossf7/gists{/gist_id}","starred_url":"https://api.github.com/users/rossf7/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rossf7/subscriptions","organizations_url":"https://api.github.com/users/rossf7/orgs","repos_url":"https://api.github.com/users/rossf7/repos","events_url":"https://api.github.com/users/rossf7/events{/privacy}","received_events_url":"https://api.github.com/users/rossf7/received_events","type":"User","site_admin":false},{"login":"MarcelMue","id":9303709,"avatar_url":"https://avatars1.githubusercontent.com/u/9303709?v=4","gravatar_id":"","url":"https://api.github.com/users/MarcelMue","html_url":"https://github.com/MarcelMue","followers_url":"https://api.github.com/users/MarcelMue/followers","following_url":"https://api.github.com/users/MarcelMue/following{/other_user}","gists_url":"https://api.github.com/users/MarcelMue/gists{/gist_id}","starred_url":"https://api.github.com/users/MarcelMue/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/MarcelMue/subscriptions","organizations_url":"https://api.github.com/users/MarcelMue/orgs","repos_url":"https://api.github.com/users/MarcelMue/repos","events_url":"https://api.github.com/users/MarcelMue/events{/privacy}","received_events_url":"https://api.github.com/users/MarcelMue/received_events","type":"User","site_admin":false}],"milestone":null,"commits_url":"https://api.github.com/repos/giantswarm/e2e-harness/pulls/9/commits","review_comments_url":"https://api.github.com/repos/giantswarm/e2e-harness/pulls/9/comments","review_comment_url":"https://api.github.com/repos/giantswarm/e2e-harness/pulls/comments{/number}","comments_url":"https://api.github.com/repos/giantswarm/e2e-harness/issues/9/comments","statuses_url":"https://api.github.com/repos/giantswarm/e2e-harness/statuses/e060e1c4a098c6a68174233e9f419fa10b429746","head":{"label":"giantswarm:local-execution","ref":"local-execution","sha":"e060e1c4a098c6a68174233e9f419fa10b429746","user":{"login":"giantswarm","id":7556340,"avatar_url":"https://avatars3.githubusercontent.com/u/7556340?v=4","gravatar_id":"","url":"https://api.github.com/users/giantswarm","html_url":"https://github.com/giantswarm","followers_url":"https://api.github.com/users/giantswarm/followers","following_url":"https://api.github.com/users/giantswarm/following{/other_user}","gists_url":"https://api.github.com/users/giantswarm/gists{/gist_id}","starred_url":"https://api.github.com/users/giantswarm/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/giantswarm/subscriptions","organizations_url":"https://api.github.com/users/giantswarm/orgs","repos_url":"https://api.github.com/users/giantswarm/repos","events_url":"https://api.github.com/users/giantswarm/events{/privacy}","received_events_url":"https://api.github.com/users/giantswarm/received_events","type":"Organization","site_admin":false},"repo":{"id":107268623,"name":"e2e-harness","full_name":"giantswarm/e2e-harness","owner":{"login":"giantswarm","id":7556340,"avatar_url":"https://avatars3.githubusercontent.com/u/7556340?v=4","gravatar_id":"","url":"https://api.github.com/users/giantswarm","html_url":"https://github.com/giantswarm","followers_url":"https://api.github.com/users/giantswarm/followers","following_url":"https://api.github.com/users/giantswarm/following{/other_user}","gists_url":"https://api.github.com/users/giantswarm/gists{/gist_id}","starred_url":"https://api.github.com/users/giantswarm/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/giantswarm/subscriptions","organizations_url":"https://api.github.com/users/giantswarm/orgs","repos_url":"https://api.github.com/users/giantswarm/repos","events_url":"https://api.github.com/users/giantswarm/events{/privacy}","received_events_url":"https://api.github.com/users/giantswarm/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/giantswarm/e2e-harness","description":"Harness for custom kubernetes e2e testing.","fork":false,"url":"https://api.github.com/repos/giantswarm/e2e-harness","forks_url":"https://api.github.com/repos/giantswarm/e2e-harness/forks","keys_url":"https://api.github.com/repos/giantswarm/e2e-harness/keys{/key_id}","collaborators_url":"https://api.github.com/repos/giantswarm/e2e-harness/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/giantswarm/e2e-harness/teams","hooks_url":"https://api.github.com/repos/giantswarm/e2e-harness/hooks","issue_events_url":"https://api.github.com/repos/giantswarm/e2e-harness/issues/events{/number}","events_url":"https://api.github.com/repos/giantswarm/e2e-harness/events","assignees_url":"https://api.github.com/repos/giantswarm/e2e-harness/assignees{/user}","branches_url":"https://api.github.com/repos/giantswarm/e2e-harness/branches{/branch}","tags_url":"https://api.github.com/repos/giantswarm/e2e-harness/tags","blobs_url":"https://api.github.com/repos/giantswarm/e2e-harness/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/giantswarm/e2e-harness/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/giantswarm/e2e-harness/git/refs{/sha}","trees_url":"https://api.github.com/repos/giantswarm/e2e-harness/git/trees{/sha}","statuses_url":"https://api.github.com/repos/giantswarm/e2e-harness/statuses/{sha}","languages_url":"https://api.github.com/repos/giantswarm/e2e-harness/languages","stargazers_url":"https://api.github.com/repos/giantswarm/e2e-harness/stargazers","contributors_url":"https://api.github.com/repos/giantswarm/e2e-harness/contributors","subscribers_url":"https://api.github.com/repos/giantswarm/e2e-harness/subscribers","subscription_url":"https://api.github.com/repos/giantswarm/e2e-harness/subscription","commits_url":"https://api.github.com/repos/giantswarm/e2e-harness/commits{/sha}","git_commits_url":"https://api.github.com/repos/giantswarm/e2e-harness/git/commits{/sha}","comments_url":"https://api.github.com/repos/giantswarm/e2e-harness/comments{/number}","issue_comment_url":"https://api.github.com/repos/giantswarm/e2e-harness/issues/comments{/number}","contents_url":"https://api.github.com/repos/giantswarm/e2e-harness/contents/{+path}","compare_url":"https://api.github.com/repos/giantswarm/e2e-harness/compare/{base}...{head}","merges_url":"https://api.github.com/repos/giantswarm/e2e-harness/merges","archive_url":"https://api.github.com/repos/giantswarm/e2e-harness/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/giantswarm/e2e-harness/downloads","issues_url":"https://api.github.com/repos/giantswarm/e2e-harness/issues{/number}","pulls_url":"https://api.github.com/repos/giantswarm/e2e-harness/pulls{/number}","milestones_url":"https://api.github.com/repos/giantswarm/e2e-harness/milestones{/number}","notifications_url":"https://api.github.com/repos/giantswarm/e2e-harness/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/giantswarm/e2e-harness/labels{/name}","releases_url":"https://api.github.com/repos/giantswarm/e2e-harness/releases{/id}","deployments_url":"https://api.github.com/repos/giantswarm/e2e-harness/deployments","created_at":"2017-10-17T12:56:25Z","updated_at":"2017-11-02T21:17:22Z","pushed_at":"2017-11-13T11:15:09Z","git_url":"git://github.com/giantswarm/e2e-harness.git","ssh_url":"git@github.com:giantswarm/e2e-harness.git","clone_url":"https://github.com/giantswarm/e2e-harness.git","svn_url":"https://github.com/giantswarm/e2e-harness","homepage":"","size":4528,"stargazers_count":1,"watchers_count":1,"language":"Go","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"open_issues_count":1,"forks":0,"open_issues":1,"watchers":1,"default_branch":"master"}},"base":{"label":"giantswarm:master","ref":"master","sha":"9aa661bbe2e7c0591a36dce1b3d4c634489b5d5a","user":{"login":"giantswarm","id":7556340,"avatar_url":"https://avatars3.githubusercontent.com/u/7556340?v=4","gravatar_id":"","url":"https://api.github.com/users/giantswarm","html_url":"https://github.com/giantswarm","followers_url":"https://api.github.com/users/giantswarm/followers","following_url":"https://api.github.com/users/giantswarm/following{/other_user}","gists_url":"https://api.github.com/users/giantswarm/gists{/gist_id}","starred_url":"https://api.github.com/users/giantswarm/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/giantswarm/subscriptions","organizations_url":"https://api.github.com/users/giantswarm/orgs","repos_url":"https://api.github.com/users/giantswarm/repos","events_url":"https://api.github.com/users/giantswarm/events{/privacy}","received_events_url":"https://api.github.com/users/giantswarm/received_events","type":"Organization","site_admin":false},"repo":{"id":107268623,"name":"e2e-harness","full_name":"giantswarm/e2e-harness","owner":{"login":"giantswarm","id":7556340,"avatar_url":"https://avatars3.githubusercontent.com/u/7556340?v=4","gravatar_id":"","url":"https://api.github.com/users/giantswarm","html_url":"https://github.com/giantswarm","followers_url":"https://api.github.com/users/giantswarm/followers","following_url":"https://api.github.com/users/giantswarm/following{/other_user}","gists_url":"https://api.github.com/users/giantswarm/gists{/gist_id}","starred_url":"https://api.github.com/users/giantswarm/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/giantswarm/subscriptions","organizations_url":"https://api.github.com/users/giantswarm/orgs","repos_url":"https://api.github.com/users/giantswarm/repos","events_url":"https://api.github.com/users/giantswarm/events{/privacy}","received_events_url":"https://api.github.com/users/giantswarm/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/giantswarm/e2e-harness","description":"Harness for custom kubernetes e2e testing.","fork":false,"url":"https://api.github.com/repos/giantswarm/e2e-harness","forks_url":"https://api.github.com/repos/giantswarm/e2e-harness/forks","keys_url":"https://api.github.com/repos/giantswarm/e2e-harness/keys{/key_id}","collaborators_url":"https://api.github.com/repos/giantswarm/e2e-harness/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/giantswarm/e2e-harness/teams","hooks_url":"https://api.github.com/repos/giantswarm/e2e-harness/hooks","issue_events_url":"https://api.github.com/repos/giantswarm/e2e-harness/issues/events{/number}","events_url":"https://api.github.com/repos/giantswarm/e2e-harness/events","assignees_url":"https://api.github.com/repos/giantswarm/e2e-harness/assignees{/user}","branches_url":"https://api.github.com/repos/giantswarm/e2e-harness/branches{/branch}","tags_url":"https://api.github.com/repos/giantswarm/e2e-harness/tags","blobs_url":"https://api.github.com/repos/giantswarm/e2e-harness/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/giantswarm/e2e-harness/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/giantswarm/e2e-harness/git/refs{/sha}","trees_url":"https://api.github.com/repos/giantswarm/e2e-harness/git/trees{/sha}","statuses_url":"https://api.github.com/repos/giantswarm/e2e-harness/statuses/{sha}","languages_url":"https://api.github.com/repos/giantswarm/e2e-harness/languages","stargazers_url":"https://api.github.com/repos/giantswarm/e2e-harness/stargazers","contributors_url":"https://api.github.com/repos/giantswarm/e2e-harness/contributors","subscribers_url":"https://api.github.com/repos/giantswarm/e2e-harness/subscribers","subscription_url":"https://api.github.com/repos/giantswarm/e2e-harness/subscription","commits_url":"https://api.github.com/repos/giantswarm/e2e-harness/commits{/sha}","git_commits_url":"https://api.github.com/repos/giantswarm/e2e-harness/git/commits{/sha}","comments_url":"https://api.github.com/repos/giantswarm/e2e-harness/comments{/number}","issue_comment_url":"https://api.github.com/repos/giantswarm/e2e-harness/issues/comments{/number}","contents_url":"https://api.github.com/repos/giantswarm/e2e-harness/contents/{+path}","compare_url":"https://api.github.com/repos/giantswarm/e2e-harness/compare/{base}...{head}","merges_url":"https://api.github.com/repos/giantswarm/e2e-harness/merges","archive_url":"https://api.github.com/repos/giantswarm/e2e-harness/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/giantswarm/e2e-harness/downloads","issues_url":"https://api.github.com/repos/giantswarm/e2e-harness/issues{/number}","pulls_url":"https://api.github.com/repos/giantswarm/e2e-harness/pulls{/number}","milestones_url":"https://api.github.com/repos/giantswarm/e2e-harness/milestones{/number}","notifications_url":"https://api.github.com/repos/giantswarm/e2e-harness/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/giantswarm/e2e-harness/labels{/name}","releases_url":"https://api.github.com/repos/giantswarm/e2e-harness/releases{/id}","deployments_url":"https://api.github.com/repos/giantswarm/e2e-harness/deployments","created_at":"2017-10-17T12:56:25Z","updated_at":"2017-11-02T21:17:22Z","pushed_at":"2017-11-13T11:15:09Z","git_url":"git://github.com/giantswarm/e2e-harness.git","ssh_url":"git@github.com:giantswarm/e2e-harness.git","clone_url":"https://github.com/giantswarm/e2e-harness.git","svn_url":"https://github.com/giantswarm/e2e-harness","homepage":"","size":4528,"stargazers_count":1,"watchers_count":1,"language":"Go","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"open_issues_count":1,"forks":0,"open_issues":1,"watchers":1,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/giantswarm/e2e-harness/pulls/9"},"html":{"href":"https://github.com/giantswarm/e2e-harness/pull/9"},"issue":{"href":"https://api.github.com/repos/giantswarm/e2e-harness/issues/9"},"comments":{"href":"https://api.github.com/repos/giantswarm/e2e-harness/issues/9/comments"},"review_comments":{"href":"https://api.github.com/repos/giantswarm/e2e-harness/pulls/9/comments"},"review_comment":{"href":"https://api.github.com/repos/giantswarm/e2e-harness/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/giantswarm/e2e-harness/pulls/9/commits"},"statuses":{"href":"https://api.github.com/repos/giantswarm/e2e-harness/statuses/e060e1c4a098c6a68174233e9f419fa10b429746"}},"author_association":"OWNER"}}
{"actor":{"display_login":"kopiczko"}}