A simple script to setup recurring events of different iterations (scrum sprints).
Clone this repo
git clone https://github.com/saiello/google-bulk-events.git
cd google-bulk-events
Install all required dependencies
virtualenv .env
source .venv/bin/activate
pip install -r requirements.txt
Follow the instructions to enable Google Calendar api: https://developers.google.com/calendar/api/quickstart/python
1. Prepare recipent lists
Create an attendees.json
file in the working directory, containing different kind of users
{
"team_members": [
{"email": "dev-1@email.com"},
{"email": "dev-2@email.com"},
...
],
"po": [
{"email": "product-owner@email.com"}
{"email": "stakeholder@email.com", "optional": true}
],
"others": []
}
2. Define a prefix for all events
Change the prefix that will be used in front of every events' summaries.
prefix = "<YOUR_PREFIX> - "
Apart from the summary, it is also used to calculate the event id and for this reason cannot be changed, unless you want events to be duplicated.
3. Define scrum iterations
Tweak the following variables to define iterations start date, repetitions and duration of each iteration.
config_start_date = datetime.date(2024, 6, 17)
config_num_of_sprints = 6
config_sprint_duration = 1
4. Run the script
python google_calendar.py
Dry run & Debug mode
DEBUG = False
DRY_RUN = False
Recommendations
Start small, then scale up.
Start by setting up all the events with a small number of user (only you), using an empty attendees.json
file.
{
"team_members": [],
"po": [],
"others": []
}
Then if everything looks good add the others.
- refactor of code (i.e. event generator, GoogleApi resource, Cli)
- add a better user interface ( cli )
- allow for more flexible iterations configuration ( configure structure and repetition of iterations through a descriptor i.e. yaml)
- add further action (?) i.e. list, delete, check participants