OpenLiberty / liberty-tools-intellij

IntelliJ IDEA extension for Liberty
https://plugins.jetbrains.com/plugin/14856-open-liberty-tools
Eclipse Public License 2.0
11 stars 20 forks source link

Determine how we should activitely monitor changes being made to LSP4iJ. #802

Open vaisakhkannan opened 3 weeks ago

vaisakhkannan commented 3 weeks ago

Certain changes being made to LSP4iJ may have a significant impact on Liberty Tools for IntelliJ and we want to know about those changes early so that we can provide feedback and/or plan for how to deal with them in our plug-in.

This item is for investigating how to automate alerts on changes to LSP4iJ.

Things to consider:

alerts on PRs? should we get notified of updates in issues? GitHub may have automation for this. notify in e-mail? Slack? high or low volume of alerts? what is realistic? Determine ideal solution and determine an MVP solution to implement.

Resource for Slack/GitHub integration: https://github.com/integrations/slack

Work items:

vaisakhkannan commented 3 weeks ago

For Workitem 1: Slack channel alert to remind about the LSP4IJ kanban board status. Kanban board of Lsp4Ij to check the issues and status of their work- https://github.com/orgs/redhat-developer/projects/23/views/1?filterQuery=repo%3A%22redhat-developer%2Flsp4ij%22

This reminder will run every Wednesday at 7 pm IST.

Screenshot 2024-06-07 at 2 20 53 PM

One thing to ensure is that notification settings are configured to receive All Messages for the channel.

39449766-7cfc-4950-a351-a37fca95bdab-2

vaisakhkannan commented 3 weeks ago

For Workitem 2 - The approach is currently Working and more acceptable



Step1: Create a Slack App:Go to Slack API and create a new app for your workspace. Navigate to the "Incoming Webhooks" section and activate it. Add the app to our desired channel to obtain the Webhook URL.



 

 

Step 2: Create a GitHub Actions Workflow: Create a Workflow File: In our GitHub repository, create a new file under the .github/workflows/ directory, e.g., .github/workflows/slack-notifications.yml.




 

 

Step 3: Use API calls to fetch information about new pull requests in the repository and send notifications to Slack.





 

 

Step 4: Add Secrets to GitHub Repository: Add Slack Webhook Secret:In our GitHub repository, go to "Settings" -> "Secrets" and add a secret named SLACK_WEBHOOK_URL with the value of your Slack Webhook URL.





 

 

Step 5: Customize GitHub API Request: Customize GitHub API Request:Customize the GitHub API request in the workflow file based on our needs. We may want to filter pull requests based on labels, states, or other criteria.





 

 

Step 6: Commit and Push Changes: Commit and Push Changes:Commit the new files (the workflow file) and push them to the GitHub repository.





 

 

Step 7: Verify Workflow Execution: Verify Workflow Execution:After pushing the changes. Check the Actions tab in your GitHub repository to verify that the workflow runs successfully. ( If we require Slack notifications on a regular basis, we'll need Cron job schedules and must verify the workflow runs in the Action Tab to ensure everything is functioning correctly.)

vaisakhkannan commented 2 weeks ago

For Workitem 4, I added a reminder as shown in the image below

Screenshot 2024-06-13 at 7 36 36 PM

I added link in the component word --> https://github.com/redhat-developer/intellij-quarkus/tree/main/src/main/java/com/redhat/devtools/intellij/lsp4mp4ij Quarkus --> https://github.com/redhat-developer/intellij-quarkus commits --> https://github.com/redhat-developer/intellij-quarkus/commits/main/src/main/java/com/redhat/devtools/intellij/lsp4mp4ij