根据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 SimpleCursorAdapter删除值   java结束while循环条件   java检查设备是否连接到特定网络   java组织。冬眠MappingException找不到逻辑名称为annotation getter的列   为什么java邮件中会抛出此异常?   加载SDK时发生java Eclipse错误   返回奇怪输出的Java数组   JavaXStream和对象类序列化   将枚举列表传递给namedQuery后出现java非法转换异常。Hibernate中的setParameter()   java Android studio不允许我在字符串上使用开关?   有没有办法从Java程序访问存储在Chrome中的cookie   java在枚举中构造实例而不修改枚举类   java Blackberry JDE FieldChangeListener   java修复错误:未报告的异常InterruptedException   java Spring数据JPA:findAll(具有规范和可分页)在计数查询中失败