GitHub Actions workflows for office automation
This workflow runs on the second Wednesday of every month. It composes a draft for the monthly newsletter from Digitale Gesellschaft Schweiz using generative AI and writes the result to a new page in our Confluence instance.
The workflow is defined in .github/workflows/newsletter_draft.yml.
- It executes the Bash script
mise-tasks/newsletter_draft.shviamise run newsletter_draft. The script executes a Codename Goose recipe stored under.goose/recipes/newsletter_draft.yaml. - It uses a cron schedule
0 0 * * 3(every Wednesday) and then filters for the second Wednesday (days 8-14 of the month). - It can be manually triggered from GitHub's Actions tab (e.g. for testing) with the option to provide a custom set of
ARTICLE_LINKS1. To be able to manually trigger the workflow, one's GitHub user must be granted sufficient access rights (ask @datenreisen).
Remember: The code relies on the newsletter blog posts being tagged with Newsletter in Wordpress – this tag is the only structured data signal available in our RSS feeds that allows to unambiguously identify newsletters within the whole collection of blog posts. Always make sure the tag is correctly assigned.
Edit the Goose recipe .goose/recipes/newsletter_draft.yaml, Goose's memories in .goose/memory/ and the environment variables in config.env.yaml to customize the task execution. Note that the script automatically determines suitable ARTICLE_LINKS if none are provided.
Footnotes
-
URLs of the blog articles to be covered by the newsletter, separated by a space character. ↩