This document contains information on how to use the RotaNG web interface.
The frontpage at (https://rota-ng.appspot.com) shows your next oncall shifts for your rotations. Following the link show upcoming shifts.
Following a rotation link from the frontpage will take you to the list of current shifts.
From that list you can add yourself to a shift, remove yourself from a shift (if it does not take the number of oncallers under the rotation limit), and swap yourself in for someone else. Filling in a comment is mandatory when changing the shift.
The common way to do a shift swap would be.
If you can't find a replacement, reach out to the rotation owner.
OOO section.You‘ll not be considered for those dates when shifts are scheduled. Already scheduled shifts will be unaffected , you’ll have to swap with someone for those.
Modify for one of your existing rotations.Create new rotation.Rotation Name
Used for calendar events.
Changing this field on an existin rotation creates a copy.
Description
Describes the rotation. Also used for the summary of calendar events. See the Email templates for more information about how to fill out this field.
Calendar
This should contain the id of the team shared calendar.
Eg. google.com_d3itj7r696lolrs39d0to7rtjc@group.calendar.google.com
To give the rotation service the rights to read/modify the team calendar you need to share the calendar with the rota service account. rota-ng@appspot.gserviceaccount.com.
Owners
A comma separated list of rotation owners.
Note: This will be changed to use mdb groups in the future.
Expiration
This specifies when to automatically schedule new shifts. Setting this to 0 gives no automatic shifts will be scheduled.
Note: Nothing will be scheduled before the rotation is enabled
Shifts To Schedule
Defines how many shifts to be scheduled when Expired.
Email Subject Template
The subject of the emails sent from the rotation service to upcoming oncallers.
This uses Go templates to generated the final message.
The structures used to feed the template looks like this.
type Info struct {
RotaName string
ShiftConfig ShiftConfig
ShiftEntry ShiftEntry
Member Member
MemberURL string
}
type ShiftConfig struct {
// StartTime represents the start-time of the first shift.
// Only the Time of day is considered.
// Defaults to 00:00 PDT.
StartTime time.Time
// Length sets the number of days a shift lasts.
Length int
// Skip defines a number of days with no oncalls.
Skip int
// Shifts represents the shifts over a 24hour period.
Shifts []Shift
// ShiftMembers specifides number of members per shift.
ShiftMembers int
// Generator used to schedule new shifts.
Generator string
}
type ShiftEntry struct {
// Name of the Shift this entry belongs to.
Name string
// OnCall are the members on-call for this shift.
OnCall []ShiftMember
StartTime time.Time
EndTime time.Time
// Comment is an optional comment where the rota algo
// can add some extra information.
Comment string
// EvtID can be used to match an event to a calendar event.
EvtID string
}
type Member struct {
Name string
Email string
TZ time.Location
OOO []OOO
Preferences []Preference
}
This gives that you can have any information from the Info struct inserted in your message.
Eg.
Upcoming On-call shift for rotation: {{.RotaName}} {{.ShiftEntry.StartTime.In .Member.TZ}} to {{.ShiftEntry.EndTime.In .Member.TZ}}
Will produce:
Upcoming On-call shift for rotation: Name of rota 2006-04-05 17:00:00 -0700 PDT to 2006-04-06 17:00:00 -0700 PDT
For a member with a US Pacific TZ.
Note: The current %s format replacement will not work. You could replace the %s with {{.RotaName}} for something similar.
Email Body Template
See Email Subject Template.
Email Days Before Notify
Number of days before an on-call shift to send mails out.
Note: No mails will be produced until the rotation is enabled.
Members
Manage members of the rotation.
Shift StartTime
Specifies the start in MTV time of the first shift.
Length
Number of days a shift spans.
Skip
Skip in the shift schedule. Eg. if you rotation is weekdays only you'd set this to Length/Skip: 5/2
ShiftMembers
Number of members to schedule per shift.
Generator
What generator to use when scheduling new shifts.
Shifts for one of your existing rotations.Toggles list of previous shifts.
Shows upcoming shifts. As an owner you can modify shifts here. Rules for how many should be scheduled for a shift are overridden.
Schedules new shifts. Leaving the StartTime empty will continue scheduling from last current shift. If ShiftsToSchedule is left empty the configuration setting will be used.