Jira 集成
让你的智能体通过 Jira 管理问题、项目和工作流。借助 AI 驱动的自动化,你可以创建和更新问题、跟踪项目进度、管理分配,并简化项目管理流程。
在使用 Jira 集成之前,请确保你已具备:
- 一个拥有有效订阅的 CrewAI AMP 账户
- 一个具备相应项目权限的 Jira 账户
- 通过 集成页面 连接了你的 Jira 账户
设置 Jira 集成
Section titled “设置 Jira 集成”1. 连接你的 Jira 账户
Section titled “1. 连接你的 Jira 账户”- 访问 CrewAI AMP Integrations
- 在 Authentication Integrations 部分找到 Jira
- 点击 Connect 并完成 OAuth 流程
- 授予问题和项目管理所需权限
- 从 Integration Settings 复制你的 Enterprise Token
2. 安装所需包
Section titled “2. 安装所需包”uv add crewai-tools3. 环境变量设置
Section titled “3. 环境变量设置”export CREWAI_PLATFORM_INTEGRATION_TOKEN="your_enterprise_token"或者将其添加到你的 .env 文件中:
CREWAI_PLATFORM_INTEGRATION_TOKEN=your_enterprise_tokenjira/create_issue
说明: 在 Jira 中创建一个问题。
参数:
summary(string, required): 概要 - 问题的一行简短摘要。(示例:“打印机停止工作了”。)project(string, optional): 项目 - 问题所属项目。如果未提供,默认使用用户的第一个项目。使用 Connect Portal Workflow Settings 让用户选择项目。issueType(string, optional): 问题类型 - 如果未提供,默认为 Task。jiraIssueStatus(string, optional): 状态 - 如果未提供,默认为项目的第一个状态。assignee(string, optional): 指派人 - 如果未提供,默认为已认证用户。descriptionType(string, optional): 描述类型 - 选择描述类型。- 选项:
description,descriptionJSON
- 选项:
description(string, optional): 描述 - 问题的详细说明。仅当descriptionType=description时显示此字段。additionalFields(string, optional): 额外字段 - 以 JSON 格式指定其他应包含的字段。使用 Connect Portal Workflow Settings 让用户选择要更新的 Issue Fields。{"customfield_10001": "value"}
jira/update_issue
说明: 更新 Jira 中的一个问题。
参数:
issueKey(string, required): 问题键(示例:“TEST-1234”)。summary(string, optional): 概要 - 问题的一行简短摘要。(示例:“打印机停止工作了”。)issueType(string, optional): 问题类型 - 使用 Connect Portal Workflow Settings 让用户选择问题类型。jiraIssueStatus(string, optional): 状态 - 使用 Connect Portal Workflow Settings 让用户选择状态。assignee(string, optional): 指派人 - 使用 Connect Portal Workflow Settings 让用户选择指派人。descriptionType(string, optional): 描述类型 - 选择描述类型。- 选项:
description,descriptionJSON
- 选项:
description(string, optional): 描述 - 问题的详细说明。仅当descriptionType=description时显示此字段。additionalFields(string, optional): 额外字段 - 以 JSON 格式指定其他应包含的字段。
jira/get_issue_by_key
说明: 通过键获取 Jira 中的问题。
参数:
issueKey(string, required): 问题键(示例:“TEST-1234”)。
jira/filter_issues
说明: 使用筛选条件搜索 Jira 中的问题。
参数:
jqlQuery(object, optional): 以析取范式表示的筛选条件,即由若干 AND 组组成的 OR。可用运算符:{"operator": "OR","conditions": [{"operator": "AND","conditions": [{"field": "status","operator": "$stringExactlyMatches","value": "Open"}]}]}$stringExactlyMatches,$stringDoesNotExactlyMatch,$stringIsIn,$stringIsNotIn,$stringContains,$stringDoesNotContain,$stringGreaterThan,$stringLessThanlimit(string, optional): 限制结果数量 - 限制返回的问题最大数量。若留空,默认值为 10。
jira/search_by_jql
说明: 在 Jira 中通过 JQL 搜索问题。
参数:
jqlQuery(string, required): JQL 查询(示例:“project = PROJECT”)。paginationParameters(object, optional): 分页结果的分页参数。{"pageCursor": "cursor_string"}
jira/update_issue_any
说明: 更新 Jira 中的任意问题。请先使用 DESCRIBE_ACTION_SCHEMA 获取此函数的属性 schema。
参数: 无特定参数 - 请先使用 JIRA_DESCRIBE_ACTION_SCHEMA 获取预期的 schema。
jira/describe_action_schema
说明: 获取某个问题类型的预期 schema。如果没有其他函数匹配你想操作的问题类型,请先使用此函数。
参数:
issueTypeId(string, required): 问题类型 ID。projectKey(string, required): 项目键。operation(string, required): 操作类型值,例如 CREATE_ISSUE 或 UPDATE_ISSUE。
jira/get_projects
说明: 获取 Jira 中的项目。
参数:
paginationParameters(object, optional): 分页参数。{"pageCursor": "cursor_string"}
jira/get_issue_types_by_project
说明: 获取 Jira 中某个项目的问题类型。
参数:
project(string, required): 项目键。
jira/get_issue_types
说明: 获取 Jira 中的所有问题类型。
参数: 不需要参数。
jira/get_issue_status_by_project
说明: 获取某个项目的所有问题状态。
参数:
project(string, required): 项目键。
jira/get_all_assignees_by_project
说明: 获取某个项目的所有指派人。
参数:
project(string, required): 项目键。
基础 Jira 智能体设置
Section titled “基础 Jira 智能体设置”from crewai import Agent, Task, Crewfrom crewai import Agent, Task, Crew
# Create an agent with Jira capabilitiesjira_agent = Agent( role="Issue Manager", goal="Manage Jira issues and track project progress efficiently", backstory="An AI assistant specialized in issue tracking and project management.", apps=['jira'] # All Jira actions will be available)
# Task to create a bug reportcreate_bug_task = Task( description="Create a bug report for the login functionality with high priority and assign it to the development team", agent=jira_agent, expected_output="Bug report created successfully with issue key")
# Run the taskcrew = Crew( agents=[jira_agent], tasks=[create_bug_task])
crew.kickoff()筛选特定 Jira 工具
Section titled “筛选特定 Jira 工具”issue_coordinator = Agent( role="Issue Coordinator", goal="Create and manage Jira issues efficiently", backstory="An AI assistant that focuses on issue creation and management.", apps=['jira'])
# Task to manage issue workflowissue_workflow = Task( description="Create a feature request issue and update the status of related issues", agent=issue_coordinator, expected_output="Feature request created and related issues updated")
crew = Crew( agents=[issue_coordinator], tasks=[issue_workflow])
crew.kickoff()