The purpose of this article is to explain how we set our mulitple repository notification on slack.
At first we used to have a single channel in which all notifications (issue,PR, Merge) were sent using the slack github integration. Since we are having a increasing number of repositories, we decided to create multiple channels so that they are meaningfull to the user.
Here are the current slack channels and a quick description of each :
- control : Control repositories
- deploy : Tools for sonia-deploy
- documentation : WikiJS backup repositories
- hardware : Hardware team repository
- missions : Mission repositories
- proc: Processing nodes repositories
- provider : Provider nodes repositories
- simulation : Simulation repositories
- telemetry : Telemetries repositories
- templates : Repository templates
- utilities : Multiple type applications repositories that are used as tooling (i.e: Airflow)
Upon repository creation there follow the upcoming step to complete the process:
-
Add your repository to GitHub using the required naming convention (see here)
-
Get the Discord webhook from the appropriate channel for your repository by clicking on the gear -> Integrations -> Consulter les webhooks -> Copy the webhook.
You can also get the full webhooks list in the Discord channels webhook GIST section.
- On GitHub, in the repository Settings -> Webhooks, edit or add a webhook :
- 1 : Paste the webhook and add /github at the end of the link.
- 2 : Select application/json for Content type.
- 3 : Make sure Send me everything is the option set.
¶ Slack Channels and repositories
Here is a list of each channel and the repository to which they subscribe
- control :
- sonia-auv/control_library
- sonia-auv/auv_characterization
- sonia-auv/gazebo_simulation
- sonia-auv/simulink-monitor
- deploy :
- sonia-auv/sonia_common
- sonia-auv/sonia-deploy
- sonia-auv/sonia-ros-bridge
- documentation :
- sonia-auv/wiki.js
- sonia-auv/wiki.js-content
- sonia-auv/documentation
- hardware :
- sonia-auv/hardware-esc-auv8
- sonia-auv/hardware-utility-auv8
- sonia-auv/hardware-powersupply-auv8
- sonia-auv/sonar-classification
- sonia-auv/interface_RS485
- sonia-auv/tcp_serial_redirect
- missions :
- sonia-auv/controller_mission
- sonia-auv/auv8_mission_controller_behaviors
- sonia-auv/sonia-flexbe
- sonia-auv/sonia-behaviors
- proc :
- sonia-auv/deep_detector
- sonia-auv/proc_actuators
- sonia-auv/proc_control
- sonia-auv/proc_hydrophone
- sonia-auv/proc_image_processing
- sonia-auv/proc_navigation
- sonia-auv/proc_mapping
- sonia-auv/proc_sonar
- sonia-auv/provider_underwater_com
- provider :
- sonia-auv/provider_actuators
- sonia-auv/provider_dvl
- sonia-auv/provider_hydrophone
- sonia-auv/provider_imu
- sonia-auv/provider_keypad
- sonia-auv/provider_kill_mission
- sonia-auv/provider_power
- sonia-auv/provider_sonar
- sonia-auv/provider_system
- sonia-auv/provider_thruster
- sonia-auv/provider_underwater_com
- sonia-auv/provider_vision
- simulation :
- sonia-auv/build-simulation
- sonia-auv/sonia-simulation
- sonia-auv/sonia-ros-tcp-endpoint
- telemetry :
- sonia-auv/rqt_sonia_plugins
- sonia-auv/octopus-telemetry
- github-template-notifications:
- sonia-auv/hardware-auv8-template
- sonia-auv/ros-package-repo-template
- sonia-auv/python-repo-template
- sonia-auv/typescript-repo-template
- utilities :
- sonia-auv/airflow-etl
- sonia-auv/ros-bag-extractor
- sonia-auv/labelbox-exporter
- sonia-auv/sonia-cli
- sonia-auv/ros_sonia_ws
- sonia-auv/lib_atlas
- sonia-auv/sonia_msgs
- sonia-auv/auv-drivers
- sonia-auv/auv-env-setup
The following list point to a gist with all the webhooks used in the different repositories to publish in Discord channels.
https://gist.github.com/sonia-auv-master/881efbadcfa94d2dfed00059de82b6dc