Период хранения логов Slack составляет 90 дней, и логи Slack постепенно становятся недоступными.
Это заметка о копировании пользовательских эмодзи (реакций) из Slack в Mattermost, когда мы начали использовать Mattermost.
Извлечение реакций из Slack
Сначала я думал использовать API Slack для извлечения, но с помощью расширения Chrome
Slack Custom Emoji Manager
это можно сделать очень легко, и я скачал эмодзи с его помощью.
Установите расширение Chrome и перейдите по адресу https://<ваш_Slack>.slack.com/emoji,
затем просто нажмите «Скачать все эмодзи».
Импорт в Mattermost
Мы зарегистрируем эмодзи через API с помощью curl.
Обратите внимание, что в Slack можно устанавливать названия реакций на японском, но в Mattermost
нельзя регистрировать многобайтные имена, поэтому, если у загруженных реакций есть японские названия, их необходимо исправить заранее.
Создание бота для использования API и получение токена доступа
- Выберите «Интеграция»
- Выберите «Учетная запись бота»
- Нажмите «Добавить учетную запись бота»
- Создайте учетную запись
Установите роль на «Системный администратор»
- Токен будет выдан, запомните его
Получение пользовательского ID бота
При регистрации эмодзи необходимо указать пользовательский ID бота,
поэтому мы получаем его с помощью API.
$ TOKEN="Токен, который вы только что получили"
$ CREATE_ID=$(curl -s -X GET -H "Authorization: Bearer ${TOKEN}" https://<URL Mattermost>/api/v4/users/me | jq -r .id)
$ echo $CREATE_ID
Теперь переменная CREATE_ID должна содержать пользовательский ID созданного бота.
Пакетная регистрация с использованием токена API и BotID
Поместите скачанные эмодзи в каталог и выполните следующее.
$ TOKEN="Токен, который вы только что получили"
$ CREATE_ID="Пользовательский ID бота, который вы только что получили"
$ for file in $(ls)
do
name=$(echo $file | cut -d . -f 1)
curl -X POST -H "Authorization: Bearer ${TOKEN}" \
-H "Content-Type: multipart/form-data" \
-F "emoji={\"name\":\"${name}\",\"creator_id\":\"${CREATER_ID}\"}" -F "image=@./${file}" \
https://<URL Mattermost>/api/v4/emoji
done
Теперь эмодзи будут зарегистрированы с использованием имен файлов.