{"id":27977278,"url":"https://github.com/serokell/hermetic","last_synced_at":"2025-05-08T01:48:04.053Z","repository":{"id":34267680,"uuid":"141491790","full_name":"serokell/hermetic","owner":"serokell","description":"Slack bot that links to YouTrack issues","archived":false,"fork":false,"pushed_at":"2024-03-18T14:40:00.000Z","size":168,"stargazers_count":5,"open_issues_count":1,"forks_count":2,"subscribers_count":21,"default_branch":"master","last_synced_at":"2025-05-08T01:47:57.069Z","etag":null,"topics":["elixir","slack-bot","youtrack"],"latest_commit_sha":null,"homepage":"","language":"Elixir","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/serokell.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"COPYING.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2018-07-18T21:23:59.000Z","updated_at":"2023-07-17T21:04:18.000Z","dependencies_parsed_at":"2023-01-15T05:47:23.578Z","dependency_job_id":null,"html_url":"https://github.com/serokell/hermetic","commit_stats":null,"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/serokell%2Fhermetic","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/serokell%2Fhermetic/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/serokell%2Fhermetic/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/serokell%2Fhermetic/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/serokell","download_url":"https://codeload.github.com/serokell/hermetic/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252983737,"owners_count":21835762,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["elixir","slack-bot","youtrack"],"created_at":"2025-05-08T01:48:02.705Z","updated_at":"2025-05-08T01:48:03.733Z","avatar_url":"https://github.com/serokell.png","language":"Elixir","funding_links":[],"categories":[],"sub_categories":[],"readme":"![Logo](logo.svg)\n\n# Hermetic\n\nHermetic 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- Add a new YouTrack issue right from the chat.\n- Run an arbitrary YouTrack command on an issue right from the chat.\n\n## Build instructions\n\nRun `nix-shell` in the root of the repo to pull in elixir. Run `mix deps.get` to\npull 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\nchecking. The last one takes a while on the first run.\n\n## Usage\n\n### Adding Hermetic to the Slack\n\nCopy `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\ncommands that point to `https://yourdomain.tld/yt-add` and\n`https://yourdomain.tld/yt-cmd`. Make sure to enable user escaping so Hermetic\ncan translate Slack users (by email) to YouTrack users. You can use `nginx` for\nexample to handle `https` and routing.\n\n#### Oauth scopes\n\nThe app needs the following OAuth scopes to function:\n\n* channels:history\n* chat:write\n* commands\n* groups:history\n* im:history\n* mpim:history\n* users.profile:read\n\n### Using the bot\n\nRun 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\nAlso, Hermetic will automatically reply to any message containing `issue-ID` (e.\ng. `AD-150`) with a link to this issue.\n\n## Issue tracker\n\nWe use [YouTrack](https://issues.serokell.io/issues/INT) as our issue tracker.\nYou can login using your GitHub account to leave a comment or create a new issue.\n\n## About Serokell\n\nHermetic is maintained by [Serokell](https://serokell.io/).\n\nWe love open source software.\nSee which [services](https://serokell.io/#services) we provide and [drop us a line](mailto:hi@serokell.io) if you are interested.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fserokell%2Fhermetic","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fserokell%2Fhermetic","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fserokell%2Fhermetic/lists"}