├── README.md └── .github └── workflows └── reminders.yml /README.md: -------------------------------------------------------------------------------- 1 | # Introduction 2 | This repository contains workflows for sending reminders to the Anbox Cloud team at Canonical. This is currently being used to send Agile process related reminders but can be extended to other use cases as well. 3 | -------------------------------------------------------------------------------- /.github/workflows/reminders.yml: -------------------------------------------------------------------------------- 1 | name: Send Anbox team reminders 2 | on: 3 | workflow_dispatch: 4 | schedule: 5 | - cron: "41 8 * * *" 6 | 7 | jobs: 8 | send-reminder: 9 | runs-on: ubuntu-latest 10 | steps: 11 | - name: Send Anbox team reminders 12 | env: 13 | MM_CORE_TEAM_WEBHOOK: ${{ secrets.MM_CORE_TEAM_WEBHOOK }} 14 | MM_PULSE_DEMO_WEBHOOK: ${{secrets.MM_PULSE_DEMO_WEBHOOK}} 15 | run: | 16 | WEEK_NUM=`date +"%-V"` 17 | WEEK_DAY_NUM=`date +"%u"` 18 | 19 | function send_coreteam_reminder() { 20 | msg="$1" 21 | curl -i -X POST \ 22 | -H 'Content-Type:application/json' \ 23 | -d "{\"text\": \"$msg\"}" \ 24 | "$MM_CORE_TEAM_WEBHOOK" 25 | } 26 | 27 | function send_pulse_demo_reminder() { 28 | msg="$1" 29 | curl -i -X POST \ 30 | -H 'Content-Type:application/json' \ 31 | -d "{\"text\": \"$msg\"}" \ 32 | "$MM_PULSE_DEMO_WEBHOOK" 33 | } 34 | 35 | if [ $(($WEEK_NUM % 2)) -eq 0 ]; # First week of the pulse. The first pulse of 2025 started in an even week. 36 | then 37 | if [ $(($WEEK_DAY_NUM)) -eq 1 ]; # Monday 38 | then 39 | msg="@anbox-core Please publish pulse report as per [pulse duties rotation](https://docs.google.com/spreadsheets/d/1x8MOJXO1hy0uQmeKsTDGDmlOrpMh0XQp3LZf__ATJ3o)" 40 | send_coreteam_reminder "$msg" 41 | fi 42 | else # Second week of the pulse 43 | if [ $(($WEEK_DAY_NUM)) -eq 2 ]; # Tuesday 44 | then 45 | msg="@anbox-core Please create pulse report as per [pulse duties rotation](https://docs.google.com/spreadsheets/d/1x8MOJXO1hy0uQmeKsTDGDmlOrpMh0XQp3LZf__ATJ3o)" 46 | send_coreteam_reminder "$msg" 47 | fi 48 | if [ $(($WEEK_DAY_NUM)) -eq 3 ]; # Wednesday 49 | then 50 | msg="@anbox-core Have you prepared for upcoming backlog grooming?\n- Create stories for anticipated work\n- Fill out description and acceptance criteria\n- Add priority, fix-version and sprint, if known" 51 | send_coreteam_reminder "$msg" 52 | fi 53 | if [ $(($WEEK_DAY_NUM)) -eq 4 ]; # Thursday 54 | then 55 | msg="@anbox-core In preparation for the retrospective, please add your inputs to the [retrospective document](https://docs.google.com/document/d/1OMRlxiLnYYmKzTEjQzZz3V4IJpKh2Ha2WzaceCxAGcI/)." 56 | send_coreteam_reminder "$msg" 57 | sleep 30 58 | msg="@anbox-team It's pulse demo time tomorrow. As usual everyone is welcome to demo their work, small or big. Please [add yourself to the list](https://docs.google.com/document/d/1NKiqkWzRTXIrK1VvhAtui_nQXHlQnyIJF146pozllAs/) BEFORE the meeting so we can start on time. You can add highlights of this pulse's work too. Looking forward to all the great demos!" 59 | send_pulse_demo_reminder "$msg" 60 | fi 61 | if [ $(($WEEK_DAY_NUM)) -eq 5 ]; # Friday 62 | then 63 | msg="@anbox-core Have you prepared for upcoming sprint planning?\n- Create stories for any ad-hoc work\n- Review the fix-version for your stories and if they are aligned with the target release\n- Account for time off\n- Assess if you have too much or too little work for the pulse" 64 | send_coreteam_reminder "$msg" 65 | sleep 30 66 | msg="@anbox-core Have you filled the pulse report?" 67 | send_coreteam_reminder "$msg" 68 | fi 69 | fi 70 | # Re-enable workflow 71 | 72 | --------------------------------------------------------------------------------