# Создавайте собственные автоматизации

**URL:** https://meta.discourse.org/t/create-custom-automations/275931
**Category:** Developer Guides
**Tags:** automation, how-to
**Created:** [20.Август.2023 14:57:33 UTC](https://meta.discourse.org/t/create-custom-automations/275931 "2023-08-20T14:57:33Z")
**Posts on this page:** 1
**Showing post:** 8

<div class="post-metadata">

### Author: ![simon](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/simon/32/339122_2.png) [@simon](https://meta.discourse.org/u/simon)
#### Post date: [18.Ноябрь.2023 23:07:23 UTC](https://meta.discourse.org/t/create-custom-automations/275931/8 "2023-11-18T23:07:23Z")

</div>

> [@nathank](#):
>
> Я тоже хотел бы это узнать — как только вы создадите репозиторий, подобный репозиторию @simon, как плагин получает к нему доступ?

Вам нужно установить его как любой другой плагин Discourse: [Установка плагинов в Discourse](https://meta.discourse.org/t/install-plugins-in-discourse/19157). Таким образом, вы установите плагин Automation и установите свой плагин, который добавляет пользовательские скрипты. Причина, по которой это работает, заключается в методах, определенных здесь: [https://github.com/discourse/discourse-automation/blob/main/lib/plugin/instance.rb](https://github.com/discourse/discourse-automation/blob/main/lib/plugin/instance.rb). В примере кода, который я опубликовал выше, вы увидите, что пользовательский скрипт добавляется с помощью вызова `add_automation_scriptable`.

Примечание: не устанавливайте пример автоматизации из моего репозитория на GitHub, используйте его только как пример того, как расширить плагин Automation. (Я забыл, что ссылался на него здесь, и обновил его так, чтобы он работал только с моей форкованной версией плагина Discourse Automation. Однако код, на который я ссылался здесь, по-прежнему актуален: [Create custom Automations - #6 by simon](https://meta.discourse.org/t/create-custom-automations/275931/6?u=simon). Я как можно скорее обновлю плагин automation-script-example, чтобы он работал без изменений, которые я внес в свою форкованную версию плагина Automation.)

> [@simon](#):
>
> Меня беспокоило, как лучше всего обрабатывать случай, когда несколько скриптов автоматизации запускаются триггерами «user\_added\_to\_group» или «user\_removed\_from\_group». Первоначальная версия плагина проверяла:

Мои опасения были напрасны. Это условие не требуется:

`if automation.script == "user_update_summary_email_options" && (context["kind"] == "user_added_to_group" || context["kind"] == "user_removed_from_group")`

Я скоро обновлю пример.

---

_[View the full topic](https://meta.discourse.org/t/create-custom-automations/275931)._
