langchain_community.utilities.github.GitHubAPIWrapper

class langchain_community.utilities.github.GitHubAPIWrapper[原文]

继承自: BaseModel

GitHub API包装器。

通过解析和验证关键字参数中的输入数据,创建一个新的模型。

如果输入数据不能被解析为有效的模型,则引发ValidationError异常。

参数 active_branch: Optional[str] = None
参数 github_app_id: Optional[str] = None
参数 github_app_private_key: Optional[str] = None
参数 github_base_branch: Optional[str] = None
参数 github_repository: Optional[str] = None
comment_on_issue(comment_query: str) str[原文]

为GitHub issue添加评注 参数

comment_query(str): 包含issue编号、两个换行符和评注的字符串。例如:“1

我现在正在处理这个问题”

为issue 1添加评注“我现在正在处理这个问题”

返回

str: 成功或失败的消息

参数

comment_query (str) –

返回类型

str

create_branch(proposed_branch_name: str) str[source]

创建一个新分支,并将其设置为活动的机器人分支。相当于 git switch -c proposed_branch_name 如果建议的分支已存在,我们则追加 _v1,然后 _v2…,直到找到一个唯一的名称。

返回

一个纯文本的成功消息。

返回类型

str

参数

proposed_branch_name (str) –

create_file(file_query: str) str[source]

在 Github 仓库中创建一个新文件 参数

file_query(str): 包含文件路径和文件内容的字符串。文件路径是该字符串的第一行,内容是其余部分。例如, “hello_world.md

# Hello World!”
返回

str: 成功或失败的消息

参数

file_query (str) –

返回类型

str

create_pull_request(pr_query: str) str[source]

从机器人的分支向基本分支发起一个拉取请求 参数

pr_query(str): 包含 PR 标题和 PR 内容的字符串。标题是该字符串的第一行,内容是其余部分。例如, “Updated README

made changes to add info”
返回

str: 成功或失败的消息

参数

pr_query (str) –

返回类型

str

create_review_request(reviewer_username: str) str[source]

在当前 active_branch 匹配的 THE 开放拉取请求上创建审查请求。

参数

reviewer_username (str) – 请求的人的用户名

返回

创建审查请求确认的消息

返回类型

str

delete_file(file_path: str) str[source]

从仓库删除一个文件::param file_path: 文件位置 :type file_path: str

返回

成功或失败信息

返回类型

str

参数

file_path (str) –

get_files_from_directory(directory_path: str) str[source]

递归地从仓库中的目录获取文件。

参数

directory_path (str) – 目录路径

返回

文件路径列表,或错误信息。

返回类型

str

get_issue(issue_number: int) Dict[str, Any][source]

获取特定的github issue及其前10条评论 :param issue_number: Github issue的数字 :type issue_number: int

返回

包含issue的标题、正文、作为字符串的评论以及创建issue的用户名的字典

返回类型

dict

参数

issue_number (int) –

get_issues() str[source]

获取仓库中所有未关闭的issue,排除pull request

返回

包含问题和每个问题标题和数字的纯文本报告。

返回类型

str

get_pull_request(pr_number: int) Dict[str, Any][source]

获取特定的pull request及其前10条评论,受到最大token数的限制。

参数
  • pr_number (int) – Github pull的数字

  • max_tokens (int) – 响应中最大token数

返回

包含pull的标题、正文和作为字符串的评论的字典

返回类型

dict

list_branches_in_repo() str[来源]

获取仓库中所有分支的列表。

返回

包含分支名称的纯文本报告。

返回类型

str

list_files_in_bot_branch() str[来源]

获取仓库活动分支(即机器人用于修改的分支)中的所有文件。

返回

包含分支中文件路径的纯文本列表。

返回类型

str

list_files_in_main_branch() str[来源]

获取仓库主分支上的所有文件。

返回

包含文件路径和名称的纯文本报告。

返回类型

str

list_open_pull_requests() str[来源]

获取仓库中所有开放的PR(Pull Request)。

返回

包含PR数量以及每个PR的标题和编号的纯文本报告。

返回类型

str

list_pull_request_files(pr_number: int) List[Dict[str, Any]][来源]

获取PR中所有文件的完整文本。在第一个3k个标记后截断。# TODO:如果文件变长,增强功能以使用ctags总结文件。

参数

pr_number (int) – Github上PR的编号

返回

包含问题标题、正文和注释的字符串的字典

返回类型

dict

parse_issues(issues: List[Issue]) List[dict][来源]

从每个Issue中提取标题和编号,并将它们放入字典中::param issues: Github Issue对象的列表 :type issues: List[Issue]

返回

包含issue标题和编号的字典

返回类型

List[dict]

参数

issues (List[Issue]) –

parse_pull_requests(pull_requests: List[PullRequest]) List[dict][source]

从每个Issue中提取标题和编号,并将它们放入字典中::param issues: Github Issue对象的列表 :type issues: List[Issue]

返回

包含issue标题和编号的字典

返回类型

List[dict]

参数

pull_requests (List[PullRequest]) –

read_file(file_path: str) str[source]

从定义为self.active_branch的这个代理的分支中读取文件,该分支支持PR分支。:param file_path: 文件路径 :type file_path: str

返回

解码为字符串的文件,或未找到的错误消息

返回类型

str

参数

file_path (str) –

run(mode: str, query: str) str[source]
参数
  • mode (str) –

  • query (str) –

返回类型

str

search_code(query: str) str[source]

在存储库中搜索代码。# Todo: 限制返回的总令牌数...

参数

query (str) – 搜索查询

返回

包含最多前5个搜索结果的字符串

返回类型

str

search_issues_and_prs(query: str) str[source]

在存储库中搜索issue和pull请求。

参数

query (str) – 搜索查询

返回

包含前5个问题和拉取请求的字符串

返回类型

str

set_active_branch(branch_name: str) str[源码]

等效于对此Agent执行的 git checkout branch_name。格式化参考自Github。

如果分支不存在,将返回错误信息(字符串)。

参数

branch_name (str) –

返回类型

str

update_file(file_query: str) str[源码]

更新文件的新内容。:param file_query: 包含文件路径和文件内容。

旧文件内容将被包装在 OLD <<<< 和 >>>> OLD 中,新文件内容将被包装在 NEW <<<< 和 >>>> NEW 中。例如: /test/hello.txt OLD <<<< Hello Earth! >>>> OLD NEW <<<< Hello Mars! >>>> NEW

返回

成功或失败消息

参数

file_query (str) –

返回类型

str

使用GitHubAPIWrapper的示例