payload: {"action":"created","comment":{"url":"https://api.github.com/repos/elastic/elasticsearch/pulls/comments/344655602","pull_request_review_id":314823248,"id":344655602,"node_id":"MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDM0NDY1NTYwMg==","diff_hunk":"@@ -178,6 +176,122 @@ public void test70BindMountCustomPathConfAndJvmOptions() throws Exception {\n         }\n     }\n \n+    /**\n+     * Check that environment variables can be populated by setting variables with the suffix \"_FILE\",\n+     * which point to files that hold the required values.\n+     */\n+    public void test80SetEnvironmentVariablesUsingFiles() throws Exception {\n+        final Path secretsDir = getTempDir().resolve(\"secrets\");\n+        final String optionsFilename = \"esJavaOpts.txt\";\n+\n+        try {\n+            mkdir(secretsDir);\n+\n+            // ES_JAVA_OPTS_FILE\n+            Files.writeString(secretsDir.resolve(optionsFilename), \"-XX:-UseCompressedOops\\n\");\n+\n+            Map<String, String> envVars = Map.of(\"ES_JAVA_OPTS_FILE\", \"/run/secrets/\" + optionsFilename);\n+\n+            // File permissions need to be secured in order for the ES wrapper to accept\n+            // them for populating env var values\n+            Files.setPosixFilePermissions(secretsDir.resolve(optionsFilename), p600);\n+\n+            final Map<Path, Path> volumes = Map.of(secretsDir, Path.of(\"/run/secrets\"));\n+\n+            // Restart the container\n+            runContainer(distribution(), volumes, envVars);\n+\n+            waitForElasticsearch(installation);\n+\n+            final String nodesResponse = makeRequest(Request.Get(\"http://localhost:9200/_nodes\"));\n+\n+            assertThat(nodesResponse, containsString(\"\\\"using_compressed_ordinary_object_pointers\\\":\\\"false\\\"\"));\n+        } finally {\n+            rm(secretsDir);\n+        }\n+    }\n+\n+    /**\n+     * Check that the elastic user's password can be configured via a file and the ELASTIC_PASSWORD_FILE environment variable.\n+     */\n+    public void test81ConfigurePasswordThroughEnvironmentVariableFile() throws Exception {\n+        // Test relies on configuring security\n+        assumeTrue(distribution.isDefault());\n+\n+        final String xpackPassword = \"hunter2\";\n+        final Path secretsDir = getTempDir().resolve(\"secrets\");\n+        final String passwordFilename = \"password.txt\";\n+\n+        try {\n+            mkdir(secretsDir);\n+\n+            // ELASTIC_PASSWORD_FILE\n+            Files.writeString(secretsDir.resolve(passwordFilename), xpackPassword + \"\\n\");\n+\n+            Map<String, String> envVars = Map\n+                .of(\n+                    \"ELASTIC_PASSWORD_FILE\",\n+                    \"/run/secrets/\" + passwordFilename,\n+                    // Enable security so that we can test that the password has been used\n+                    \"xpack.security.enabled\",\n+                    \"true\"\n+                );\n+\n+            // File permissions need to be secured in order for the ES wrapper to accept\n+            // them for populating env var values\n+            Files.setPosixFilePermissions(secretsDir.resolve(passwordFilename), p600);\n+\n+            final Map<Path, Path> volumes = Map.of(secretsDir, Path.of(\"/run/secrets\"));\n+\n+            // Restart the container\n+            runContainer(distribution(), volumes, envVars);\n+\n+            // If we configured security correctly, then this call will only work if we specify the correct credentials.\n+            waitForElasticsearch(\"green\", null, installation, \"elastic\", \"hunter2\");","path":"qa/os/src/test/java/org/elasticsearch/packaging/test/DockerTests.java","position":131,"original_position":131,"commit_id":"0162ef20e1c27ef1ae649b2bea5301643788242d","original_commit_id":"0162ef20e1c27ef1ae649b2bea5301643788242d","user":{"login":"atorok","id":2565652,"node_id":"MDQ6VXNlcjI1NjU2NTI=","avatar_url":"https://avatars1.githubusercontent.com/u/2565652?v=4","gravatar_id":"","url":"https://api.github.com/users/atorok","html_url":"https://github.com/atorok","followers_url":"https://api.github.com/users/atorok/followers","following_url":"https://api.github.com/users/atorok/following{/other_user}","gists_url":"https://api.github.com/users/atorok/gists{/gist_id}","starred_url":"https://api.github.com/users/atorok/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/atorok/subscriptions","organizations_url":"https://api.github.com/users/atorok/orgs","repos_url":"https://api.github.com/users/atorok/repos","events_url":"https://api.github.com/users/atorok/events{/privacy}","received_events_url":"https://api.github.com/users/atorok/received_events","type":"User","site_admin":false},"body":"We might want to wrap the exception here to add some additional context.\r\nImagine this fails 6 months from now, will it be obvious from the failure that the passwrod was not applied or will it look as if elasticsearch didn't start ? I'm not sure what the error looks like, guess it's better if it's an authentication failure, but the additional context certainly doesn't hurt. ","created_at":"2019-11-11T10:51:24Z","updated_at":"2019-11-11T10:51:25Z","html_url":"https://github.com/elastic/elasticsearch/pull/47573#discussion_r344655602","pull_request_url":"https://api.github.com/repos/elastic/elasticsearch/pulls/47573","author_association":"CONTRIBUTOR","_links":{"self":{"href":"https://api.github.com/repos/elastic/elasticsearch/pulls/comments/344655602"},"html":{"href":"https://github.com/elastic/elasticsearch/pull/47573#discussion_r344655602"},"pull_request":{"href":"https://api.github.com/repos/elastic/elasticsearch/pulls/47573"}}},"pull_request":{"url":"https://api.github.com/repos/elastic/elasticsearch/pulls/47573","id":324655927,"node_id":"MDExOlB1bGxSZXF1ZXN0MzI0NjU1OTI3","html_url":"https://github.com/elastic/elasticsearch/pull/47573","diff_url":"https://github.com/elastic/elasticsearch/pull/47573.diff","patch_url":"https://github.com/elastic/elasticsearch/pull/47573.patch","issue_url":"https://api.github.com/repos/elastic/elasticsearch/issues/47573","number":47573,"state":"open","locked":false,"title":"Support `_FILE` suffixed env vars in Docker entrypoint","user":{"login":"pugnascotia","id":8696382,"node_id":"MDQ6VXNlcjg2OTYzODI=","avatar_url":"https://avatars1.githubusercontent.com/u/8696382?v=4","gravatar_id":"","url":"https://api.github.com/users/pugnascotia","html_url":"https://github.com/pugnascotia","followers_url":"https://api.github.com/users/pugnascotia/followers","following_url":"https://api.github.com/users/pugnascotia/following{/other_user}","gists_url":"https://api.github.com/users/pugnascotia/gists{/gist_id}","starred_url":"https://api.github.com/users/pugnascotia/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pugnascotia/subscriptions","organizations_url":"https://api.github.com/users/pugnascotia/orgs","repos_url":"https://api.github.com/users/pugnascotia/repos","events_url":"https://api.github.com/users/pugnascotia/events{/privacy}","received_events_url":"https://api.github.com/users/pugnascotia/received_events","type":"User","site_admin":false},"body":"Closes #43603. Allow environment variables to be passed to ES in a Docker container via a file, by setting an environment variable with the `_FILE` suffix that points to the file with the intended value of the env var.\r\n\r\nFor example, the following command runs an ES container and sets the bootstrap password via the `/run/secrets/bootstrapPassword.txt` file, by bind-mounting a directory as `/run/secrets/`.\r\n\r\n```\r\ndocker run \\\r\n  -it \\\r\n  --rm \\\r\n  -p 9200:9200 \\\r\n  -p 9300:9300 \\\r\n  -e ELASTIC_PASSWORD_FILE=/run/secrets/bootstrapPassword.txt \\\r\n  -v $PWD/secrets:/run/secrets \\\r\n  -e \"discovery.type=single-node\" \\\r\n  -e xpack.security.enabled=true \\\r\n  elasticsearch:test\r\n```\r\n","created_at":"2019-10-04T12:25:29Z","updated_at":"2019-11-11T10:51:25Z","closed_at":null,"merged_at":null,"merge_commit_sha":"98cd239af7c25877484dad170ae043d180f2a852","assignee":null,"assignees":[],"requested_reviewers":[{"login":"dliappis","id":1754575,"node_id":"MDQ6VXNlcjE3NTQ1NzU=","avatar_url":"https://avatars0.githubusercontent.com/u/1754575?v=4","gravatar_id":"","url":"https://api.github.com/users/dliappis","html_url":"https://github.com/dliappis","followers_url":"https://api.github.com/users/dliappis/followers","following_url":"https://api.github.com/users/dliappis/following{/other_user}","gists_url":"https://api.github.com/users/dliappis/gists{/gist_id}","starred_url":"https://api.github.com/users/dliappis/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dliappis/subscriptions","organizations_url":"https://api.github.com/users/dliappis/orgs","repos_url":"https://api.github.com/users/dliappis/repos","events_url":"https://api.github.com/users/dliappis/events{/privacy}","received_events_url":"https://api.github.com/users/dliappis/received_events","type":"User","site_admin":false}],"requested_teams":[],"labels":[{"id":114977275,"node_id":"MDU6TGFiZWwxMTQ5NzcyNzU=","url":"https://api.github.com/repos/elastic/elasticsearch/labels/:Core/Infra/Packaging","name":":Core/Infra/Packaging","color":"0e8a16","default":false},{"id":1619315113,"node_id":"MDU6TGFiZWwxNjE5MzE1MTEz","url":"https://api.github.com/repos/elastic/elasticsearch/labels/v7.6.0","name":"v7.6.0","color":"DDDDDD","default":false},{"id":1194435738,"node_id":"MDU6TGFiZWwxMTk0NDM1NzM4","url":"https://api.github.com/repos/elastic/elasticsearch/labels/v8.0.0","name":"v8.0.0","color":"dddddd","default":false}],"milestone":null,"commits_url":"https://api.github.com/repos/elastic/elasticsearch/pulls/47573/commits","review_comments_url":"https://api.github.com/repos/elastic/elasticsearch/pulls/47573/comments","review_comment_url":"https://api.github.com/repos/elastic/elasticsearch/pulls/comments{/number}","comments_url":"https://api.github.com/repos/elastic/elasticsearch/issues/47573/comments","statuses_url":"https://api.github.com/repos/elastic/elasticsearch/statuses/0162ef20e1c27ef1ae649b2bea5301643788242d","head":{"label":"pugnascotia:43603-docker-entrypoint-file-suffix","ref":"43603-docker-entrypoint-file-suffix","sha":"0162ef20e1c27ef1ae649b2bea5301643788242d","user":{"login":"pugnascotia","id":8696382,"node_id":"MDQ6VXNlcjg2OTYzODI=","avatar_url":"https://avatars1.githubusercontent.com/u/8696382?v=4","gravatar_id":"","url":"https://api.github.com/users/pugnascotia","html_url":"https://github.com/pugnascotia","followers_url":"https://api.github.com/users/pugnascotia/followers","following_url":"https://api.github.com/users/pugnascotia/following{/other_user}","gists_url":"https://api.github.com/users/pugnascotia/gists{/gist_id}","starred_url":"https://api.github.com/users/pugnascotia/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pugnascotia/subscriptions","organizations_url":"https://api.github.com/users/pugnascotia/orgs","repos_url":"https://api.github.com/users/pugnascotia/repos","events_url":"https://api.github.com/users/pugnascotia/events{/privacy}","received_events_url":"https://api.github.com/users/pugnascotia/received_events","type":"User","site_admin":false},"repo":{"id":199003699,"node_id":"MDEwOlJlcG9zaXRvcnkxOTkwMDM2OTk=","name":"elasticsearch","full_name":"pugnascotia/elasticsearch","private":false,"owner":{"login":"pugnascotia","id":8696382,"node_id":"MDQ6VXNlcjg2OTYzODI=","avatar_url":"https://avatars1.githubusercontent.com/u/8696382?v=4","gravatar_id":"","url":"https://api.github.com/users/pugnascotia","html_url":"https://github.com/pugnascotia","followers_url":"https://api.github.com/users/pugnascotia/followers","following_url":"https://api.github.com/users/pugnascotia/following{/other_user}","gists_url":"https://api.github.com/users/pugnascotia/gists{/gist_id}","starred_url":"https://api.github.com/users/pugnascotia/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pugnascotia/subscriptions","organizations_url":"https://api.github.com/users/pugnascotia/orgs","repos_url":"https://api.github.com/users/pugnascotia/repos","events_url":"https://api.github.com/users/pugnascotia/events{/privacy}","received_events_url":"https://api.github.com/users/pugnascotia/received_events","type":"User","site_admin":false},"html_url":"https://github.com/pugnascotia/elasticsearch","description":"Open Source, Distributed, RESTful Search Engine","fork":true,"url":"https://api.github.com/repos/pugnascotia/elasticsearch","forks_url":"https://api.github.com/repos/pugnascotia/elasticsearch/forks","keys_url":"https://api.github.com/repos/pugnascotia/elasticsearch/keys{/key_id}","collaborators_url":"https://api.github.com/repos/pugnascotia/elasticsearch/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/pugnascotia/elasticsearch/teams","hooks_url":"https://api.github.com/repos/pugnascotia/elasticsearch/hooks","issue_events_url":"https://api.github.com/repos/pugnascotia/elasticsearch/issues/events{/number}","events_url":"https://api.github.com/repos/pugnascotia/elasticsearch/events","assignees_url":"https://api.github.com/repos/pugnascotia/elasticsearch/assignees{/user}","branches_url":"https://api.github.com/repos/pugnascotia/elasticsearch/branches{/branch}","tags_url":"https://api.github.com/repos/pugnascotia/elasticsearch/tags","blobs_url":"https://api.github.com/repos/pugnascotia/elasticsearch/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/pugnascotia/elasticsearch/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/pugnascotia/elasticsearch/git/refs{/sha}","trees_url":"https://api.github.com/repos/pugnascotia/elasticsearch/git/trees{/sha}","statuses_url":"https://api.github.com/repos/pugnascotia/elasticsearch/statuses/{sha}","languages_url":"https://api.github.com/repos/pugnascotia/elasticsearch/languages","stargazers_url":"https://api.github.com/repos/pugnascotia/elasticsearch/stargazers","contributors_url":"https://api.github.com/repos/pugnascotia/elasticsearch/contributors","subscribers_url":"https://api.github.com/repos/pugnascotia/elasticsearch/subscribers","subscription_url":"https://api.github.com/repos/pugnascotia/elasticsearch/subscription","commits_url":"https://api.github.com/repos/pugnascotia/elasticsearch/commits{/sha}","git_commits_url":"https://api.github.com/repos/pugnascotia/elasticsearch/git/commits{/sha}","comments_url":"https://api.github.com/repos/pugnascotia/elasticsearch/comments{/number}","issue_comment_url":"https://api.github.com/repos/pugnascotia/elasticsearch/issues/comments{/number}","contents_url":"https://api.github.com/repos/pugnascotia/elasticsearch/contents/{+path}","compare_url":"https://api.github.com/repos/pugnascotia/elasticsearch/compare/{base}...{head}","merges_url":"https://api.github.com/repos/pugnascotia/elasticsearch/merges","archive_url":"https://api.github.com/repos/pugnascotia/elasticsearch/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/pugnascotia/elasticsearch/downloads","issues_url":"https://api.github.com/repos/pugnascotia/elasticsearch/issues{/number}","pulls_url":"https://api.github.com/repos/pugnascotia/elasticsearch/pulls{/number}","milestones_url":"https://api.github.com/repos/pugnascotia/elasticsearch/milestones{/number}","notifications_url":"https://api.github.com/repos/pugnascotia/elasticsearch/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/pugnascotia/elasticsearch/labels{/name}","releases_url":"https://api.github.com/repos/pugnascotia/elasticsearch/releases{/id}","deployments_url":"https://api.github.com/repos/pugnascotia/elasticsearch/deployments","created_at":"2019-07-26T11:16:40Z","updated_at":"2019-11-05T09:25:54Z","pushed_at":"2019-11-11T10:41:26Z","git_url":"git://github.com/pugnascotia/elasticsearch.git","ssh_url":"git@github.com:pugnascotia/elasticsearch.git","clone_url":"https://github.com/pugnascotia/elasticsearch.git","svn_url":"https://github.com/pugnascotia/elasticsearch","homepage":"https://www.elastic.co/products/elasticsearch","size":675626,"stargazers_count":0,"watchers_count":0,"language":"Java","has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":0,"license":{"key":"other","name":"Other","spdx_id":"NOASSERTION","url":null,"node_id":"MDc6TGljZW5zZTA="},"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"elastic:master","ref":"master","sha":"01030caf8e415186ca9c325b3a4d935f3372a963","user":{"login":"elastic","id":6764390,"node_id":"MDEyOk9yZ2FuaXphdGlvbjY3NjQzOTA=","avatar_url":"https://avatars0.githubusercontent.com/u/6764390?v=4","gravatar_id":"","url":"https://api.github.com/users/elastic","html_url":"https://github.com/elastic","followers_url":"https://api.github.com/users/elastic/followers","following_url":"https://api.github.com/users/elastic/following{/other_user}","gists_url":"https://api.github.com/users/elastic/gists{/gist_id}","starred_url":"https://api.github.com/users/elastic/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/elastic/subscriptions","organizations_url":"https://api.github.com/users/elastic/orgs","repos_url":"https://api.github.com/users/elastic/repos","events_url":"https://api.github.com/users/elastic/events{/privacy}","received_events_url":"https://api.github.com/users/elastic/received_events","type":"Organization","site_admin":false},"repo":{"id":507775,"node_id":"MDEwOlJlcG9zaXRvcnk1MDc3NzU=","name":"elasticsearch","full_name":"elastic/elasticsearch","private":false,"owner":{"login":"elastic","id":6764390,"node_id":"MDEyOk9yZ2FuaXphdGlvbjY3NjQzOTA=","avatar_url":"https://avatars0.githubusercontent.com/u/6764390?v=4","gravatar_id":"","url":"https://api.github.com/users/elastic","html_url":"https://github.com/elastic","followers_url":"https://api.github.com/users/elastic/followers","following_url":"https://api.github.com/users/elastic/following{/other_user}","gists_url":"https://api.github.com/users/elastic/gists{/gist_id}","starred_url":"https://api.github.com/users/elastic/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/elastic/subscriptions","organizations_url":"https://api.github.com/users/elastic/orgs","repos_url":"https://api.github.com/users/elastic/repos","events_url":"https://api.github.com/users/elastic/events{/privacy}","received_events_url":"https://api.github.com/users/elastic/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/elastic/elasticsearch","description":"Open Source, Distributed, RESTful Search Engine","fork":false,"url":"https://api.github.com/repos/elastic/elasticsearch","forks_url":"https://api.github.com/repos/elastic/elasticsearch/forks","keys_url":"https://api.github.com/repos/elastic/elasticsearch/keys{/key_id}","collaborators_url":"https://api.github.com/repos/elastic/elasticsearch/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/elastic/elasticsearch/teams","hooks_url":"https://api.github.com/repos/elastic/elasticsearch/hooks","issue_events_url":"https://api.github.com/repos/elastic/elasticsearch/issues/events{/number}","events_url":"https://api.github.com/repos/elastic/elasticsearch/events","assignees_url":"https://api.github.com/repos/elastic/elasticsearch/assignees{/user}","branches_url":"https://api.github.com/repos/elastic/elasticsearch/branches{/branch}","tags_url":"https://api.github.com/repos/elastic/elasticsearch/tags","blobs_url":"https://api.github.com/repos/elastic/elasticsearch/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/elastic/elasticsearch/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/elastic/elasticsearch/git/refs{/sha}","trees_url":"https://api.github.com/repos/elastic/elasticsearch/git/trees{/sha}","statuses_url":"https://api.github.com/repos/elastic/elasticsearch/statuses/{sha}","languages_url":"https://api.github.com/repos/elastic/elasticsearch/languages","stargazers_url":"https://api.github.com/repos/elastic/elasticsearch/stargazers","contributors_url":"https://api.github.com/repos/elastic/elasticsearch/contributors","subscribers_url":"https://api.github.com/repos/elastic/elasticsearch/subscribers","subscription_url":"https://api.github.com/repos/elastic/elasticsearch/subscription","commits_url":"https://api.github.com/repos/elastic/elasticsearch/commits{/sha}","git_commits_url":"https://api.github.com/repos/elastic/elasticsearch/git/commits{/sha}","comments_url":"https://api.github.com/repos/elastic/elasticsearch/comments{/number}","issue_comment_url":"https://api.github.com/repos/elastic/elasticsearch/issues/comments{/number}","contents_url":"https://api.github.com/repos/elastic/elasticsearch/contents/{+path}","compare_url":"https://api.github.com/repos/elastic/elasticsearch/compare/{base}...{head}","merges_url":"https://api.github.com/repos/elastic/elasticsearch/merges","archive_url":"https://api.github.com/repos/elastic/elasticsearch/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/elastic/elasticsearch/downloads","issues_url":"https://api.github.com/repos/elastic/elasticsearch/issues{/number}","pulls_url":"https://api.github.com/repos/elastic/elasticsearch/pulls{/number}","milestones_url":"https://api.github.com/repos/elastic/elasticsearch/milestones{/number}","notifications_url":"https://api.github.com/repos/elastic/elasticsearch/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/elastic/elasticsearch/labels{/name}","releases_url":"https://api.github.com/repos/elastic/elasticsearch/releases{/id}","deployments_url":"https://api.github.com/repos/elastic/elasticsearch/deployments","created_at":"2010-02-08T13:20:56Z","updated_at":"2019-11-11T10:29:11Z","pushed_at":"2019-11-11T10:48:03Z","git_url":"git://github.com/elastic/elasticsearch.git","ssh_url":"git@github.com:elastic/elasticsearch.git","clone_url":"https://github.com/elastic/elasticsearch.git","svn_url":"https://github.com/elastic/elasticsearch","homepage":"https://www.elastic.co/products/elasticsearch","size":684057,"stargazers_count":45313,"watchers_count":45313,"language":"Java","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":15283,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":2227,"license":{"key":"other","name":"Other","spdx_id":"NOASSERTION","url":null,"node_id":"MDc6TGljZW5zZTA="},"forks":15283,"open_issues":2227,"watchers":45313,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/elastic/elasticsearch/pulls/47573"},"html":{"href":"https://github.com/elastic/elasticsearch/pull/47573"},"issue":{"href":"https://api.github.com/repos/elastic/elasticsearch/issues/47573"},"comments":{"href":"https://api.github.com/repos/elastic/elasticsearch/issues/47573/comments"},"review_comments":{"href":"https://api.github.com/repos/elastic/elasticsearch/pulls/47573/comments"},"review_comment":{"href":"https://api.github.com/repos/elastic/elasticsearch/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/elastic/elasticsearch/pulls/47573/commits"},"statuses":{"href":"https://api.github.com/repos/elastic/elasticsearch/statuses/0162ef20e1c27ef1ae649b2bea5301643788242d"}},"author_association":"CONTRIBUTOR"}}
other: {"actor":{"display_login":"atorok"}}