slackup

backup my slacks

Installation

gem install slackup

Usage

  1. Get token for each team from https://api.slack.com/web

  2. Configure a file in the backup directory called slack_teams.yml, though slack_teams.yaml and slack_teams.json will also work.

The config file must contain an array (list) of team configurations, where each team config is a dictionary (hash) as below:

config description
name (required) the team name. e.g. some-team in some-team.slackup.com. Is used as backup directory name for the team.
nickname (optional) a nickname. When present, overrides name as the backup directory name for the team.
token (required) https://api.slack.com/custom-integrations/legacy-tokens

e.g.

slack_teams.yml

---
- name: some-team
  token: xxxp-some-token
- name: another-team
  nickname: ateam
  token: xxxp-different-token

slack_teams.json

[
  {
    "name": "some-time",
    "token": "xxxp-some-token"
  },
  {
    "name": "another-team",
    "nickname": "ateam",
    "token": "xxxp-different-token"
  }
]
  1. Run slackup in your terminal

Development

This gem is does the bare basics of backup and works for me.

It has no tests.

It depends on the 'slack-api' gem

I run it periodically via bash update.bash

#!/usr/bin/env bash -l
bundle check || bundle --quiet
git commit -am "Update before update.bash"
bundle exec slackup &&
  git commit -am "Update via update.bash" &&
    git add . && git commit -am "Add new via update.bash"

Contributing

  1. Fork it ( https://github.com/[my-github-username]/slackup/fork )
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create a new Pull Request

MIT License