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

Executable Tutorial Submission #2670

Merged
merged 6 commits into from
Oct 16, 2024
Merged

Executable Tutorial Submission #2670

merged 6 commits into from
Oct 16, 2024

Conversation

Alexanderliu2002
Copy link
Contributor

Assignment Proposal

Title

Building and integrating a slack bot with GitHub actions using Node.js

Names and KTH ID

Deadline

  • Task 3

Category

  • Executable tutorial

Description

In our tutorial we will show how to set up a slack bot using node.js to monitor GitHub actions through notification in a slack channel. The bot will be able to parse github logs into readable slack messages in order to simplify continuous development and monitoring.

Relevance

Effective monitoring and automation is crucial to the DevOps life cycle. By integrating slack bot with GitHub actions developers can get real-time status updates on ongoing processes directly in their slack workspace. Additionally, developers can trigger pre-defined common events through slack increasing the efficiency of the entire process. The use of slack streamlines the continuous devlopment and monitoring process for developers and is a critical part in the DevOps cycle.

Submission

Killercoda: https://killercoda.com/dd2482devops-executable-tutorial/scenario/KillerCoda
GitHub to main program: https://github.com/Alexanderliu2002/dd2482-executable-tutorial-bot
GitHub to test environment: https://github.com/leegrash/dd2482-executable-tutorial

@javierron javierron merged commit 769e469 into KTH:2024 Oct 16, 2024
1 check passed
@Jakebobs
Copy link
Contributor

Jakebobs commented Oct 16, 2024

Feedback

By Jakob Ström ([email protected]) & Carl Lavö ([email protected])

Code of conduct

We certify that generative AI, incl. ChatGPT, has not been used to write this feedback. Using generative AI without permission is considered academic misconduct.

Intro

We would like to thank Gustaf and Alexander for their well-made and thorough tutorial on setting up a Slack bot and integrating it with GitHub Actions, and for allowing us to give feedback on it. The tutorial is very comprehensive and not one for slackers! :)

High-level strengths

It is a very thorough tutorial, it leaves the user with a good end product that you also suggest how they could make some good further developments on. We would find this tutorial very useful if we were setting up a Slack integration for our workplace since so much of the code can be kept in house. The suggestion to use chatGPT to enhance the understanding of the errors also felt like a good suggestion, this could help people who are not experts to understand what is going on in the CI/CD pipeline.

We found the executable code blocks to enhance the user experience. It saves us a lot of copy pasting of commands and makes it easier to focus on trying to understand the overall tutorial. We regret not using these in our own tutorial.

The text of the tutorial is well written and only contains a few small hiccups that could easily be fixed once pointed out. The tone of the tutorial is also very friendly. It definitely has a human touch that helps keep our spirits high working our way through the long tutorial. Well done!

High-level weaknesses

The tutorial is on the longer side and we had an issue with the 60 minute limit that KillerCoda imposes. We feel that some of the early steps and configurations could have been automated for the user to feel less overwhelmed and save them some time. One example of this is the installations that the user gets to do in the terminal, we feel it would be a better use of time for the user to spend the first minutes reading some background instead of running install commands.

It can be easy to miss a part of the tutorial and cause problems to appear, these are hard to diagnose and some problem solving suggestions would come in handy at parts of the tutorial. Some of the information is also faulty which causes confusion when we correctly follow the tutorial, but still end up with errors which we have to troubleshoot ourselves. This could be fixed by personally running through the tutorial again step-by-step and double-checking that everything written is correct, and by adding some potential tips for troubleshooting.

Minor Things

There are some made up words scattered through the tutorial, maybe they are easter eggs but fuzzy words such as “Effectivize” can make it hard to understand what point you want to make.

There are some quality of life issues, which are not a problem by themselves, but make it harder to stay engaged with the tutorial. One such instance is when adding the tokens to the .env file they are not added in the same order as the order that we created them, which seems counterintuitive. The same goes for when you are talking about files with the same name. To avoid the user having to distinguish between multiple package.json files, you could specify which folder the relevant one is located in.

Additional Material

We feel like there may be too many pictures in the slack bot tutorial. It becomes a bit hard to read. We would suggest changing it to be in this style where more text is used, rather than so many images. A picture can say a thousand words but 7000 words may be a bit many for creating a slack channel.

We also would suggest a change that may be controversial. But we think that reconfiguring the tutorial into two versions, one beginner version to use one of the existing GitHub marketplace Action to avoid having to write so much code ourselves. Link to an article that explains that process. And then keeping your advanced version as an optional extension to that.

@Jakebobs Jakebobs mentioned this pull request Oct 16, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants