Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/switcherapi/switcher-slack-app
Switcher API App for Slack
https://github.com/switcherapi/switcher-slack-app
slack slack-app switcher-api
Last synced: 26 days ago
JSON representation
Switcher API App for Slack
- Host: GitHub
- URL: https://github.com/switcherapi/switcher-slack-app
- Owner: switcherapi
- License: mit
- Created: 2021-03-20T04:49:31.000Z (almost 4 years ago)
- Default Branch: master
- Last Pushed: 2024-12-08T04:01:19.000Z (about 1 month ago)
- Last Synced: 2024-12-08T04:24:23.635Z (about 1 month ago)
- Topics: slack, slack-app, switcher-api
- Language: Python
- Homepage:
- Size: 227 KB
- Stars: 3
- Watchers: 2
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- Funding: .github/FUNDING.yml
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
***
Switcher Slack App
Control & Communicate Switcher changes[![Master CI](https://github.com/switcherapi/switcher-slack-app/actions/workflows/master.yml/badge.svg?branch=master)](https://github.com/switcherapi/switcher-slack-app/actions/workflows/master.yml)
[![Quality Gate Status](https://sonarcloud.io/api/project_badges/measure?project=switcherapi_switcher-slack-app&metric=alert_status)](https://sonarcloud.io/dashboard?id=switcherapi_switcher-slack-app)
[![Known Vulnerabilities](https://snyk.io/test/github/switcherapi/switcher-slack-app/badge.svg)](https://snyk.io/test/github/switcherapi/switcher-slack-app)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
[![Docker Hub](https://img.shields.io/docker/pulls/trackerforce/switcher-slack-app.svg)](https://hub.docker.com/r/trackerforce/switcher-slack-app)
[![Slack: Switcher-HQ](https://img.shields.io/badge/slack-@switcher/hq-blue.svg?logo=slack)](https://switcher-hq.slack.com/)***
![Switcher Slack App](https://raw.githubusercontent.com/switcherapi/switcherapi-assets/master/samples/slack/logo.png)
# About
**Switcher Slack App** is a Slack App that can be used to control Switchers from your Slack workspace.
Features included in this app are described below with examples:> **Change Request**
Open change requests selecting the Switcher or Group of Switchers to be changed.
![Slack App - Change Request](https://raw.githubusercontent.com/switcherapi/switcherapi-assets/master/samples/slack/change_request_modal.png)
Review your request and add some remarks to justify the change.
![Slack App - Change Request](https://raw.githubusercontent.com/switcherapi/switcherapi-assets/master/samples/slack/change_request_review.png)
A summary message containing all details about the change will be sent to a specific group that was choosen during the installation of the app.
![Slack App - Change Request](https://raw.githubusercontent.com/switcherapi/switcherapi-assets/master/samples/slack/change_request_approval.png)
* * *
# Running locally
## Requirements
- Python 3.11
- VirtualEnv
- Ngrok (Slack Apps requires HTTPS endpoint)## Create Slack App
The steps below will guide you through the process of creating a Slack App.
Assuming that you have signed up for a Slack account and are logged in to a Workspace.### Slack: Creating the App
1. Open https://api.slack.com/
2. Click on 'Your Apps'
3. Hit 'Create an App' and then select 'From an app manifest'
4. Select the Workspace to install the app
5. Open 'switcher-slack-app.yaml' and replace the EDNPOINTS with the app URL e.g. https://switcher-slack-app.ngrok.io
6. Copy all the content and paste to the manifest YAML space, then hit next
7. Review the summary provided, then click on 'Create'(*) Do not install the app via 'Install to Workspace' button
In order to install the app, you will need to run `https://[SWITCHER_SLACK_APP_ENDPOINT]/slack/install` in your browser.
This will trigger the callback to Switcher Management [SWITCHER_URL] to proceed with the Domain authorization.### App: Configure & Deploy
1. Create a new Virtual Env
2. Install dependencies: `make install`
3. Copy the values Client ID, Secret and Signing Secret.
4. Create a .env file based on .env.template and paste the copied values.
5. Make sure that the SWITCHER_JWT_SECRET matches the Switcher API env value for SWITCHER_SLACK_JWT_SECRET
6. Make sure that Switcher Management has SWITCHERSLACKAPP_URL set to the app URL
7. Start the API by running: `make run`## Contributing
You are more than welcome to contribute to the project.
Here are some important guidelines:1. Suggestions: Open a discussion topic or issue and describe clearly what you have in mind.
2. Fix: Open an issue if you found a bug.
3. Solution: Open a PR in case we agreed upon your change suggestion discussed before.Below some basics steps that you probably are familiar with when contributing to open source projects.
[Before] Check if all tests are passing:
```
make install-test
make test
```[Chaging] Check if all tests are passing and covers the change being made:
```
make test
make cover
```