Добавить интеграцию в приватные каналы Slack

Я пытаюсь разобраться, как настроить интеграцию чата для публикации в частный канал Slack. Мне это удалось сделать с Asana, нашим менеджером задач, но в Discourse, похоже, такой возможности нет.

Когда я создаю частный канал и перехожу в раздел «Добавить приложения», Asana предлагает мне опцию добавления, а в Discourse у меня есть только опция просмотра.

Не уверен, что это просто ограничение прав доступа в Slack для приложения Discourse. К сожалению, я больше не являюсь администратором нашего экземпляра Slack, поэтому мне нужно будет поработать с моей IT-группой, чтобы протестировать это. Буду признателен за любые советы.

Вот скриншоты при попытке добавить оба приложения:

1 лайк

Я протестировал это на своём аккаунте Slack. На этом аккаунте я могу добавить приложение Discourse в приватный канал, нажав на ссылку «Добавить приложение» в канале. Это работает как для приватных каналов, в которых состоит администратор Slack, так и для тех, в которых он не состоит.

Если вам предлагается только разрешить приложению Discourse просматривать приватные каналы, проблема может быть связана с правами доступа, предоставленными приложению Discourse. На моём аккаунте я использую следующие права, указанные в шаге 5 по адресу https://meta.discourse.org/t/set-up-slack-notifications-using-the-discourse-chat-integration-plugin/66730:

  • chat:write
  • chat:write.customize
  • users:read
  • channels:history
  • groups:history
  • im:history
3 лайка

Да, нам не хватало двух разрешений (топ-чат), но, что странно, даже после того, как мы сделали приложение доступным во всех каналах, оно, похоже, начинает работать только в приватных каналах, когда я приглашаю администратора Slack в канал. Я предполагаю, что с нашими разрешениями что-то не так, но мне нужно будет провести дополнительное тестирование с ним на следующей неделе. Спасибо за обновление.

Отлично, вот текущий прогресс по тестированию.

Я считаю, что все разрешения настроены правильно, но мой администратор Slack ушёл с работы на сегодня. Я заметил, что при попытке публикации в закрытый канал Slack возникает ошибка о том, что канал не существует. Сначала я подумал, что это может быть связано с тем, что я только что создал канал для тестирования, поэтому попробовал более старый тестовый канал и получил то же сообщение об ошибке в наборе правил.

При нажатии на ошибку отображаются следующие детали:

{
  "error_key": "chat_integration.provider.slack.errors.channel_not_found",
  "request": "",
  "response_code": "200",
  "response_body": "{\"ok\":false,\"error\":\"channel_not_found\"}"
}

Затем я добавил своего администратора Slack в канал и снова отправил сообщение. На этот раз всё прошло успешно. Я не могу проверить, будет ли интеграция работать после удаления администратора, пока он не вернётся в сеть. Если это сработает, то, полагаю, это и есть обходной путь, если только нет способа запустить интеграцию в закрытом канале без добавления администратора Slack.

@awlogan Я решил эту ошибку именно так: пригласил чат-бота в каждый конкретный канал в Slack, как описано здесь:

/invite @discourse_integration_name_you_chose

2 лайка

Спасибо @sunjam, мне нужно будет выяснить, как настроен этот бот в Slack. Очевидные имена (то, от чего он публикует сообщения, discourse_integration) не находятся через команду /invite. Спасибо за подсказку!

Вы создаете пользователя-бота в рамках описанного процесса настройки в Slack, после чего необходимо пригласить его в каждую конкретную комнату. << Если существует более простой способ сделать это, я был бы рад узнать об этом.

2 лайка

Привет! Подскажите, пожалуйста, удалось ли кому-нибудь с момента последнего сообщения в этой теме интегрировать Discourse в приватный канал Slack? Я пробовал несколько вариантов, но пока не смог заставить это работать так, чтобы посты из Discourse отображались в приватном канале, как это происходит в публичных. У кого-нибудь получилось? Есть ли какие-то советы, которыми можно поделиться? Спасибо!