This repo contains code that was developed during Microsoft's Hackathon July 27-29 2020.
Issue Insights is a GitHub app that once installed on a repo, analyzes the code base and helps you find relevant info related to a new GitHub issue. Once an issue is created on a repo that has Issue Insights installed, the app posts a comment on the issue with a recommendation of related pull requests, files and people to ask for more help. With this information from our Issue Insights App, you have valuable starting points to get started on your task right away!
Issue Insights is a python app that reads and writes to GitHub through the GitHub API. The app makes use of our recommender system which is an ML model we trained during the hackathon to find the most relevant information for new GitHub issues. Currently, the recommender will find the most relevant Pull Requests in the repo based on the information provided in the issue. We do some processing on those PRs to find the most relevant files and users who can help. Once we have this info, we post an issue comment through an API call.
More info about running the app can be found in /app
-
Apart from python3 the following python libraries need to be installed. This can be done using
pip install lib-name
.- aiohttp
- jwt
- gidgethub
- flask
- github3.py
- tqdm
- numpy
- scipy
- pandas
- scikit-learn
- gensim
- nltk
-
After installing nltk run the following commands on a terminal
python nltk.download('stopwords') nltk.download('punkt')
We drew inspirations from Issue label bot and Gh_app_demo. The learning model used this word2vec model for textual feature extraction.