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

Я использую пакет nexylan/slack для своего приложения Symfony 3.4. Я настроил незадействованный входящий веб-перехватчик для канала #general, и он работает должным образом. Конфигурация пакета выглядит примерно так:

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, я добавил входящий веб-перехватчик и получил конечную точку. Я также хочу отправлять сообщения на канал разработчиков.

Мой вопрос в том, как я могу настроить конечную точку канала разработки, чтобы использовать ее. Есть ли способ сделать это?

Вот набор Slack


person Babagana Zannah    schedule 07.06.2018    source источник


Ответы (1)


Похоже, что пакет поддерживает только 1 конечную точку. Если вы хотите иметь несколько конечных точек, вам нужно либо разветвить, либо отправить PR.

По сути, вам нужно настроить оба файла в src/DependencyInjection.

В Configuration.php вам необходимо убедиться, что вы можете определить несколько конечных точек, добавив родительский узел массива, например. называются конечными точками. Затем внутри NexySlackExtension вы можете выполнить foreach через каждую конфигурацию конечной точки и выполнить ту же настройку, что и раньше, просто добавив префикс или суффикс. Итак, что-то вроде:

$configuration = new Configuration();
$endpointConfigs = $this->processConfiguration($configuration, $configs);

foreach ($endpointConfigs['endpoints'] as $config) {
    // ....
}

Вы также можете добавить специальную обработку для конечной точки «по умолчанию». Это уже должно сработать, хотя могут потребоваться некоторые корректировки, так как я не изучал подробно Bundle. Возможно, вы также можете связаться с автором через тикет в системе отслеживания проблем, и они помогут вам написать PR.

person dbrumann    schedule 07.06.2018
comment
Пожалуйста. Если вы хотите сделать пиар и вам нужна помощь или рецензенты, не стесняйтесь пинговать меня (@dbrumann на Github). Я посмотрю на это, когда у меня будет время. К сожалению, я не могу гарантировать, что сопровождающий пакета согласится с вашими изменениями, поэтому рекомендуется сначала спросить их, считают ли они это чем-то ценным. - person dbrumann; 07.06.2018