Releases: mittwald/hutbot
Releases · mittwald/hutbot
v1.0.9
Changelog
v1.0.7...v1.0.9
Compare: v1.0.7...v1.0.9
Added
- Added templated reminder messages with
{{variable}}placeholders.
Supported placeholders include Slack/user context ({{user}},{{user_name}},{{team}},{{channel}},{{channel_name}}), message context ({{message}},{{message_link}},{{timestamp}}), config context ({{config}},{{wait_minutes}}), and Opsgenie on-call values ({{opsgenie_current_user}},{{opsgenie_current_email}},{{opsgenie_current_name}}). - Added per-configuration Opsgenie schedule names via
/hutbot [config] set opsgenie-schedule <name>. - Added
/hutbot list opsgenie-schedulesto list schedule names available from Opsgenie. - Added current on-call resolution for configured Opsgenie schedules, including Slack user lookup by email and fallback placeholders for unknown on-call data.
- Added a reusable
employee_list.pylibrary for employee loading, normalization, mappings, logging, and cache handling. - Added the standalone
query_employees.pyCLI for local employee lookup by user, full name, email alias, team, or configured mappings. - Added a scheduled-replies cache so pending reminders are persisted and restored across bot restarts.
Changed
- Reminder cancellation now respects the same actor criteria used when scheduling reminders.
Thread replies and reactions only cancel matching reminders when the responding actor matches the relevant configuration, including included teams, excluded teams, and bot handling. - Bot messages in threads are now considered for reminder cancellation, but only for configurations that include bots.
- Scheduled reminder entries are cleaned up after the reminder has been sent.
- Employee-list logic was extracted from
bot.pyintoemployee_list.pyso the bot and CLI share one implementation.
Fixed
- Fixed reminder cancellation in multi-configuration channels so replies or reactions for one target team do not incorrectly cancel reminders for another configuration.
- Fixed scheduled message cleanup after replies are sent.
Commits
fd00ea6feat(cache): persist scheduled replies across restartsd5b24ebfix(opsgenie): add distinct unknown on-call placeholderscd2e4a0docs(bot): improve news message formatting and wording5686860fix(news): improve reply placeholder documentation in news message424ab25fix(cli): Redirect employee loading output to stderrbc1eaf0feat(employee): add standalone employee query script and library4049c7afeat(bot): add customizable reminder placeholders and smarter cancellation notes5367780feat(bot): cancel scheduled reminders based on actor criteria and bot handling3c19df3fix(bot): clean up scheduled messages after reply05d775efeat(opsgenie): add list opsgenie-schedules command38458fcfeat(opsgenie): add schedule config and on-call placeholders170eee5feat(bot): add templated reply message supportefa5884docs(readme): add slash command instructions to README