{"id":28125121,"url":"https://github.com/xing/msteams_hermes","last_synced_at":"2025-05-14T09:20:25.330Z","repository":{"id":150893022,"uuid":"531822619","full_name":"xing/msteams_hermes","owner":"xing","description":"Send messages to any Microsoft Teams' channel as easy as possible","archived":false,"fork":false,"pushed_at":"2024-12-20T16:41:00.000Z","size":36,"stargazers_count":1,"open_issues_count":0,"forks_count":1,"subscribers_count":17,"default_branch":"main","last_synced_at":"2025-05-14T09:18:06.282Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/xing.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-09-02T07:18:58.000Z","updated_at":"2024-12-20T16:40:27.000Z","dependencies_parsed_at":"2024-01-08T09:42:08.044Z","dependency_job_id":"ff1b2ca7-ff37-45fd-b24f-f1a0c0080d31","html_url":"https://github.com/xing/msteams_hermes","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xing%2Fmsteams_hermes","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xing%2Fmsteams_hermes/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xing%2Fmsteams_hermes/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xing%2Fmsteams_hermes/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/xing","download_url":"https://codeload.github.com/xing/msteams_hermes/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254110399,"owners_count":22016393,"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":[],"created_at":"2025-05-14T09:20:17.067Z","updated_at":"2025-05-14T09:20:25.319Z","avatar_url":"https://github.com/xing.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"# MsTeamsHermes\n\nLike Hermes, the messenger of the greek gods, this gem helps you sending messages to your Microsoft Teams channels. With autonomy to create your own layouts, like UI kits such as React, Flutter, SwiftUI (and some others), you will be able to customize it with the objects representations of [Microsoft's adaptive cards](https://adaptivecards.io/explorer/). \n\n## Installation\n\nAdd this line to your application's Gemfile:\n\n```ruby\ngem 'msteams_hermes'\n```\n\nAnd then execute:\n\n    $ bundle install\n\nOr install it yourself as:\n\n    $ gem install msteams_hermes\n\n## Usage\n\nFirst of all, you need a Webhook URL, which is responsible to identify which channel should receive the messages we are about to send. To generate one, follow [Microsoft's instructions](https://docs.microsoft.com/en-us/microsoftteams/platform/webhooks-and-connectors/how-to/add-incoming-webhook).\n\n### Your first message\n\nA default _Hello World!_ message could be sent by simply:\n\n```ruby\nrequire \"msteams_hermes/components/adaptive_card\"\nrequire \"msteams_hermes/components/text_block\"\nrequire \"msteams_hermes/message\"\n\ncontent = MsTeamsHermes::Components::AdaptiveCard.new(\n  body: [\n    MsTeamsHermes::Components::TextBlock.new(\n      text: \"Hello World!\",\n    )\n  ]\n)\n\nMsTeamsHermes::Message.new(webhook_url: \u003cYOUR_WEBHOOK_URL\u003e, content: content).deliver\n```\n\n- You can provide the `webhook_url` by either sending it as a param or setting it as an environment variable, but it must not be nil.\n- `content` must always be an `AdaptiveCard`, which is the top component for Microsoft's webhook messages.\n\nEach component, each style, each action is a 1:1 representation from [Microsoft's adaptive cards](https://adaptivecards.io/explorer/).\n\nIf you want a more elaborated example on how to create message with complex layouts, check out this [example](https://github.com/xing/msteams_hermes/blob/main/complex_example.rb).\n\n## Contributing\n\nBug reports and pull requests are welcome on GitHub at https://github.com/xing/msteams_hermes. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [code of conduct](https://github.com/xing/msteams_hermes/blob/main/CODE_OF_CONDUCT.md).\n\n### Adding new components, styles and actions\n\nEvery new component, style or action must implement the `to_hash` method, which serializes the object into a hash object to be sent to the `webhook_url`. When implementing the `to_hash` method, pay attention to the JSON structure of the given object, usually described on the _Example_ section of its documentation on [adaptivecards.io](https://adaptivecards.io/explorer/).\n\n## License\n\nThe gem is available as open source under the terms of the [MIT License](https://opensource.org/licenses/MIT).\n\n## Code of Conduct\n\nEveryone interacting in the MsTeamsHermes project's codebases, issue trackers, chat rooms and mailing lists is expected to follow the [code of conduct](https://github.com/xing/msteams_hermes/blob/main/CODE_OF_CONDUCT.md).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fxing%2Fmsteams_hermes","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fxing%2Fmsteams_hermes","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fxing%2Fmsteams_hermes/lists"}