Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Developer notifications: Slack bot with weekly post #129

Merged
merged 28 commits into from
Nov 11, 2024

Conversation

GODrums
Copy link
Collaborator

@GODrums GODrums commented Nov 2, 2024

Motivation

One of our goals is to integrate Hephaestus into Artemis's workflows as seemlessly as possible. This includes providing developer notifications about results in the leaderboard. As the primary channel for communication in Artemis, we primarily focus on Slack here.

Description

This PR sets up the new Slack-Bot HephaestusBot for usage within our application-server:

  • Automatic testing if the bot works on startup (connection, token + auth)
  • CRON-job for a leaderboard message composed with Slack's Block Kit
  • Env-vars for: disabling the scheduled message, cron schedule, Slack bot token, Slack signing secret, Channel to send messages in
  • Leaderboard weeks now start at Tuesday 9am and last exactly 7 days
  • Additionally: Adjusts the timeframe-filter of the leaderboard (see screenshot below)

Screenshots (if applicable)

Example of the scheduled Slack message:
Screenshot 2024-11-07 005837
Screenshot 2024-11-08 232353

Checklist

General

  • PR title is clear and descriptive
  • PR description explains the purpose and changes
  • Code follows project coding standards
  • Self-review of the code has been done
  • Changes have been tested locally
  • Screenshots have been attached (if applicable)
  • Documentation has been updated (if applicable)

Server (if applicable)

  • Code is performant and follows best practices
  • No security vulnerabilities introduced
  • Proper error handling has been implemented
  • Added tests for new functionality
  • Changes have been tested in different environments (if applicable)

@GODrums GODrums added enhancement New feature or request application-server labels Nov 2, 2024
@GODrums GODrums self-assigned this Nov 2, 2024
@github-actions github-actions bot added the size:L This PR changes 100-499 lines, ignoring generated files. label Nov 2, 2024
@github-actions github-actions bot added the client label Nov 7, 2024
Copy link
Collaborator

@FelixTJDietrich FelixTJDietrich left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Generally looks good but I would not hardcode those values on the client side. Also added some improvement comments. But once they are implemented we can merge this PR.

@github-actions github-actions bot added size:XL This PR changes 500-999 lines, ignoring generated files. and removed size:L This PR changes 100-499 lines, ignoring generated files. labels Nov 10, 2024
@FelixTJDietrich
Copy link
Collaborator

@GODrums, I tried to improve the consistency of the config names in 8c9fb70

Copy link
Collaborator

@FelixTJDietrich FelixTJDietrich left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good now, thank you

@FelixTJDietrich FelixTJDietrich merged commit 13bf668 into develop Nov 11, 2024
6 of 7 checks passed
@FelixTJDietrich FelixTJDietrich deleted the developer-notifications-slack branch November 11, 2024 10:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
application-server client enhancement New feature or request size:XL This PR changes 500-999 lines, ignoring generated files.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants