GitLabAPIWrapper#

class langchain_community.utilities.gitlab.GitLabAPIWrapper[来源]#

基础类:BaseModel

GitLab API 的封装器。

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

如果输入数据无法验证以形成有效模型,则引发 [ValidationError][pydantic_core.ValidationError]。

self 被显式地设为仅位置参数,以允许 self 作为字段名称。

param gitlab_base_branch: str | None = None#

GitLab 仓库中的基础分支,用于比较。 通常是 'main' 或 'master'。默认为 'main'。

param gitlab_branch: str | None = None#

GitLab 仓库中机器人将提交代码的特定分支。默认为‘main’。

param gitlab_personal_access_token: str | None = None#

用于GitLab服务的个人访问令牌,用于身份验证。

param gitlab_repository: str | None = None#

GitLab 仓库的名称,格式为 {用户名}/{仓库名称}。

comment_on_issue(comment_query: str) str[source]#

向 GitLab 问题添加评论 参数:

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

Working on it now”

将评论“正在处理中”添加到问题1

Returns:

str: 成功或失败的消息

Parameters:

comment_query (str)

Return type:

字符串

create_branch(proposed_branch_name: str) str[来源]#

在仓库中创建一个新分支并将其设置为活动分支

Parameters:

proposed_branch_name (str) – 要创建的新分支的名称

Returns:

成功或失败的消息

Return type:

字符串

create_file(file_query: str) str[source]#

在 gitlab 仓库上创建一个新文件 参数:

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

# Hello World!”
Returns:

str: 成功或失败的消息

Parameters:

file_query (str)

Return type:

字符串

create_pull_request(pr_query: str) str[源代码]#

从机器人的分支向基础分支发起拉取请求 参数:

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

made changes to add info”
Returns:

str: 成功或失败的消息

Parameters:

pr_query (str)

Return type:

字符串

delete_file(file_path: str) str[source]#

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

Returns:

成功或失败消息

Return type:

字符串

Parameters:

file_path (str)

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

获取特定问题及其前10条评论 :param issue_number: gitlab问题的编号 :type issue_number: int

Returns:

一个包含问题标题、正文和评论的字典,作为字符串

Return type:

字典

Parameters:

issue_number (int)

get_issues() str[source]#

从仓库中获取所有未解决的问题

Returns:

一个包含问题数量和每个问题的标题和编号的纯文本报告。

Return type:

字符串

list_branches_in_repo() str[source]#

获取仓库中的分支列表

Returns:

一个包含分支数量和每个分支名称的纯文本报告

Return type:

字符串

list_files_from_directory(path: str) str[source]#

从特定目录获取仓库活动分支中的文件列表

Returns:

一个包含指定目录中活动分支中文件列表的纯文本报告

Return type:

字符串

Parameters:

路径 (字符串)

list_files_in_bot_branch() str[源代码]#

获取仓库活动分支中的文件列表

Returns:

一个包含活动分支中存储库文件列表的纯文本报告

Return type:

字符串

list_files_in_main_branch() str[source]#

获取仓库主分支中的文件列表

Returns:

一个包含主分支中存储库文件列表的纯文本报告

Return type:

字符串

parse_issues(issues: List[Issue]) List[dict][source]#

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

Returns:

问题标题和编号的字典

Return type:

列表[字典]

Parameters:

问题 (列表[问题])

read_file(file_path: str) str[来源]#

从gitlab仓库读取文件 :param file_path: 文件路径 :type file_path: str

Returns:

文件解码为字符串

Return type:

字符串

Parameters:

file_path (str)

run(mode: str, query: str) str[来源]#
Parameters:
  • mode (str)

  • query (str)

Return type:

字符串

set_active_branch(branch_name: str) str[source]#

相当于为此代理执行git checkout branch_name。 从Gitlab克隆格式。

如果分支不存在,则返回一个错误(作为字符串)。

Parameters:

branch_name (str)

Return type:

字符串

update_file(file_query: str) str[source]#

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

旧文件内容包裹在OLD <<<<和>>>> OLD中 新文件内容包裹在NEW <<<<和>>>> NEW中 例如: test/hello.txt OLD <<<< 你好,地球! >>>> OLD NEW <<<< 你好,火星! >>>> NEW

Returns:

成功或失败的消息

Parameters:

file_query (str)

Return type:

字符串

使用 GitLabAPIWrapper 的示例