slack2gitlab-emoji-sync
syncs emojis from Slack to GitLab ❗
No Slack Enterprise Grid or API access required. The script uses Slack's desktop app logs to extract custom emojis and sync them to GitLab.
Requirements
- Perl or Docker
- Slack native 🚎 ie the desktop app
Usage
Locally
-
Open Slack, click the emoji picker, switch to the custom page, and slowly scroll until you reach the end of the list.
-
Then run the sync script:
export SLACK_WORKSPACE="..." # https://slack.com/help/articles/221769328-Locate-your-Slack-URL-or-ID
export GITLAB_TOKEN="..." # https://gitlab.com/-/user_settings/personal_access_tokens
export GITLAB_GROUP_PATH="..." # eg my_group
export GITLAB_URL="..." # optional, defaults to https://gitlab.com
export SLACK_LOGS_DIR="..." # optional, defaults to $HOME/Library/Application Support/Slack/logs/default
./sync <filter> # where filter is a regex to match emoji names in Slack, eg '.*' for all emojis
Docker
- Build the Docker image:
docker build -t slack2gitlab-emoji-sync .
-
Open Slack, click the emoji picker, and slowly scroll until you reach the end of the list.
-
Run the sync script:
Note: Adjust the Slack logs directory depending on your OS.
docker run --rm -it \
-e SLACK_WORKSPACE="..." \
-e GITLAB_TOKEN="..." \
-e GITLAB_GROUP_PATH="..." \
-e SLACK_LOGS_DIR="/slack-logs" \
-v "$HOME/Library/Application Support/Slack/logs/default":/slack-logs \
slack2gitlab-emoji-sync <filter> # where filter is a regex to match emoji names in Slack, eg '.*' for all emojis
Caveats
- If the same custom emoji is under different names in Slack, only the first one is synced.