GitHubAPIWrapper#
- class langchain_community.utilities.github.GitHubAPIWrapper[源代码]#
基础类:
BaseModel
GitHub API的封装。
通过解析和验证来自关键字参数的输入数据来创建一个新模型。
如果输入数据无法验证以形成有效模型,则引发 [ValidationError][pydantic_core.ValidationError]。
self 被显式地设为仅位置参数,以允许 self 作为字段名称。
- param active_branch: str | None = None#
- param github_app_id: str | None = None#
- param github_app_private_key: str | None = None#
- param github_base_branch: str | None = None#
- param github_repository: str | None = None#
- comment_on_issue(comment_query: str) str [source]#
向 GitHub 问题添加评论 参数:
comment_query(str): 一个包含问题编号、两个换行符和评论的字符串。 例如:“1
- Working on it now”
将评论“正在处理中”添加到问题1
- Returns:
str: 成功或失败的消息
- Parameters:
comment_query (str)
- Return type:
字符串
- create_branch(proposed_branch_name: str) str [来源]#
创建一个新分支,并将其设置为活动机器人分支。 相当于 git switch -c proposed_branch_name 如果提议的分支已经存在,我们会附加 _v1 然后 _v2… 直到找到一个唯一的名称。
- Returns:
纯文本成功消息。
- Return type:
字符串
- Parameters:
proposed_branch_name (str)
- create_file(file_query: str) str [source]#
在Github仓库上创建一个新文件 参数:
file_query(str): 一个包含文件路径和文件内容的字符串。文件路径是字符串中的第一行,内容是字符串的其余部分。例如,“hello_world.md
- # Hello World!”
- Returns:
str: 成功或失败的消息
- Parameters:
file_query (str)
- Return type:
字符串
- create_pull_request(pr_query: str) str [source]#
从机器人的分支向基础分支发起拉取请求 参数:
pr_query(str): 一个包含PR标题和PR内容的字符串。标题是字符串的第一行,内容是字符串的其余部分。例如,“更新了README
- made changes to add info”
- Returns:
str: 成功或失败的消息
- Parameters:
pr_query (str)
- Return type:
字符串
- create_review_request(reviewer_username: str) str [source]#
在当前活动的分支上匹配的THE开放拉取请求上创建一个审查请求。
- Parameters:
reviewer_username (str) – 被请求人的用户名
- Returns:
确认创建审查请求的消息
- Return type:
字符串
- delete_file(file_path: str) str [source]#
从仓库中删除一个文件 :param file_path: 文件所在的位置 :type file_path: str
- Returns:
成功或失败消息
- Return type:
字符串
- Parameters:
file_path (str)
- get_files_from_directory(directory_path: str) str [来源]#
递归地从仓库中的目录获取文件。
- Parameters:
directory_path (str) – 目录的路径
- Returns:
文件路径列表,或错误信息。
- Return type:
字符串
- get_issue(issue_number: int) Dict[str, Any] [source]#
获取特定问题及其前10条评论 :param issue_number: github问题的编号 :type issue_number: int
- Returns:
一个包含问题标题、正文、评论(作为字符串)以及打开问题的用户名的字典
- Return type:
字典
- Parameters:
issue_number (int)
- get_issues() str [source]#
从仓库中获取所有未解决的问题,不包括拉取请求
- Returns:
一个包含问题数量和每个问题的标题和编号的纯文本报告。
- Return type:
字符串
- get_pull_request(pr_number: int) Dict[str, Any] [source]#
获取特定的拉取请求及其前10条评论,受max_tokens限制。
- Parameters:
pr_number (int) – Github拉取请求的编号
max_tokens (int) – 响应中的最大令牌数
- Returns:
一个包含拉取请求的标题、正文和评论的字典,作为字符串
- Return type:
字典
- list_files_in_bot_branch() str [source]#
获取仓库活动分支中的所有文件,这是机器人用于进行更改的分支。
- Returns:
包含分支中文件路径的纯文本列表。
- Return type:
字符串
- list_open_pull_requests() str [source]#
从仓库中获取所有打开的PR
- Returns:
一个包含PR数量和每个PR标题及编号的纯文本报告。
- Return type:
字符串
- list_pull_request_files(pr_number: int) List[Dict[str, Any]] [source]#
获取PR中所有文件的完整文本。在前3k个标记后截断。 # TODO: 如果文件变得过长,增强功能以使用ctags进行文件摘要。
- Parameters:
pr_number (int) – Github 上拉取请求的编号
- Returns:
一个包含问题标题、正文和评论的字典,作为字符串
- Return type:
字典
- parse_issues(issues: List[Issue]) List[dict] [source]#
从每个Issue中提取标题和编号,并将它们放入字典中 :param issues: 一个Github Issue对象的列表 :type issues: List[Issue]
- Returns:
问题标题和编号的字典
- Return type:
列表[字典]
- Parameters:
问题 (列表[问题])
- parse_pull_requests(pull_requests: List[PullRequest]) List[dict] [source]#
从每个Issue中提取标题和编号,并将它们放入字典中 :param issues: Github Issue对象的列表 :type issues: List[Issue]
- Returns:
问题标题和编号的字典
- Return type:
列表[字典]
- Parameters:
pull_requests (列表[PullRequest])
- read_file(file_path: str) str [来源]#
从该代理的分支读取文件,由self.active_branch定义,支持PR分支。 :param file_path: 文件路径 :type file_path: str
- Returns:
文件解码为字符串,如果未找到则显示错误消息
- Return type:
字符串
- Parameters:
file_path (str)
- search_code(query: str) str [源代码]#
在仓库中搜索代码。 # 待办:限制返回的总令牌数…
- Parameters:
query (str) – 搜索查询
- Returns:
一个字符串,最多包含前5个搜索结果
- Return type:
字符串
- search_issues_and_prs(query: str) str [source]#
在仓库中搜索问题和拉取请求。
- Parameters:
query (str) – 搜索查询
- Returns:
一个包含前5个问题和拉取请求的字符串
- Return type:
字符串
使用 GitHubAPIWrapper 的示例