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

GitHubPRCreator

该组件通过 GitHub API 从 fork 的仓库创建拉取请求到原始仓库。

pipeline 中的最常见位置在管道末端,在 GitHubRepoForkerGitHubFileEditor 和其他准备提交的更改的组件之后。
必需的初始化变量"github_token": GitHub 个人访问令牌。可以设置为GITHUB_TOKEN 环境变量。
强制运行变量"issue_url": GitHub issue URL

"title": PR 标题

"branch": 源分支

"base": 目标分支
输出变量"result": 指示拉取请求创建结果的字符串
API 参考GitHub
GitHub 链接https://github.com/deepset-ai/haystack-core-integrations/tree/main/integrations/github

概述

GitHubPRCreator 接受 GitHub issue URL,并从您的 fork 创建一个拉取请求到原始仓库,自动将其链接到指定的 issue。它旨在与现有 fork 一起使用,并假定您已经在分支中进行了更改。

主要功能

  • 跨仓库 PR:从您的 fork 创建拉取请求到原始仓库
  • Issue 链接:自动将 PR 链接到指定的 GitHub issue
  • 草稿支持:创建草稿拉取请求的选项
  • Fork 验证:在创建 PR 之前检查所需的 fork 是否存在

作为可选参数,您可以设置body 来提供拉取请求描述,以及布尔参数draft 来打开一个草稿拉取请求。

授权

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

要创建个人访问令牌,请访问 GitHub 的令牌设置页面。确保授予适当的仓库访问和拉取请求创建权限。

安装

使用 pip 安装 GitHub 集成

pip install github-haystack

用法

📘

仓库占位符

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

单独使用

from haystack_integrations.components.connectors.github import GitHubPRCreator

pr_creator = GitHubPRCreator()
result = pr_creator.run(
    issue_url="https://github.com/owner/repo/issues/123",
    title="Fix issue #123",
    body="This PR addresses issue #123 by implementing the requested changes.",
    branch="fix-123",  # Branch in your fork with the changes
    base="main"        # Branch in original repo to merge into
)

print(result)
{'result': 'Pull request #456 created successfully and linked to issue #123'}