tools/bctl_src/oncall/README.md
bctl oncall manages our on-call roster. The source of truth is a single file, data/schedule.oncall, that holds both the roster (who is in which rotation) and the week-by-week shift assignments.
schedule.oncallschedule.oncall - click here to edit in github.devroster_by_rotation then run bctl oncall check --fixschedule.oncall file formatThe file has three types of data:
BEGIN_ONCALL_METADATA and END_ONCALL_METADATAYYYY-MM-DD <rotation>=<person> <rotation>=<person> ...# indicates commentsbctl oncall check [--fix] parses schedule.oncall and validates it, ensuring that the file is well-formed
schedule.oncallbctl oncall notify [--post-to-slack]
#oncall with a message about who's currently oncall, who was last oncall, and upcoming oncallsbctl oncall fill-schedule [--post-to-slack]
schedule.oncall, assigning in a round-robin pattern