文档API 参考📓 教程🧑‍🍳 食谱🤝 集成💜 Discord🎨 Studio
文档

GitHubRepoForker

此组件通过 GitHub API,从 issue URL 为 GitHub 仓库创建 fork。

pipeline 中的最常见位置在管道的开头,并且在期望 GitHub 分支名称作为输入的 Agent 组件之前
必需的初始化变量"github_token": GitHub 个人访问令牌。可以设置为GITHUB_TOKEN 环境变量。
强制运行变量"url": 要 fork 的仓库中的 GitHub issue 的 URL
输出变量"repo": Fork 仓库路径

"issue_branch": issue 特定的分支名称 (如果已创建)
API 参考GitHub
GitHub 链接https://github.com/deepset-ai/haystack-core-integrations/tree/main/integrations/github

概述

GitHubRepoForker 接收一个 GitHub issue URL,提取仓库信息,创建或同步该仓库的 fork,并可选地创建一个 issue 特定的分支。这对于需要创建 pull request 或使用仓库 fork 的自动化工作流特别有用。

主要功能

  • 自动同步: 自动将现有 fork 与上游仓库同步
  • 分支创建: 创建 issue 特定的分支 (例如,issue #123 的 "fix-123")
  • 等待完成: 可选地等待 fork 创建完成
  • Fork 管理: 智能处理现有的 fork

授权

此组件需要使用个人访问令牌进行 GitHub 身份验证。您可以通过GITHUB_TOKEN 环境变量进行设置,或者在初始化时通过github_token 参数直接传递。

要创建个人访问令牌,请访问 GitHub 的令牌设置页面。请确保授予适当的权限以进行仓库 fork 和管理。

安装

使用 pip 安装 GitHub 集成

pip install github-haystack

用法

📘

仓库占位符

要运行以下代码片段,您需要将owner/repo 替换为您自己的 GitHub 仓库名称。

单独使用

from haystack_integrations.components.connectors.github import GitHubRepoForker

forker = GitHubRepoForker()
result = forker.run(url="https://github.com/owner/repo/issues/123")

print(result)
{'repo': 'owner/repo', 'issue_branch': 'fix-123'}