Manage Slack integration folder mappings
Manage Slack integration folder mappings
This script helps manage the folder mappings between Slack and Box if using Box as the content store for Slack. It creates a list of current Slack channel and Box folder mappings and can create or update mappings based on input csv. This script will maintain all permissions.
For more details, you can checkout the Github repo.
Prerequisites
Clone script
Clone this GitHub repo or download files from the /examples
directory
git clone https://github.com/box/boxcli.git
Windows
Install the latest version of dotnet core.
MacOS & Linux
Install PowerShell. Run the pwsh
command to test the installation.
pwsh
Depending on the directory you are running the command in, the output may differ. For example:
PowerShell 7.2.5
Copyright (c) Microsoft Corporation.
https://aka.ms/powershell
Type 'help' to get help.
PS /Users/user/repos/boxcli/examples>
Box CLI Install
Configure and install the Box CLI using the OAuth CLI Setup Quick Start. Make sure the user you use is an admin or co-admin.
Enterprise configuration
- Configure and install Box for Slack in the relevant Slack work spaces and organizations
- Box as the content layer for Slack in enabled
Run the script
Change the directory to the folder containing the script. In this example, it is the Integration Mappings
folder.
rvb@lab:~/box-cli/examples/Integration Mappings$ pwsh
PowerShell 7.2.4
Copyright (c) Microsoft Corporation.
https://aka.ms/powershell
Type 'help' to get help.
PS /home/rvb/box-cli/examples/Integration Mappings>
Run the script with EXTRACT to extract current mappings:
./integration-mappings.ps1 -Action EXTRACT
or
Run the script with UPDATE to update current mappings:
./integration-mappings.ps1 -Action UPDATE
or
Run the script with CREATE to create new mappings:
./integration-mappings.ps1 -Action CREATE -MappingPath ./mapping_create_example.csv
By default, the csv file will save to and load from ./mappings.csv. If you wish to change this location, you can pass in a new path like so:
./integration-mappings.ps1 -Action EXTRACT -MappingPath ./mappings_new_location.csv
If you don't specify parameters, the script will prompt you to enter them.
When the script run is completed, you will see the following output or a similar one.
When creating a mapping on a new channel, you must input a Box folder id, Slack channel id and Slack org id. You may use a Slack workspace ID in lieu of the org id. In that case, you would replace the csv column header SlackOrgId
with SlackWorkspaceId
.
Starting Process
Applying new mappings
Output [...]
All bulk input entries processed successfully.
Logging
Logs are stored in a logs
folder located in the main folder. You have access to these log files:
Integration-mappings_all.txt
that contains all log entries.Integration-mappings_errors.txt
that contains only errors.
Disclaimer
This project is a collection of open source examples and should not be treated as an officially supported product. Use at your own risk and as a source of example how to use Box CLI.