aboutsummaryrefslogtreecommitdiff

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

  1. Open Slack, click the emoji picker, switch to the custom page, and slowly scroll until you reach the end of the list.

  2. 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

  1. Build the Docker image:
docker build -t slack2gitlab-emoji-sync .
  1. Open Slack, click the emoji picker, and slowly scroll until you reach the end of the list.

  2. 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.