{"action":"created","comment":{"url":"https://api.github.com/repos/serokell/hermetic/pulls/comments/233773524","pull_request_review_id":175264059,"id":233773524,"node_id":"MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDIzMzc3MzUyNA==","diff_hunk":"@@ -5,15 +5,47 @@\n Hermetic is a Slack bot for YouTrack integration. It has the following features:\n \n - Reply with an issue overview attachment whenever an issue code is mentioned.\n-- Slash commands:\n-\t- `/yt-add ProjectID [@assignee] [#tag] Title text` Add a YouTrack issue.\n-\t- `/yt-cmd issue-ID youtrack command` Run a YouTrack command on an issue.\n+- Add a new YouTrack issue right from the chat.\n+- Run an arbitrary YouTrack command on an issue right from the chat.\n \n-## Contributing\n-\n-Copy `config/example-config.exs` to `config/config.exs` and fill in the secrets.\n+## Build instructions\n \n Run `nix-shell` in the root of the repo to pull in elixir. Run `mix deps.get` to\n pull in dependencies and install hex if asked. Run `iex -S mix` to get a repl,\n `mix test` to check no tests are breaking and `mix dialyzer` to do type\n checking. The last one takes a while on the first run.\n+\n+## Usage\n+\n+### Adding Hermetic to the Slack\n+\n+Copy `config/example-config.exs` to `config/config.exs` and fill in the secrets\n+(Slack, Youtrack and Github API tokens).\n+\n+[Set up a Slack app](https://api.slack.com/slack-apps) and create two slash\n+commands that point to `https://yourdomain.tld/yt-add` and\n+`https://yourdomain.tld/yt-cmd`. Make sure to enable user escaping so Hermetic\n+can translate Slack users (by email) to YouTrack users. You can use `nginx` for\n+example to handle `https` and routing.\n+\n+### Using the bot\n+\n+Run those slash commands in a chat with Hermetic:\n+\n+- `/yt-add ProjectID [@assignee] [#tag] Title text` Add a YouTrack issue. A link to a previous message in the chat is added to an issue description.\n+- `/yt-cmd issue-ID youtrack command` Run a YouTrack command on an issue.\n+\n+Also, Hermetic will automatically reply to any message containing `issue-ID` (e.\n+g. `AD-150`) with a link to this issue.\n+\n+## Issue tracker\n+\n+We use [YouTrack](https://issues.serokell.io/issues/OPS) as our issue tracker.","path":"README.md","position":45,"original_position":45,"commit_id":"6386ab20e883cb253df08e6e610d9f6a620e64a8","original_commit_id":"6386ab20e883cb253df08e6e610d9f6a620e64a8","user":{"login":"Lucus16","id":2487922,"node_id":"MDQ6VXNlcjI0ODc5MjI=","avatar_url":"https://avatars1.githubusercontent.com/u/2487922?v=4","gravatar_id":"","url":"https://api.github.com/users/Lucus16","html_url":"https://github.com/Lucus16","followers_url":"https://api.github.com/users/Lucus16/followers","following_url":"https://api.github.com/users/Lucus16/following{/other_user}","gists_url":"https://api.github.com/users/Lucus16/gists{/gist_id}","starred_url":"https://api.github.com/users/Lucus16/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Lucus16/subscriptions","organizations_url":"https://api.github.com/users/Lucus16/orgs","repos_url":"https://api.github.com/users/Lucus16/repos","events_url":"https://api.github.com/users/Lucus16/events{/privacy}","received_events_url":"https://api.github.com/users/Lucus16/received_events","type":"User","site_admin":false},"body":"I believe this youtrack project isn't publicly accessible, but correct me if I'm wrong. It may be a good idea to create a publicly accessible youtrack project for the various open source tools we maintain, if there isn't one already.","created_at":"2018-11-15T09:45:32Z","updated_at":"2018-11-15T09:46:51Z","html_url":"https://github.com/serokell/hermetic/pull/10#discussion_r233773524","pull_request_url":"https://api.github.com/repos/serokell/hermetic/pulls/10","author_association":"CONTRIBUTOR","_links":{"self":{"href":"https://api.github.com/repos/serokell/hermetic/pulls/comments/233773524"},"html":{"href":"https://github.com/serokell/hermetic/pull/10#discussion_r233773524"},"pull_request":{"href":"https://api.github.com/repos/serokell/hermetic/pulls/10"}}},"pull_request":{"url":"https://api.github.com/repos/serokell/hermetic/pulls/10","id":230988338,"node_id":"MDExOlB1bGxSZXF1ZXN0MjMwOTg4MzM4","html_url":"https://github.com/serokell/hermetic/pull/10","diff_url":"https://github.com/serokell/hermetic/pull/10.diff","patch_url":"https://github.com/serokell/hermetic/pull/10.patch","issue_url":"https://api.github.com/repos/serokell/hermetic/issues/10","number":10,"state":"open","locked":false,"title":"[OPS-538] Update README","user":{"login":"flyingleafe","id":1803963,"node_id":"MDQ6VXNlcjE4MDM5NjM=","avatar_url":"https://avatars2.githubusercontent.com/u/1803963?v=4","gravatar_id":"","url":"https://api.github.com/users/flyingleafe","html_url":"https://github.com/flyingleafe","followers_url":"https://api.github.com/users/flyingleafe/followers","following_url":"https://api.github.com/users/flyingleafe/following{/other_user}","gists_url":"https://api.github.com/users/flyingleafe/gists{/gist_id}","starred_url":"https://api.github.com/users/flyingleafe/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/flyingleafe/subscriptions","organizations_url":"https://api.github.com/users/flyingleafe/orgs","repos_url":"https://api.github.com/users/flyingleafe/repos","events_url":"https://api.github.com/users/flyingleafe/events{/privacy}","received_events_url":"https://api.github.com/users/flyingleafe/received_events","type":"User","site_admin":false},"body":"Adhering to the rules defined in https://issues.serokell.io/issue/OPS-538.\r\n\r\nSome places still need expansion, and I lack the knowledge to do it myself - in such places I inserted TODO keywords.","created_at":"2018-11-14T21:30:46Z","updated_at":"2018-11-15T09:46:51Z","closed_at":null,"merged_at":null,"merge_commit_sha":"e58f2bf5ea29c06b37db6d762a3b6c3bf80d681b","assignee":{"login":"flyingleafe","id":1803963,"node_id":"MDQ6VXNlcjE4MDM5NjM=","avatar_url":"https://avatars2.githubusercontent.com/u/1803963?v=4","gravatar_id":"","url":"https://api.github.com/users/flyingleafe","html_url":"https://github.com/flyingleafe","followers_url":"https://api.github.com/users/flyingleafe/followers","following_url":"https://api.github.com/users/flyingleafe/following{/other_user}","gists_url":"https://api.github.com/users/flyingleafe/gists{/gist_id}","starred_url":"https://api.github.com/users/flyingleafe/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/flyingleafe/subscriptions","organizations_url":"https://api.github.com/users/flyingleafe/orgs","repos_url":"https://api.github.com/users/flyingleafe/repos","events_url":"https://api.github.com/users/flyingleafe/events{/privacy}","received_events_url":"https://api.github.com/users/flyingleafe/received_events","type":"User","site_admin":false},"assignees":[{"login":"flyingleafe","id":1803963,"node_id":"MDQ6VXNlcjE4MDM5NjM=","avatar_url":"https://avatars2.githubusercontent.com/u/1803963?v=4","gravatar_id":"","url":"https://api.github.com/users/flyingleafe","html_url":"https://github.com/flyingleafe","followers_url":"https://api.github.com/users/flyingleafe/followers","following_url":"https://api.github.com/users/flyingleafe/following{/other_user}","gists_url":"https://api.github.com/users/flyingleafe/gists{/gist_id}","starred_url":"https://api.github.com/users/flyingleafe/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/flyingleafe/subscriptions","organizations_url":"https://api.github.com/users/flyingleafe/orgs","repos_url":"https://api.github.com/users/flyingleafe/repos","events_url":"https://api.github.com/users/flyingleafe/events{/privacy}","received_events_url":"https://api.github.com/users/flyingleafe/received_events","type":"User","site_admin":false}],"requested_reviewers":[],"requested_teams":[],"labels":[{"id":1127920245,"node_id":"MDU6TGFiZWwxMTI3OTIwMjQ1","url":"https://api.github.com/repos/serokell/hermetic/labels/WIP","name":"WIP","color":"d93f0b","default":false}],"milestone":null,"commits_url":"https://api.github.com/repos/serokell/hermetic/pulls/10/commits","review_comments_url":"https://api.github.com/repos/serokell/hermetic/pulls/10/comments","review_comment_url":"https://api.github.com/repos/serokell/hermetic/pulls/comments{/number}","comments_url":"https://api.github.com/repos/serokell/hermetic/issues/10/comments","statuses_url":"https://api.github.com/repos/serokell/hermetic/statuses/6386ab20e883cb253df08e6e610d9f6a620e64a8","head":{"label":"serokell:flyingleafe/ops538","ref":"flyingleafe/ops538","sha":"6386ab20e883cb253df08e6e610d9f6a620e64a8","user":{"login":"serokell","id":13840520,"node_id":"MDEyOk9yZ2FuaXphdGlvbjEzODQwNTIw","avatar_url":"https://avatars2.githubusercontent.com/u/13840520?v=4","gravatar_id":"","url":"https://api.github.com/users/serokell","html_url":"https://github.com/serokell","followers_url":"https://api.github.com/users/serokell/followers","following_url":"https://api.github.com/users/serokell/following{/other_user}","gists_url":"https://api.github.com/users/serokell/gists{/gist_id}","starred_url":"https://api.github.com/users/serokell/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/serokell/subscriptions","organizations_url":"https://api.github.com/users/serokell/orgs","repos_url":"https://api.github.com/users/serokell/repos","events_url":"https://api.github.com/users/serokell/events{/privacy}","received_events_url":"https://api.github.com/users/serokell/received_events","type":"Organization","site_admin":false},"repo":{"id":141491790,"node_id":"MDEwOlJlcG9zaXRvcnkxNDE0OTE3OTA=","name":"hermetic","full_name":"serokell/hermetic","private":false,"owner":{"login":"serokell","id":13840520,"node_id":"MDEyOk9yZ2FuaXphdGlvbjEzODQwNTIw","avatar_url":"https://avatars2.githubusercontent.com/u/13840520?v=4","gravatar_id":"","url":"https://api.github.com/users/serokell","html_url":"https://github.com/serokell","followers_url":"https://api.github.com/users/serokell/followers","following_url":"https://api.github.com/users/serokell/following{/other_user}","gists_url":"https://api.github.com/users/serokell/gists{/gist_id}","starred_url":"https://api.github.com/users/serokell/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/serokell/subscriptions","organizations_url":"https://api.github.com/users/serokell/orgs","repos_url":"https://api.github.com/users/serokell/repos","events_url":"https://api.github.com/users/serokell/events{/privacy}","received_events_url":"https://api.github.com/users/serokell/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/serokell/hermetic","description":"Slack bot that links to YouTrack issues","fork":false,"url":"https://api.github.com/repos/serokell/hermetic","forks_url":"https://api.github.com/repos/serokell/hermetic/forks","keys_url":"https://api.github.com/repos/serokell/hermetic/keys{/key_id}","collaborators_url":"https://api.github.com/repos/serokell/hermetic/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/serokell/hermetic/teams","hooks_url":"https://api.github.com/repos/serokell/hermetic/hooks","issue_events_url":"https://api.github.com/repos/serokell/hermetic/issues/events{/number}","events_url":"https://api.github.com/repos/serokell/hermetic/events","assignees_url":"https://api.github.com/repos/serokell/hermetic/assignees{/user}","branches_url":"https://api.github.com/repos/serokell/hermetic/branches{/branch}","tags_url":"https://api.github.com/repos/serokell/hermetic/tags","blobs_url":"https://api.github.com/repos/serokell/hermetic/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/serokell/hermetic/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/serokell/hermetic/git/refs{/sha}","trees_url":"https://api.github.com/repos/serokell/hermetic/git/trees{/sha}","statuses_url":"https://api.github.com/repos/serokell/hermetic/statuses/{sha}","languages_url":"https://api.github.com/repos/serokell/hermetic/languages","stargazers_url":"https://api.github.com/repos/serokell/hermetic/stargazers","contributors_url":"https://api.github.com/repos/serokell/hermetic/contributors","subscribers_url":"https://api.github.com/repos/serokell/hermetic/subscribers","subscription_url":"https://api.github.com/repos/serokell/hermetic/subscription","commits_url":"https://api.github.com/repos/serokell/hermetic/commits{/sha}","git_commits_url":"https://api.github.com/repos/serokell/hermetic/git/commits{/sha}","comments_url":"https://api.github.com/repos/serokell/hermetic/comments{/number}","issue_comment_url":"https://api.github.com/repos/serokell/hermetic/issues/comments{/number}","contents_url":"https://api.github.com/repos/serokell/hermetic/contents/{+path}","compare_url":"https://api.github.com/repos/serokell/hermetic/compare/{base}...{head}","merges_url":"https://api.github.com/repos/serokell/hermetic/merges","archive_url":"https://api.github.com/repos/serokell/hermetic/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/serokell/hermetic/downloads","issues_url":"https://api.github.com/repos/serokell/hermetic/issues{/number}","pulls_url":"https://api.github.com/repos/serokell/hermetic/pulls{/number}","milestones_url":"https://api.github.com/repos/serokell/hermetic/milestones{/number}","notifications_url":"https://api.github.com/repos/serokell/hermetic/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/serokell/hermetic/labels{/name}","releases_url":"https://api.github.com/repos/serokell/hermetic/releases{/id}","deployments_url":"https://api.github.com/repos/serokell/hermetic/deployments","created_at":"2018-07-18T21:23:59Z","updated_at":"2018-10-30T13:25:59Z","pushed_at":"2018-11-15T09:40:55Z","git_url":"git://github.com/serokell/hermetic.git","ssh_url":"git@github.com:serokell/hermetic.git","clone_url":"https://github.com/serokell/hermetic.git","svn_url":"https://github.com/serokell/hermetic","homepage":"","size":117,"stargazers_count":0,"watchers_count":0,"language":"Elixir","has_issues":true,"has_projects":false,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"open_issues_count":1,"license":{"key":"agpl-3.0","name":"GNU Affero General Public License v3.0","spdx_id":"AGPL-3.0","url":"https://api.github.com/licenses/agpl-3.0","node_id":"MDc6TGljZW5zZTE="},"forks":0,"open_issues":1,"watchers":0,"default_branch":"master"}},"base":{"label":"serokell:master","ref":"master","sha":"4c2726403fc14683a000078dbf5576301de77354","user":{"login":"serokell","id":13840520,"node_id":"MDEyOk9yZ2FuaXphdGlvbjEzODQwNTIw","avatar_url":"https://avatars2.githubusercontent.com/u/13840520?v=4","gravatar_id":"","url":"https://api.github.com/users/serokell","html_url":"https://github.com/serokell","followers_url":"https://api.github.com/users/serokell/followers","following_url":"https://api.github.com/users/serokell/following{/other_user}","gists_url":"https://api.github.com/users/serokell/gists{/gist_id}","starred_url":"https://api.github.com/users/serokell/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/serokell/subscriptions","organizations_url":"https://api.github.com/users/serokell/orgs","repos_url":"https://api.github.com/users/serokell/repos","events_url":"https://api.github.com/users/serokell/events{/privacy}","received_events_url":"https://api.github.com/users/serokell/received_events","type":"Organization","site_admin":false},"repo":{"id":141491790,"node_id":"MDEwOlJlcG9zaXRvcnkxNDE0OTE3OTA=","name":"hermetic","full_name":"serokell/hermetic","private":false,"owner":{"login":"serokell","id":13840520,"node_id":"MDEyOk9yZ2FuaXphdGlvbjEzODQwNTIw","avatar_url":"https://avatars2.githubusercontent.com/u/13840520?v=4","gravatar_id":"","url":"https://api.github.com/users/serokell","html_url":"https://github.com/serokell","followers_url":"https://api.github.com/users/serokell/followers","following_url":"https://api.github.com/users/serokell/following{/other_user}","gists_url":"https://api.github.com/users/serokell/gists{/gist_id}","starred_url":"https://api.github.com/users/serokell/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/serokell/subscriptions","organizations_url":"https://api.github.com/users/serokell/orgs","repos_url":"https://api.github.com/users/serokell/repos","events_url":"https://api.github.com/users/serokell/events{/privacy}","received_events_url":"https://api.github.com/users/serokell/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/serokell/hermetic","description":"Slack bot that links to YouTrack issues","fork":false,"url":"https://api.github.com/repos/serokell/hermetic","forks_url":"https://api.github.com/repos/serokell/hermetic/forks","keys_url":"https://api.github.com/repos/serokell/hermetic/keys{/key_id}","collaborators_url":"https://api.github.com/repos/serokell/hermetic/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/serokell/hermetic/teams","hooks_url":"https://api.github.com/repos/serokell/hermetic/hooks","issue_events_url":"https://api.github.com/repos/serokell/hermetic/issues/events{/number}","events_url":"https://api.github.com/repos/serokell/hermetic/events","assignees_url":"https://api.github.com/repos/serokell/hermetic/assignees{/user}","branches_url":"https://api.github.com/repos/serokell/hermetic/branches{/branch}","tags_url":"https://api.github.com/repos/serokell/hermetic/tags","blobs_url":"https://api.github.com/repos/serokell/hermetic/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/serokell/hermetic/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/serokell/hermetic/git/refs{/sha}","trees_url":"https://api.github.com/repos/serokell/hermetic/git/trees{/sha}","statuses_url":"https://api.github.com/repos/serokell/hermetic/statuses/{sha}","languages_url":"https://api.github.com/repos/serokell/hermetic/languages","stargazers_url":"https://api.github.com/repos/serokell/hermetic/stargazers","contributors_url":"https://api.github.com/repos/serokell/hermetic/contributors","subscribers_url":"https://api.github.com/repos/serokell/hermetic/subscribers","subscription_url":"https://api.github.com/repos/serokell/hermetic/subscription","commits_url":"https://api.github.com/repos/serokell/hermetic/commits{/sha}","git_commits_url":"https://api.github.com/repos/serokell/hermetic/git/commits{/sha}","comments_url":"https://api.github.com/repos/serokell/hermetic/comments{/number}","issue_comment_url":"https://api.github.com/repos/serokell/hermetic/issues/comments{/number}","contents_url":"https://api.github.com/repos/serokell/hermetic/contents/{+path}","compare_url":"https://api.github.com/repos/serokell/hermetic/compare/{base}...{head}","merges_url":"https://api.github.com/repos/serokell/hermetic/merges","archive_url":"https://api.github.com/repos/serokell/hermetic/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/serokell/hermetic/downloads","issues_url":"https://api.github.com/repos/serokell/hermetic/issues{/number}","pulls_url":"https://api.github.com/repos/serokell/hermetic/pulls{/number}","milestones_url":"https://api.github.com/repos/serokell/hermetic/milestones{/number}","notifications_url":"https://api.github.com/repos/serokell/hermetic/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/serokell/hermetic/labels{/name}","releases_url":"https://api.github.com/repos/serokell/hermetic/releases{/id}","deployments_url":"https://api.github.com/repos/serokell/hermetic/deployments","created_at":"2018-07-18T21:23:59Z","updated_at":"2018-10-30T13:25:59Z","pushed_at":"2018-11-15T09:40:55Z","git_url":"git://github.com/serokell/hermetic.git","ssh_url":"git@github.com:serokell/hermetic.git","clone_url":"https://github.com/serokell/hermetic.git","svn_url":"https://github.com/serokell/hermetic","homepage":"","size":117,"stargazers_count":0,"watchers_count":0,"language":"Elixir","has_issues":true,"has_projects":false,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"open_issues_count":1,"license":{"key":"agpl-3.0","name":"GNU Affero General Public License v3.0","spdx_id":"AGPL-3.0","url":"https://api.github.com/licenses/agpl-3.0","node_id":"MDc6TGljZW5zZTE="},"forks":0,"open_issues":1,"watchers":0,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/serokell/hermetic/pulls/10"},"html":{"href":"https://github.com/serokell/hermetic/pull/10"},"issue":{"href":"https://api.github.com/repos/serokell/hermetic/issues/10"},"comments":{"href":"https://api.github.com/repos/serokell/hermetic/issues/10/comments"},"review_comments":{"href":"https://api.github.com/repos/serokell/hermetic/pulls/10/comments"},"review_comment":{"href":"https://api.github.com/repos/serokell/hermetic/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/serokell/hermetic/pulls/10/commits"},"statuses":{"href":"https://api.github.com/repos/serokell/hermetic/statuses/6386ab20e883cb253df08e6e610d9f6a620e64a8"}},"author_association":"MEMBER"}}
{"actor":{"display_login":"Lucus16"}}