modSlack. Компонент интеграции со slack.com
На днях спрашивал, нужен ли компонент интеграции со слэком, но однозначной реакции не последовало. Хотя сказали, что надо просто отдельный топик написать, чтобы больше народу увидело и высказалось. ОК, публикую.
Вообще отмечу, что компонент уже используется на сайте MODX-Клуба и у нас уже есть действующая интеграция со слэком, плюс есть готовая успешная интеграция на стороннем проекте, то есть компонент в общих чертах уже обкатанные. Скажу так: это не просто чатилка, это очень мощный инструмент для различных бизнес-решений. К примеру, у нас из слэка можно комментарии писать сразу на сайт Клуба, и они будут создаваться где надо и от имени MODX-пользователя автора. Это очень крутая фишка. Область применения практически неограниченная. Печально только то, что на бесплатном аккаунте нет возможности создавать отдельные группы пользователей со своими наборами политик доступа, но это не большая проблема.
Краткая инструкция подключения.
1. Создаем в слэке свою команду slack.com/create
2. Идем на страницу приложений api.slack.com/apps и создаем новое.

3. Переходим в «OAuth & Permissions» и указываем Redirect URL вида your.site/assets/components/modslack/connectors/connector.php?pub_action=access

На этом настройка на стороне слэка закончилась. Теперь на стороне самого сайта надо настроить доступы и получить токен.
1. Заходим в системные настройки и указываем client-id и client-secret.

Эти данные находятся в базовой информации вашего слэк-приложения

2. Запрашиваем токен для главного пользователя. Для этого переходим по ссылке вида ваша-команда.slack.com/oauth/authorize?scope=identify,client,admin&client_id=ID-вашего-приложения(client-id). В ответ вы должны получить подобное окно:

Важно! Вы должны быть авторизованы на своем сайте, так как после авторизации в слэке вы будете переброшены на ваш сайт и там должен привязаться токен к вашему аккаунту.
Если все хорошо прошло, то к вашему MODX-пользователю будет привязан токен доступа в слэк. Чтобы проверить его, можно воспользоваться компонентом Console. При установке modSlack сразу создает для него специальный скрипт с несколькими базовыми командами.

Загрузив и выполнив его, вы должны увидеть информацию об успешной авторизации

Если авторизация успешна, то можно выполнять прочие команды. К примеру, можно получить список каналов

Или пригласить нового пользователя в слэк.

Вот здесь очень важный момент: с приглашениями не все так просто. К сожалению, нельзя просто так взять и создать пользователя в слэке. Это все происходит в два этапа:
1. Приглашаем пользователя (выше вызов процессора написал).
Пользователь получает на почту приглашение в слэк (не на ваш сайт, а именно в слэк). Там он регистриуется и получает личный слэк-аккаунт. В этот момент сайт еще ничего не знает об этом пользователей (спойлер: скоро научится)).
2. После этого пользователь должен авторизоваться на вашем сайте так же, как системный пользователь, только без прав admin, то есть ссылка вида ваша-команда.slack.com/oauth/authorize?scope=identify,client&client_id=ID-вашего-приложения(client-id). Это уже ваша задача сообщить ссылку пользователю. Когда пользователь по ней пройдет и авторизует приложение, его перебросит на сайт и ему будет привязан его токен уже в базе данных сайта. Все, с этим токеном уже можно выполнять так же действия по чтению каналов, публикации комментариев и т.п.
Компонент доступен в https://modstore.pro.
Пока цена на него установлена 2990 рублей (плюс надо закладывать тысячи три на нашу помощь в более гибкой интеграции). Пока не могу сказать повысится стоимость или нет (время покажет), но меньше она не будет, так что лучше брать уже сейчас.
Буду рад комментариям.
Вообще отмечу, что компонент уже используется на сайте MODX-Клуба и у нас уже есть действующая интеграция со слэком, плюс есть готовая успешная интеграция на стороннем проекте, то есть компонент в общих чертах уже обкатанные. Скажу так: это не просто чатилка, это очень мощный инструмент для различных бизнес-решений. К примеру, у нас из слэка можно комментарии писать сразу на сайт Клуба, и они будут создаваться где надо и от имени MODX-пользователя автора. Это очень крутая фишка. Область применения практически неограниченная. Печально только то, что на бесплатном аккаунте нет возможности создавать отдельные группы пользователей со своими наборами политик доступа, но это не большая проблема.
Краткая инструкция подключения.
1. Создаем в слэке свою команду slack.com/create
2. Идем на страницу приложений api.slack.com/apps и создаем новое.

3. Переходим в «OAuth & Permissions» и указываем Redirect URL вида your.site/assets/components/modslack/connectors/connector.php?pub_action=access

На этом настройка на стороне слэка закончилась. Теперь на стороне самого сайта надо настроить доступы и получить токен.
1. Заходим в системные настройки и указываем client-id и client-secret.

Эти данные находятся в базовой информации вашего слэк-приложения

2. Запрашиваем токен для главного пользователя. Для этого переходим по ссылке вида ваша-команда.slack.com/oauth/authorize?scope=identify,client,admin&client_id=ID-вашего-приложения(client-id). В ответ вы должны получить подобное окно:

Важно! Вы должны быть авторизованы на своем сайте, так как после авторизации в слэке вы будете переброшены на ваш сайт и там должен привязаться токен к вашему аккаунту.
Если все хорошо прошло, то к вашему MODX-пользователю будет привязан токен доступа в слэк. Чтобы проверить его, можно воспользоваться компонентом Console. При установке modSlack сразу создает для него специальный скрипт с несколькими базовыми командами.

Загрузив и выполнив его, вы должны увидеть информацию об успешной авторизации

Если авторизация успешна, то можно выполнять прочие команды. К примеру, можно получить список каналов

Или пригласить нового пользователя в слэк.

Вот здесь очень важный момент: с приглашениями не все так просто. К сожалению, нельзя просто так взять и создать пользователя в слэке. Это все происходит в два этапа:
1. Приглашаем пользователя (выше вызов процессора написал).
Пользователь получает на почту приглашение в слэк (не на ваш сайт, а именно в слэк). Там он регистриуется и получает личный слэк-аккаунт. В этот момент сайт еще ничего не знает об этом пользователей (спойлер: скоро научится)).
2. После этого пользователь должен авторизоваться на вашем сайте так же, как системный пользователь, только без прав admin, то есть ссылка вида ваша-команда.slack.com/oauth/authorize?scope=identify,client&client_id=ID-вашего-приложения(client-id). Это уже ваша задача сообщить ссылку пользователю. Когда пользователь по ней пройдет и авторизует приложение, его перебросит на сайт и ему будет привязан его токен уже в базе данных сайта. Все, с этим токеном уже можно выполнять так же действия по чтению каналов, публикации комментариев и т.п.
Компонент доступен в https://modstore.pro.
Пока цена на него установлена 2990 рублей (плюс надо закладывать тысячи три на нашу помощь в более гибкой интеграции). Пока не могу сказать повысится стоимость или нет (время покажет), но меньше она не будет, так что лучше брать уже сейчас.
Буду рад комментариям.
Комментарии: 20
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
Fi1osofСкоро возможно понадобится!
Жаль только что много действий на стороне слэка при регистрации, но думаю результат стоит того!
Fi1osofFi1osofПочту в работе почти не используем (только предварительные какие-то обсуждения). Когда же проект запускается в работу, обязательно вся коммуникация уже выполняется через планфикс. Но когда приходит кто-то с мелкой задачей, тащить в планфикс его (в том числе заставлять там зарегистрироваться) — это уже не очень удобно. У нас в планфиксе больше сотни проектов точно (не считая мелких проектов в собирательных проектах типа «Мелкие доработки»). А через почту командно работать не удобно. В таких случаях получается, что мелки проекты попадают в зону «неудобных» и «неинтересных» (много действий ради тысячи-двух). И вот как раз в этом случае слэк очень удобен. Вот как раз вчера человек пришел с мелкими доработками, я его отправил в слэк, он зарегался, я создал отдельный групповой чат с ним и парой наших специалистов, они там оперативно все сделали. Все. После этого групповой чат дропнули. Все. Получилось и интерактивно, и минимум действий.
Создавать такие групповые чаты можно и через API. К примеру, мы планируем ввести такой сервис: запрос экстренной помощи: пользователь у нас на сайте отправляет сообщение через специальную форму, которая инициирует создание такого группового чата с нашими специалистами. Время реагирования будет менее 10 минут. Плата за услугу будет списываться с баланса.
Сейчас еще хотим реализовать отправку сообщений из слэка сразу в планфикс (там тоже есть обработчики). То есть переписываемся мы такие в общем порядке, а тут бац и рапортуют о баге какой-нибудь. Сразу взял и перенаправил сообщение в планфикс (а там уже на контроль ставить со сроками, исполнителями и т.п.).
В общем, очень много всего можно придумать.
А можете, пожалуйста, поделиться опытом внедрения планфикса. Интерфейс адский на то, чтобы с ним работать нужно реально потратить время. Как у вас коллеги отнеслись к переходу на него?
Чем сервис вообще удобен?
Fi1osofАдский??? Конечно у каждого свое мнение, но у нас многие сходятся во мнении, что в планфиксе многое сделано классно, и не мало наших клиентов, которые работали с нами в планфиксе, начали использовать его для себя. В общем, коллеги тоже нормально на нем сидят. Может просто надо чуть больше времени на освоение потратить?
Из плюсов, отмечу:
1. Разработчики русские. С ними всегда можно пообщаться, обсудить идеи, узнать планы и т.п. Я с ними довольно много общался и хочу сказать, что ребята очень и очень толковые. И реагируют не только на баги, но и на просьбы. Вот недавний случай: joxi.ru/gmvRZo9SLxlbom
Всего 5 дней с момента обращения, и они доработали функционал. Именно не восстановили, а доработали как я просил. joxi.ru/5mdkp83skv9Lvr
За одну только такую поддержку я никуда от них не уйду.
2. Отлично работа через почту настроена. То есть на поступающие уведомления можно отвечать прям в почте, и сообщения будут добавлены комментариями туда, куда надо. Так же у каждой задачи и у каждого проекта есть свой емейл, так что можно на эти емейлы писать, и будут созданы новые задачи и комментарии. Очень удобно. Плюс к этому можно настроить логику обработки писем, к примеру, так, чтобы при поступлении письма на указанный ящик сразу создавалась задача с заданным шаблоном.
3. Логику проекта они доработали так, что это уже не только система управления проектами, но и CRM-система. Можно лиды обрабатывать и т.п. Еще не много, и они будут не хуже битрикс24 в этом плане. Жду только от них удобного редактора бизнес-процессор, как это в битрикс24 реализовано. Тогда им вообще цены не будет.
4. Мощные отчеты у них и конструктор запросов. joxi.ru/ZrJVWD0u91KoBr
Хочу такой же в modMonitor реализовать.
И вообще там много-много всего интересного. И API есть.
Советую просто ознакомиться по вышеприведенной ссылке. Тогда к разработчикам компонента интеграции вопросы будут более конкретные.
Но зайти в этот чат стоит, все будет наглядно.
Fi1osofВ общем, еще раз: не ограничивайтесь какой-то определенной сферой, здесь можно найти применение практическ в любой сфере, была бы только фантазия.
Fi1osofКасательно же распространненного использования слака в качестве точки сбора уведомлений, то есть бесплатный modstore.pro/packages/alerts-mailing/slackify
Fi1osofПро modMonitor: можно навесить события и уведомляшки сразу слать в слэк.
Про slackify: не годится для двусторонней интеграции, только уведомляшки в одну сторону.
Fi1osofFi1osofОпять-таки, куда и как использовать — это дело каждого. Но мое мнение прежнее: сфер применения очень много.
Fi1osof