Skip to content

Latest commit

 

History

History
 
 

slack-config

Slack Config

YAML files in this directory control the state of Slack, via Tempelis. Updating a configuration file will result in Slack being updated once the change merges. If a change is not legal, a presubmit will fail.

Users

There is no safe, stable way to derive a specific Slack user from any human-readable identifier. Instead of using Slack IDs everywhere, a single mapping from GitHub usernames to Slack IDs is given in users.yaml. To reference a user, they must first be added to users.yaml.

Channels

Channels can be created by adding a new channel in channels.yaml. Channels should be sorted alphabetically. New channels will be created in accordance with the template specified in template.yaml.

Deleting channels is not permitted, but a channel can be archived by specifying archived: true, or unarchived by removing it (or specifying false).

To rename a channel, set its id property to its current Slack ID, then change the name.

A fully-specified channel looks like this:

- name: slack-admins # mandatory
  id: C4M06S5HS      # optional except when renaming
  archived: false    # optional for unarchived channels

Usergroups

Usergroups are pingable Slack groups. All members of a usergroup can be automatically added to certain channels. A usergroup must have at least one member. A usergroup can be removed by deleting it from the configuration.

Some usergroups (e.g. @test-infra-oncall) are managed by other tooling. To prevent Tempelis from trying to deactivate these usergroups, they can be included on the list and marked as external: true. Other usergroups should look like this:

- name: slack-admins               # mandatory, the pingable handle
  long_name: Slack Admins          # mandatory, the human-readable name
  description: Slack Admin Group   # mandatory, a description
  channels:                        # optional, a list of channels for members to auto-join
    - slack-admins
  members:                         # mandatory, a list of at least one member.
    - castrojo                     # member names must be listed in users.yaml.
    - katharine
    - jeefy
    - mrbobbytables
    - alejandrox1
    - jdumars
    - parispitmann
    - coderanger
    - idvoretskyi
    - idealhack