Я использую пакет nexylan / slack для своего приложения symfony 3.4. Я настроил слабый входящий WebHook для канала #Генеральная, и он работает, как ожидалось. Конфигурация пакета выглядит примерно так:
nexy_slack:
# If you want to use an another httplug client service.
http:
client: httplug.client
# The Slack API Incoming WebHooks URL.
endpoint: https://hooks.slack.com/services/ABCD/987ABC
channel: null
username: null
icon: null
link_names: false
unfurl_links: false
unfurl_media: true
allow_markdown: true
markdown_in_attachments: []
Теперь у меня есть еще один канал под названием #dev, я добавил Incoming WebHook и получил конечную точку. Я также хочу отправлять сообщения на канал разработчиков.
Мой вопрос в том, как я могу настроить конечную точку канала разработчика, чтобы использовать ее. Как я могу это сделать?
Вот Пакет Slack






Похоже, пакет поддерживает только 1 конечную точку. Если вы хотите иметь несколько конечных точек, вам нужно либо выполнить форк, либо отправить PR.
В основном, что вам нужно сделать, это настроить оба файла в src / DependencyInjection.
В Configuration.php вам нужно убедиться, что вы можете определить несколько конечных точек, добавив родительский узел массива, например называемые конечными точками. Затем внутри NexySlackExtension вы можете выполнить foreach через каждую конфигурацию конечной точки и выполнить ту же конфигурацию, что и раньше, просто добавив префикс или суффикс. Так что-то вроде:
$configuration = new Configuration();
$endpointConfigs = $this->processConfiguration($configuration, $configs);
foreach ($endpointConfigs['endpoints'] as $config) {
// ....
}
Вы также можете захотеть добавить некоторую специальную обработку для конечной точки "по умолчанию". Это уже должно сработать, хотя может потребоваться некоторая корректировка, поскольку я не изучал пакет подробно. Возможно, вы также можете связаться с автором через тикет в системе отслеживания проблем, и они помогут вам написать PR.
Пожалуйста. Если вы хотите провести PR и вам нужна помощь или рецензенты, не стесняйтесь пинговать меня (@dbrumann на Github). Я займусь этим, когда у меня будет время. К сожалению, я не могу гарантировать, что сопровождающий пакета согласится с вашими изменениями, поэтому рекомендуется сначала спросить их, считает ли это то, что они считают ценным.