
在代码库上运行AI驱动的工作流程
?您的代码的生活摘要
Todos在问题中一直在跟踪
⏳将API呼叫的历史记录保持在git中
?通过将“汇总”标签添加到PR来汇总更改
?在YAML中配置的自定义操作
请参阅“安装指南”。
尽管在内部使用,但目前尚未积极维护该项目。
在v0.1.2之前,Autopr从问题中自动生成拉的请求。如果您仍然希望为此使用Autopr,请在github Actions yaml中设置以下行:
uses : docker://ghcr.io/irgolic/autopr:v0.1.2以下是Autopr的Living Readme的一个示例:
该文件夹包含与自动化任务和工作流有关的各种文件和文件夹。 It includes a Dockerfile for setting up a Docker image, a license file specifying the terms of use, a Makefile for automating development tasks, an action configuration file for a pull request workflow, a shell script for executing a Python module, a lock file and a configuration file for a Python project using Poetry, JSON schemas for defining strict workflows and trigger configurations, and a JSON schema for defining工作流定义。这些文件和文件夹为自动化任务,管理操作和GIT操作以及执行可自定义的工作流提供了功能。
Dockerfile基于duffn/python-poetry:3.9-bullseye Image
?从Bullseye-Backports存储库中安装GIT
?复制入门点脚本并使其可执行
?复制pyproject.toml和poetry.lock文件
?激活虚拟环境并使用诗歌安装项目依赖项
?将其余文件复制到/app目录
?使用诗歌安装应用程序
将入口点设置为/entrypoint.sh运行应用程序
LICENSE.md ?该文件包含MIT许可证。
许可证授予使用,修改和分发软件的许可。
许可证要求将版权通知和权限通知包含在所有副本中。
无需保修“原样”提供该软件。
?该许可有效期至2023年。
该许可证由Raphael Francis Ltd.拥有。
Makefile该文件是类似于Makefile的配置文件。
?它定义了各种目标及其相关命令。
目标是: format , type , test , schema和all 。
? format目标运行一个命令以使用black工具格式化代码。
?该type目标运行命令以使用pyright执行类型检查。
? test目标在autopr/tests目录上运行pytest。
? schema目标运行一个命令,使用autopr.models.config生成配置入口点。
? all目标都按顺序运行所有目标: format , type , test和schema 。
?该文件旨在自动执行共同开发任务并确保代码质量。
action.yml ?该文件是用于自动拉请求工作流的配置文件。
?它指定了运行工作流程的详细信息,例如要使用的Docker映像。
?它还包括品牌信息,例如要使用的图标和颜色。
?该文件定义了工作流程所需的输入,例如github令牌和基本分支。
?它包括一个默认的加载GIF URL,可以在生成拉动请求时显示。
?该文件定义了目标分支名称的模板。
它指定是否覆盖现有分支并从问题中创建时提取请求。
autopr/该文件夹包含与自动任务和工作流有关的Python文件和文件夹的集合。它包括用于操作和实用程序的文件,用于GITHUB操作的切入点,日志记录配置,运行触发器和工作流程的主要服务,用于构建和执行工作流的模型,用于管理操作和GIT操作的服务,触发配置以及脚本配置以及用于管理工作集的脚本和配置文件。这些文件和文件夹为自动化任务,与GitHub平台进行交互以及执行可自定义的工作流提供了功能。
entrypoint.sh该文件是一个shell脚本
?它设置了特定目录的git配置
✉️它设置了用户电子邮件和git提交的名称
?它激活虚拟环境
?它运行一个名为autopr.gh_actions_entrypoint的Python模块
poetry.lock ?该文件是项目或报告的执行摘要
?它提供了主要要点的高级概述
它突出了关键发现,结论和建议
它可能包括数据或分析的摘要
它是针对项目新手或报告的人
它不包括微不足道的细节或技术解释
它清楚地了解了项目的目的和范围
?它可以快速浏览内容而无需深入
它是进一步探索或讨论的起点
?即使文件为空,它也很简洁且易于阅读
pyproject.toml ?该文件是使用诗歌的Python项目的配置文件。
?它包含有关项目名称,版本和作者的信息。
?该项目的许可被指定为麻省理工学院。
?它列出了项目所需的软件包及其依赖关系。
?测试和开发有单独的依赖性。
?所使用的构建系统是诗歌。
?该文件还包括Pyright静态类型检查器的配置。
?它指定了黑色代码格式化器的线长度和目标版本。
strict_workflow_schema.json ?该文件是一个描述严格工作流定义的JSON模式。
?它定义了可以在工作流程中执行的各种动作。
?操作包括评论,设置问题标题,步行文件,进行API调用,运行BASH命令等。
每个动作都有自己的一组输入和输出。
工作流步骤定义为动作数组。
该架构还包括针对操作中使用的各种数据类型和声明的定义。
文件的目的是提供一个标准化的结构,用于定义和执行严格的工作流程。
该模式可用于验证和确保工作流定义的正确性。
?它可以轻松地与支持模式的其他工具和系统集成。
该文件可以作为了解严格工作流程的结构和功能的参考。
trigger_schema.json ?该文件是一个JSON文档,描述了工作流的触发配置。
?它定义了各种触发类型,例如标签,评论,推送和CRON触发器。
?每个触发类型都有其自己的属性集,可以自定义。
?触发器可用于根据某些事件启动特定的操作或工作流程。
该文档还包括针对不同动作模型及其属性的定义。
?这些动作模型可以在触发器中使用来指定所需的行为。
该文件提供了可用的触发器和操作模型的全面概述。
?它可以用作配置和自定义工作流程的参考指南。
使用嵌套对象和属性组织文件结构。
?重要的是要回顾特定的触发因素和动作定义,以了解它们的功能和用法。
workflow_schema.json ?该文件是工作流定义的JSON模式定义。
?它为工作流中使用的不同动作和声明定义了各种类型和属性。
该架构包括评论,设置问题标题,步行文件,进行API调用,运行bash命令等的操作定义。
它还定义了不同类型的声明,例如模板,变量,常数和lambda声明。
?工作流定义包括名称,描述,输入和输出。
?它由一个步骤列表组成,这些步骤可以是操作,工作流调用或条件语句。
?有条件的语句可以具有IF-ELSE分支,并支持不同条件,例如Lambda表达式和上下文检查。
工作流调用可以是规则的或疑问的。
?总体而言,该文件提供了一个结构化定义,用于创建和执行各种操作和条件的工作流程。