根据pr标题的元素自动标记github请求。在PR标题中需要JIRA样式的票证代码(proj-100)

pull-request-auto-labeler的Python项目详细描述


拉取请求自动标签

根据pr标题的元素自动标记github请求。 默认配置要求pr title中包含jira样式的票证代码(proj-100)

此贴标机执行以下操作:

  • 获取组织/用户所有存储库的所有打开的请求
  • 检查每个PR的标题(proj-100)中是否有任何匹配的JIRA样式的票号。
  • 将标签应用于与标题(proj)中项目代码的大写版本相匹配的拉取请求。

PyPI version

安装

如果要将其作为cron运行,可以使用pip从pypi安装: pip install pull-request-auto-labeler

但是如果你要把它设置为aws lambda,你需要serverless.yamlserverless-requirements.txthandler.py这样你就可以提取源代码了。

设置

设置以下环境变量:

  • [必需]github_api_令牌:一个github api令牌,它可以读取您想要的存储库 并修改 拉取请求。 如果没有,您可以看到指南here
  • [必需]组织:要检查prs的github组织/用户名的名称。
  • [可选]label_extracting_regex:regex表达式,将使用python的 re.findall
    • 这个正则表达式应该有一个匹配的组,该组返回 应该用作标签。即,如果regex找到proj-100,则匹配组应为proj
    • 因为我们使用的是re.findall,所以在标题上可以有多个匹配项,但是每个 匹配项必须只有一个组。
    • 默认值是\s*[\[]*([a-zA-Z0-9]{2,})[-|\s][0-9]+,它匹配:PROJ-100[PROJ-100]B2C-1Proj 100

从命令行运行

python auto_labeler.py

作为cron在aws lambda上运行

为了方便起见,我提供了一些安装说明,可以使用aws lambda将其作为cron运行,这是serverless工具包简化的。如果您没有使用过无服务器,我有一个无服务器入门指南here

安装无服务器插件

无服务器的python需求

手动部署时,向lambda添加外部需求非常烦人。你得造轮子 对于aws linux ami上的包,并包括您上传的zip中的包。幸运的是,有一个无服务器的插件 让这一切变得非常容易。

sls plugin install -n serverless-python-requirements

为此项目设置无服务器

  • 将此repo中的serverless.yamlserverless-requirements.txthandler.py文件复制到使用此repo的任何位置,或者只需下载此repo并将其用作源文件
  • 调整任何需要匹配设置的提供者参数
  • 设置运行频率(在functions>lambdaCron>events>schedule下更新)

部署到aws

sls deploy

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java Thumbnailator库将图像转换为cmyk   Java反射从目录中的类运行测试   JavaEclipseJDT编译器说方法未定义,但EclipseIDE没有   重构如何重构一行重复的java代码   java Eclipse:使用删除线文本呈现自定义注释   java问题与ArrayList复制数据   java如何在swagger中传递访问令牌?   使用另一个java文件运行java文件时出错   java为什么谷歌云存储生成的上传链接在成功上传后不会失效?   java将我的客户端PC重定向到默认登录页面   java hibernate c3p0配置mysql问题   java和java之间的区别。尼奥。文件文件和java。伊奥。文件   列出java循环并向映射中添加值   java为什么OJ报告这段代码的运行时错误?