...
7. Design Upgrade of Label Bot
Issue:
The current label bot design currently supports implementation is fairly inefficient in the way it automatically labels our issues and pull requests. The current design is based upon a pull model which gathers issues where every 5 minutes and then appropriately labels them, however it would be more efficient to move to a push model where we label an issue when it is pushed.we trigger the bot to pull all issues/pull requests which we then label appropriately and consequently retrain our model every 24 hours. There is also a restriction which can be faced where GitHub limits users to make 5000 HTTP requests in an hour so we want to minimize the requests we make as much as possible.
Proposed Design Decision:
The efficiency of this bot can be improved if the bot was redesigned with a push model where as soon as an issue or pull request is made to the repository, we trigger the bot to then appropriately label the issue.
Implementation:
Taking advantage of GitHub webhooks we can easily grab the issue or pull request that is made to the repository (which we specify by denoting the event that we want to subscribe) which is then sent over to our lambda function