Как использовать несколько конечных точек для Symfony NexySlackBundle

Я использую пакет 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

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
0
236
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Похоже, пакет поддерживает только 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). Я займусь этим, когда у меня будет время. К сожалению, я не могу гарантировать, что сопровождающий пакета согласится с вашими изменениями, поэтому рекомендуется сначала спросить их, считает ли это то, что они считают ценным.

dbrumann 07.06.2018 16:10

Другие вопросы по теме