Overview
使您的智能体能够通过GitHub管理仓库、问题和发布。创建和更新问题,管理发布,跟踪项目开发,并通过AI驱动的自动化简化您的软件开发工作流程。Prerequisites
在使用GitHub集成之前,请确保您已具备:- A CrewAI AOP account with an active subscription
- 一个具有适当仓库权限的GitHub账户
- 通过集成页面连接您的GitHub账户
设置 GitHub 集成
1. 连接您的 GitHub 账户
- Navigate to CrewAI AOP Integrations
- 在身份验证集成部分找到 GitHub
- Click Connect and complete the OAuth flow
- 授予必要的仓库和问题管理权限
- Copy your Enterprise Token from Integration Settings
2. Install Required Package
3. Environment Variable Setup
To use integrations with
Agent(apps=[]), you must set the CREWAI_PLATFORM_INTEGRATION_TOKEN environment variable with your Enterprise Token..env file:
Available Actions
github/create_issue
github/create_issue
描述: 在GitHub中创建一个问题。参数:
owner(string, required): 所有者 - 指定与此问题关联的仓库的账户所有者名称。(示例:"abc")。repo(字符串, 必需): 仓库 - 为此问题指定关联仓库的名称。title(string, required): 问题标题 - 指定要创建的问题的标题。body(字符串, 可选): 问题正文 - 指定要创建的问题的正文内容。assignees(string, 可选): 负责人 - 为此问题指定负责人(们)的 GitHub 登录名,以字符串数组形式提供。(示例:["octocat"])。
github/update_issue
github/update_issue
描述: 在GitHub中更新一个问题。参数:
owner(string, required): 所有者 - 指定与此问题关联的仓库的账户所有者名称。(示例:“abc”)。repo(字符串, 必需): 仓库 - 为此问题指定关联仓库的名称。issue_number(string, required): 问题编号 - 指定要更新的问题编号。title(string, required): 问题标题 - 指定要更新的问题的标题。body(字符串, 可选): 问题正文 - 指定要更新的问题正文内容。assignees(string, optional): 负责人 - 为此问题指定负责人(们)的 GitHub 登录名,以字符串数组形式提供。(示例:["octocat"])。state(string, optional): 状态 - 指定问题的更新状态。- 选项:
open,closed
- 选项:
github/get_issue_by_number
github/get_issue_by_number
描述: 通过编号在GitHub中获取一个问题。参数:
ownerowner (string, required): 所有者 - 指定与此问题关联的仓库的账户所有者名称。(示例:"abc")。reporepo (字符串, 必需): 仓库 - 为此问题指定关联仓库的名称。issue_number(string, required): 问题编号 - 指定要获取的问题编号。
github/lock_issue
github/lock_issue
描述: 在GitHub中锁定一个问题。参数:
ownerowner (string, required): 所有者 - 指定与此问题关联的仓库的账户所有者名称。(示例:"abc")。reporepo (字符串, 必需): 仓库 - 为此问题指定关联仓库的名称。issue_number(string, required): 问题编号 - 指定要锁定问题的编号。lock_reason(string, required): 锁定原因 - 指定锁定议题或拉取请求对话的原因。- 选项:
off-topic,too heated,resolved,spam
- 选项:
github/search_issue
github/search_issue
描述: 在GitHub中搜索问题。参数:
ownerowner (string, required): 所有者 - 指定与此问题关联的仓库的账户所有者名称。(示例:“abc”)。reporepo (字符串, 必需): 仓库 - 为此问题指定关联仓库的名称。filter(object, required): A filter in disjunctive normal form - OR of AND groups of single conditions.Available fields:assignee,creator,mentioned,labels
github/create_release
github/create_release
描述: 在GitHub中创建一个发布。参数:
owner(string, required): 所有者 - 指定与此发布相关联的仓库的账户所有者名称。(示例:“abc”)。repo(字符串, 必需): 仓库 - 为此版本指定关联仓库的名称。tag_name(string, required): 名称 - 指定要创建的发布标签的名称。(例如:“v1.0.0”)。target_commitish(string, 可选): 目标 - 指定发布的目标。这可以是分支名称或提交 SHA。默认为主分支。(例如:"master")。body(字符串, 可选): 正文 - 为此版本指定描述。draft(string, 可选): 草稿 - 指定创建的发布是否应为草稿(未发布)版本。- 选项:
true,false
- 选项:
prerelease(string, 可选): 预发布 - 指定创建的版本是否应为预发布版本。- 选项:
true,false
- 选项:
discussion_category_name(string, 可选): 讨论类别名称 - 如果指定,将创建指定类别的讨论并链接到该发布版本。该值必须是仓库中已存在的类别。generate_release_notes(字符串, 可选): 发布说明 - 指定是否应使用提供的名称和正文自动为创建的发布生成发布说明。- 选项:
true,false
- 选项:
github/update_release
github/update_release
描述: 在GitHub中更新一个发布版本。参数:
ownerowner (string, required): 所有者 - 指定与此发布相关联的仓库的账户所有者名称。(示例:“abc”)。reporepo (字符串, 必需): 仓库 - 为此版本指定关联仓库的名称。id(string, required): 发布ID - 指定要更新的发布ID。tag_name(string, 可选): 名称 - 指定要更新的发布标签的名称。(例如:"v1.0.0")。target_commitishtarget_commitish (string, 可选): 目标 - 指定发布的目标。这可以是分支名称或提交 SHA。默认为主分支。(例如:"master")。body(字符串, 可选): 正文 - 为此版本指定描述。draft(字符串, 可选): 草稿 - 指定创建的发布是否应为草稿(未发布)版本。- 选项:
true,false
- 选项:
prerelease(string, 可选): 预发布 - 指定创建的发布是否为预发布版本。- 选项:
true,false
- 选项:
discussion_category_name(string, optional): 讨论类别名称 - 如果指定,将创建指定类别的讨论并链接到该发布版本。该值必须是仓库中已存在的类别。generate_release_notes(string, 可选): 发布说明 - 指定是否应使用提供的名称和正文自动为创建的发布生成发布说明。- 选项:
true,false
- 选项:
github/get_release_by_id
github/get_release_by_id
描述: 在GitHub中通过ID获取一个发布版本。参数:
ownerowner (string, required): 所有者 - 指定与此发布相关联的仓库的账户所有者名称。(示例:“abc”)。reporepo (字符串, 必需): 仓库 - 为此版本指定关联仓库的名称。id(字符串, 必需): 发布ID - 指定要获取的发布的发布ID。
github/get_release_by_tag_name
github/get_release_by_tag_name
描述: 在GitHub中通过标签名称获取一个发布版本。参数:
ownerowner (string, required): 所有者 - 指定与此发布相关联的仓库的账户所有者名称。(示例:“abc”)。reporepo (字符串, 必需): 仓库 - 为此版本指定关联仓库的名称。tag_name(string, required): 名称 - 指定要获取的发布标签。(示例:“v1.0.0”)。
github/delete_release
github/delete_release
描述: 在GitHub中删除一个发布版本。参数:
ownerowner (string, required): 所有者 - 指定与此发布相关联的仓库的账户所有者名称。(示例:“abc”)。reporepo (字符串, 必需): 仓库 - 为此版本指定关联仓库的名称。id(字符串, 必需): 发布ID - 指定要删除的发布ID。
Usage Examples
基础GitHub智能体设置
筛选特定的GitHub工具
发布管理
问题跟踪与管理
Getting Help
需要帮助吗?
如需GitHub集成设置或故障排除方面的帮助,请联系我们的支持团队。
