Table of Contents
Original Authors: @hamelsmu, @inc0, @jlewi
Install this app from the GitHub marketplace
A GitHub App powered by machine learning, written in Python. A discussion of the motivation for building this app is described in this blog post.
When an issue is opened, the bot predicts if the label should be a: feature request
, bug
or question
and applies a label automatically if appropriate. Here is a screenshot of the bot in action:
More examples can be viewed on our app's homepage. It should be noted that the bot may not apply any label in circumstances where the prediction is uncertain. See the disclaimers section for more caveats.
To utilize the code in this repository, you will need to register a GitHub App of your own and install this app on your desired repositories and store authentication secrets.
First, walk through the prerequisites section of this getting started guide except "The Ruby programming language" section as we will be using Python instead as the client that interfaces with the GitHub API.
Second, setup your development environment. Make sure you create a Webhook secret, even though this step is optional.
Next, set up a Postgres database. You can do this for free on Heroku. Detailed instructions (stolen shamelessly from here):
Finally, you need to create environment variables for all the secrets, which is described below.
PRIVATE_KEY
: this is the private key you use to authenticate as an app with the GitHub API.WEBHOOK_SECRET
: this is used to verify that payloads received by your app are actually from GitHub. This is described here.DATABASE_URL
: this is the URL that contains the login information for your POSTGRESQL database, usually in the form: postgres://<username>:<password>@<url>:5432/<database_name>
APP_ID
: this is a unique identifier provided to you by GitHub when you register your app.FLASK_ENV
: this is usually set to either production
or development
. You will want to use deployment
for local testing.PORT
: this is the port your app will be serving on. Note that if you are deploying to Heroku, Heroku will override this variable with their own value when building your app. For local development, you will want this to match the port Smee is serving to.APP_URL
: this is the url for the homepage of your app that is provided to users as a link in issue comments. You can set this to an arbitrary value for local development.Note: If you are using zsh, the dotenv plugin can be useful for managing environment variables.
Install Dependencies: Install requirements.txt into a virtual environment. If you are using pipenv install the necessary dependencies from Pipfile.lock by typing pipenv install
in the root of this repository.
Run the flask app: run python flask_app/app.py
from the root of this repository. For this to work, you must correctly set the environment variables as described in the Environment Variables section.
Optional - Run app as docker container. A Docker container that serves Issue-Label Bot can be built with the command bash script/bootstrap
from the root of this repository. This script builds a Docker image named hamelsmu/mlapp
, which is also available on Dockerhub. If you desire to run the Docker container locally for testing, you must pass the necessary environment variables to the Docker container at runtime, as well as expose necessary ports for the app. See the References section for more resources on using Docker.
The assets in this repo allow you to deploy to Heroku (easier) or a Kubernetes cluster (more advanced).
In Heroku, secrets can be passed in as configuration variables. Furthermore, this documentation describes how you can set secrets in Kubernetes. Make sure you set the environment variable FLASK_ENV
to production
if you are going to deploy the app publicly.
We welcome all forms of contributions. We are especially interested in the following:
The authors of this project are interested in adding the following features in the near future:
The code in this repo and associated tutorial(s) assume familiarity with Docker. This blog post offers a gentle introduction to Docker for data scientists.
Need inspiration for other data products you can build using machine learning and public GitHub datasets? See these examples:
Excellent course on flask: HarvardX CS50 Web.
MOOCs by fastai for machine learning and deep learning.
Issue-Label Bot is for educational and demonstration purposes only. Our goal was to provide a minimal working example for the community with the least amount of complexity as possible. Therefore, we believe the model demonstrated has great room from improvement. Furthermore, this app only works on public repositories and will do nothing if installed on a private repo.
源码:NirAharon/BoT-SORT.git 环境配置 pytorch在pytorch/previous-versions中下载。 conda create -n botsort_env python=3.7 conda activate botsort_env git clone https://github.com/NirAharon/BoT-SORT.git cd BoT-SORT
A Role-Selected Sharing Network for Joint Machine-Human Chatting Handoff and Service Satisfaction Analysis (Liu2021) Abstract: Chatbot is increasingly thriving in different domains, however, because o
一、为什么我们需要Issue triage Issue triage 是交由 SIG 接收和审查新的 GitHub issues 和 requests 的过程,并组织 SIG 内的成员或其他SIG 的成员采取相应活动。Traiging 是根据 优先级/紧急度、问题的SIG所有权以及问题的类型(错误、功能等)对问题进行分类并提出请求。一个或多个SIG有责任去处理这些 issues 和 reque
Issue Activity The issue activity tab contains a sequential record of the Scanner's activity in finding new issues and updating existing issues. This is useful for various purposes: Monitoring the res
github-issue-mover 是能快速迁移 github 上问题的工具。 功能如下: Copy the issue in the destination repo Add references between the issues Close the original issue 在linux操作系统中,repo=repository,表示安装文件的位置,同时,repo也是在linux环境
android-issue-reporter Based on Paolo Rotolo's Gitty Reporter Is your Inbox full of bug reports and requests from your users? android-issue-reporter is a new material designed library to report issues
嗨,我目前正在玩JavaFX中的GridPane,偶然发现了一个问题...我想创建一个包含三行的布局,其中中间一行增长并占用所有可用空间,但我就是无法让它工作。中间行变得太大,并将窗口下方的底部行“推”到不再可见的位置...我如何使底部行始终在底部,让中间行占用中间的可用空间,但不能再这样了...我将在下面粘贴我的代码。 谢啦! (注意:为清晰起见,代码略有改动,但工作方式相同) 更新!添加“最小
我正在努力获得一个简单的构建和部署工作,并希望得到一些帮助。有人能回顾一下这些步骤,以及为什么发布工件不起作用吗?这是一个简单的Angular 7项目。 错误: [section]Starting:Publish Artifact:dist = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
JAVAlang.LinkageError:无法从本地模块加载器@4c3e4790(finder:local Module finder@38cccef)链接net/sf/json/JSONException(模块“MYAPP:lib(根目录:C:\MYAPPS\EAP-6.4.0\jboss-EAP-6.4\modules,C:\MYAPPS\EAP-6.4.0\jboss-EAP-6.4\mo