-
Notifications
You must be signed in to change notification settings - Fork 126
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
Issue assignment self-service bot #2823
Comments
An option would be to take kubernetes prow and somehow put it into a composite github action https://github.com/kubernetes/test-infra/tree/master/prow |
@mowies can I try setting up the action |
this ticket is still work-in-progress and not ready for development yet |
Hey @mowies I'm interested in this project for Google Summer of Code. At the moment, I'm researching and thinking about ideas, and I'm also writing a proposal. I believe this bot could be very useful for Keptn, making it easier for new people to join in and also helping to keep track of issues. Let me know if you have any thoughts! I'm eager to hear your thoughts and suggestions on how we can move forward with this |
Awesome that you want to apply! We're open for anybody to apply but keep in mind that you will not be the only one ;) |
Hey, @mowies, I'm interested in applying for this project for the summer of code term. I would love to work on this project and be mentored by you. I will draft the proposal and send it to you for review in the forthcoming weeks. Thank you :) |
Hey! I am interested in working on this issue and I've already started diving into the details and researching the approach to implement the self-service issue assignment bot for GitHub contributors. Moreover, I'm really interested in applying for this project for the summer of code term. I believe it's a fantastic opportunity to contribute meaningfully to the community. |
Hello @mowies , I'm super interested in contributing to this project idea during GSoC'24. With a decent background in utilizing the GitHub API, I believe my experience equips me well to build this bot under your guidance. Thank you! |
Hi @mowies
About Language preference: |
For the MVP I would go for configuration directly in the workflow.yml file, if there's more time, I would add something like a yml file in the root of the repo as an option for users.
I think predefined commands are good enough, no need for extra configuration options here.
It will be designed for Keptn but the problem that it solves is a more general one, so other projects can definitely also use it and contribute to it.
I really don't think that speed it very important. Also, there's no official API library for Go. I would go with one of the supported languages. |
about the official API library , google seems to have a very popular library called go-github , for writing github bots in go, seems pretty reliable to me. |
@mowies Actually I want to ask on what basis we will be deciding the issue is a |
|
So the bot should be able to add/delete these issues automatically or these will be added/removed manually only and the bot should just track if the issue is draft or read-for-refinement? |
We will refine the issue definition further and then get back to you with some more and better answers, hope that's ok :) |
Yes that's not an issue. |
We refined the description of the issue again, please check if it makes sense. I hope that this will clear up some things. |
Thanks for the update. It helps a lot and makes the issue easier to understand. |
Hello @mowies I hope this message finds you well. My name is Rakesh Valasala, and I am writing to express my keen interest in contributing to the development of the Self-Service Issue Assignment Bot project. Having recently discovered your project on GitHub, I found the goals and challenges outlined to be remarkably aligned with my experience and ongoing work. Currently, I am deeply involved in the development of COMMSPACE, a project that shares similar objectives in terms of GitHub API integration and workflow automation. Relevant Experience: GitHub API Integration: My hands-on experience in working with GitHub APIs and webhooks has been honed through the ongoing development of COMMSPACE. This proficiency positions me well for contributing to the self-service issue assignment bot. COMMSCAPE Overview: In the coming weeks, I plan to share the final work of the COMMSCAPE project, providing insights into the unique features and advancements achieved during its development. I am excited about the prospect of contributing to your project and sharing insights gained from the ongoing development of COMMSPACE. Please let me know if there are any specific next steps or tasks to get involved in the Self-Service Issue Assignment Bot project. Thank you for considering my interest, and I am eager to contribute to the success of the Self-Service Issue Assignment Bot. Best regards, |
As a result of the New Contributor Meeting on March 11th, I added some more information that was asked there. |
@mowies Right , I think I forgot to put an alert for yesterday's meeting , do you by chance record these? |
Yes, there's a recording. You can expect it to be uploaded to our youtube channel in the coming days |
Hey @mowies |
Great that you're interested! You will need to submit your application directly with GSoC when the time comes. Application period will start March 18th (source). |
Hi @mowies I am interested in contributing and being mentored. Please, how do i go about this |
Hi @timilehin2000, we are very happy to hear that! You should be able to submit a contributor proposal to the GSoC 2024. The deadline is April 2nd. For more information about the neccessary steps please go to the official GSoC page https://summerofcode.withgoogle.com/ |
I had seen a similar bot like this => zulipbot written in JS. |
Hi @mowies Apologies for commenting on this late! I was working on this project proposal behind the scenes and would like to get mentored in GSoC 2024. I will submit the proposal before the mentioned deadline :) |
Goal
The goal is to create a self-service issue assignment bot for GitHub contributors who would like to work on issues. The bot should be able to check if the user is part of the organization, examine if the pre-conditions for self-assignment are met (configurable labels or rules about number of issues already assigned/PRs opened), and assign the issue. Additionally, the bot should be able to track the state of the issue by adding/removing specific labels. The bot should be part of the CI and executed as an action on an issue change.
Details
Set up a GitHub action workflow that acts upon an issue comment containing
/assign
or/assign <some-gh-user>
.The action should support multiple roles, which are configurable, including a default role as a fallback. Additionally, there should be a possibility to define a set of rules to each role via configuration file. The configuration file allows the admin to define status labels for the supported states to track the status of the issue.
Additionally, a GitHub token will be supplied as an input secret for the action so that it is authorised to access the needed GitHub APIs.
The states should be:
The bot should accept a
maintainers.yaml
file with a list of users and their roles.An example of configuration yaml file defining the set of rules for a role:
An example of a
maintainers.yaml
file with a list of users and their roles.Any user that's not in one of the roles will get the fallback configuration applied.
The possible configurable rules for each role for the bot should be:
According to the configuration file, the action should be also able to track the state of the issue just by adding/removing labels. The action should support at least the following states:
The bot should be able to unassign the issue by
/unassign
ofunassign <name>
.The bot can be implemented by using Golang or TypeScript.
DoD
Useful links
The text was updated successfully, but these errors were encountered: