GitHubFileEditor
这是通过GitHub API在GitHub存储库中编辑文件的组件。
| pipeline 中的最常见位置 | 在 Chat Generator 之后,或者在 pipeline 的最开始 |
| 必需的初始化变量 | "github_token": GitHub 个人访问令牌。可以设置为GITHUB_TOKEN 环境变量。 |
| 强制运行变量 | "command": 操作类型(编辑、创建、删除、撤销) "payload": 命令特定的参数 |
| 输出变量 | "result": 指示操作结果的字符串 |
| API 参考 | GitHub |
| GitHub 链接 | https://github.com/deepset-ai/haystack-core-integrations/tree/main/integrations/github |
概述
GitHubFileEditor 支持多种文件操作,包括编辑现有文件、创建新文件、删除文件以及撤销最近的更改。
有四种主要命令
- EDIT: 通过替换特定内容来编辑现有文件
- CREATE: 使用指定内容创建新文件
- DELETE: 删除现有文件
- UNDO: 撤销由同一用户进行的最后一次提交
授权
此组件需要使用个人访问令牌进行 GitHub 身份验证。您可以通过GITHUB_TOKEN 环境变量进行设置,或者在初始化时通过github_token 参数直接传递。
要创建个人访问令牌,请访问 GitHub 的令牌设置页面。确保授予适当的存储库访问和内容管理权限。
安装
使用 pip 安装 GitHub 集成
pip install github-haystack
用法
仓库占位符
要运行以下代码片段,您需要将
owner/repo替换为您自己的 GitHub 仓库名称。
单独使用
编辑现有文件
from haystack_integrations.components.connectors.github import GitHubFileEditor, Command
editor = GitHubFileEditor(repo="owner/repo", branch="main")
result = editor.run(
command=Command.EDIT,
payload={
"path": "src/example.py",
"original": "def old_function():",
"replacement": "def new_function():",
"message": "Renamed function for clarity"
}
)
print(result)
{'result': 'Edit successful'}
创建新文件
from haystack_integrations.components.connectors.github import GitHubFileEditor, Command
editor = GitHubFileEditor(repo="owner/repo")
result = editor.run(
command=Command.CREATE,
payload={
"path": "docs/new_file.md",
"content": "# New Documentation\n\nThis is a new file.",
"message": "Add new documentation file"
}
)
print(result)
{'result': 'File created successfully'}
更新于 4 个月前
