Skip to main content
将 Jira Cloud 连接到 Devin 有两种方式。两种方式都能让团队成员把 Jira 工作项交给 Devin 处理并收到 pull request,但安装方式和触发方式有所不同。

方式 1:Jira 中的 Devin Rovo Agent

Devin for Jira Forge 应用会将 Devin 作为 Rovo Agent 添加到你的站点。你可以将工作项分配给 Devin,或在评论中 @mention Devin,也可以将 Jira 工作项事件用作 Devin 自动化的触发器。如果你的 workspace 已启用 Jira Cloud 的 agent 功能,请选择此方式。

方式 2:Jira 中的服务用户

通过 Connect with an admin account 建立 OAuth 连接,并配合一个代表 Devin 执行操作的 Jira 服务账号。你可以通过 Devin 自动化、devin 标签、将工作项分配给该服务账号或 @mention 该服务账号来启动 Devin。

我应该选择哪种方式?

  • 你的 workspace 中已启用 Jira Cloud Agent 功能 → 使用 Rovo Agent。Devin 会像其他 Agent 一样出现在经办人选择器和 @提及中,并在工作项的 Agent 卡片上汇报进展。关联站点后,该站点的 Jira 工作项事件还可用作 Devin 自动化的触发器。
  • 你的 Jira workspace 中已关闭 Rovo → 使用服务用户。Devin 通过你创建的 Jira 服务账号执行操作,并通过评论和远程链接汇报进展。
两种方式都会运行常规的 Devin 会话,都支持 Devin 自动化,遵循相同的要求,计费方式也相同。

Devin 自动化

Devin 自动化是从 Jira 自动启动 Devin 的方式,两种选项均适用。连接 Jira 站点后 (通过 Devin for Jira 应用关联,或使用 admin 账户连接) ,该站点的工作项事件即可用作 Jira 触发器。创建自动化时,从中选择一个:
  • 问题已创建 — 创建了工作项。
  • Issue updated — 工作项的任意字段发生变更;变更的字段可在自动化的条件中使用。
  • 已添加标签 — 为工作项添加了标签,每添加一个标签触发一次事件。
  • 状态已更改 — 工作项的状态发生变更,或创建工作项时已设置状态。
  • Assigned — 创建工作项时已指定经办人,或其经办人发生变更。
  • Comment created — 在工作项上创建了评论。Devin 自己发布的评论不会触发此事件。
条件可按项目、标签、状态、经办人、史诗 (即工作项的父级) 和摘要进行过滤。自动化的会话结束后,其最终消息会以评论形式发布到工作项上:通过应用关联的站点由 Devin 应用发布,使用 admin 账户连接的站点则通过服务用户连接发布。如果站点同时具有这两种连接,每个事件只会通过服务用户连接投递一次。

选项 1:Jira 中的 Devin Rovo Agent

Devin for Jira 是一款基于 Rovo Agent 连接器构建的 Atlassian Forge 应用。完成安装和账号关联后,Devin 就会成为你 Jira Cloud 站点上的一个 Agent:只需将工作项分配给 Devin,或在评论中 @ 提及 @Devin,Devin 便会规划工作、编写代码、创建 pull request,并在工作项中汇报结果。

设置

设置分为两步:先在你的 Jira 站点上安装该应用,再由 Devin Admin 将该站点关联到 Devin 账户。

  1. 在你的站点上安装应用

  1. 由 Jira Admin 打开 Atlassian Marketplace 上的 Devin,并将其安装到你的 Jira Cloud 站点 (your-site.atlassian.net) 。
  2. Jira Admin 查看该应用请求的权限并确认授权。该应用会读写工作项和评论,读取 Jira 用户及其电子邮件地址 (用于与 Devin 用户进行匹配) ,并检查项目权限。
应用安装完成后,Devin 会以 Agent 的形式出现在站点上,但在站点关联到 Devin 账户之前,它还无法接受任务。
  1. 在 Jira 中,前往 Settings > Apps,打开该应用添加的 Devin 页面。页面会显示“This site is not connected to a Devin account yet.”
  2. 点击 Connect to Devin,系统会在新选项卡中打开 Devin 页面。如出现提示,请登录 Devin。
  3. 确认页面显示的是你的 Jira 站点,选择要关联的 Devin 账户,然后点击 Link site。
  4. 返回 Jira,点击 Check again。页面会显示该站点已连接的 Devin 账户。
连接链接为一次性链接,有效期为创建后 15 分钟。如果链接已过期,请返回 Jira,点击 Check again 或刷新页面,然后再次点击 Connect to Devin。如果你没有管理该 Devin 账户集成的权限,请将链接转发给有权限的人;对方必须在这 15 分钟有效期内完成关联。
已关联的站点会列在 Devin 的 Settings > Connections > Jira 下,显示为 Devin app for Jira · installed from Jira,并带有 Linked 标记。如需断开连接,请在该页面打开站点的 Actions 菜单,选择 Unlink site…,然后点击 Unlink site 确认。Devin 会立即停止接收来自该 Jira 站点的新任务,但已在 Devin 中运行的会话不受影响。如需重新关联,须由 Jira Admin 在 Jira 中再次点击 Connect to Devin。

触发方式

如需根据工作项事件自动启动 Devin,请使用 Devin 自动化。此外,你也可以通过 Rovo Agent,以两种方式从工作项手动启动 Devin 会话。

将工作项分配给 Devin

在工作项的经办人字段中选择 Devin。Devin 会启动一个会话,并将该工作项的摘要和描述作为任务来处理。
  • 在任务仍处于活动状态时,同一人在五分钟内的重复分配会被视为重复操作。超过五分钟后再次分配该工作项,或由其他人进行分配,则可能会启动另一个会话,即使第一个会话仍在运行。
  • Devin 完成工作后,再次将该工作项分配给 Devin 会启动一个新会话。

在评论中 @mention Devin

在评论中提及 @Devin 并附上具体指示。Devin 会启动一个会话,将你的评论作为任务,并将工作项的描述作为上下文。当 Devin 完成工作或暂停下来向你提问时,会将其最新消息以评论形式发布到该工作项上,并 @ 你。 每条提及 Devin 的评论都会各自启动一个会话。如需继续某个正在运行的会话,请改为在 Agent 面板中回复。
会话会以对应的 Devin 用户身份运行,该用户与分配或提及 Devin 的 Jira 用户相匹配。因此,会话会出现在该用户的会话列表中,并遵循其权限。关于 Jira 用户如何与 Devin 用户匹配,请参阅要求。

Agent 面板

Devin 工作期间,其进度会显示在工作项的 Jira Agent 面板中:
  • 实时状态:Agent 面板会实时显示 Devin 的进度。
  • 会话链接:Devin 发送的第一条消息是一个链接,指向 Web 应用中对应的 Devin 会话,你可以在那里跟进进度或接管工作。
  • Devin 的消息:Devin 的回复会以格式化内容的形式保留在卡片上,其中的链接可直接点击。
  • 问题:如果 Devin 需要你提供信息,卡片上会显示它的问题。请通过 Jira Agent 面板中的任务聊天进行回复,你的回复会发送到同一个 Devin 会话。
  • 取消:在 Jira 中取消任务会停止 Devin,并让会话进入休眠状态。
只有发起该 Devin 任务的 Jira 用户才能在 Jira 中向其发送消息或取消任务。 如果 Devin 无法接受某个工作项,卡片上会说明原因,例如:该 Jira 站点尚未关联 Devin 账户、你的 Atlassian 账户无法与 Devin 用户匹配,或者组织或你的用户当前已无法继续消耗算力单元 (ACU) 。修复问题后,请重新将该工作项分配给 Devin。 Devin 在 Jira Agent 面板中的回复会附带 pull request 链接;如果 Devin 创建了某个 pull request 但未在回复中提及,该 pull request 会列在回复末尾的 Pull requests 下。对于通过 @mention 启动的会话,Devin 的最终消息还会以评论形式发布到工作项上;只有当 Devin 在消息中附上了 pull request 链接时,该评论中才会包含此链接。

选项 2:Jira 中的服务用户

使用此选项时,Devin 通过 OAuth 连接到你的 Jira 站点,并以 Jira 服务账号的身份执行操作。无需在 Jira 中安装任何内容:由 Jira admin 在 Devin 的设置中为 Devin 授权,然后你在 Atlassian 中创建一个服务账号,作为 Devin 在 Jira 中的身份——你将工作项分配给这个用户,Devin 发布的评论也以它作为作者。如果你的 Jira workspace 中关闭了 Rovo,请使用此选项。

设置

  1. 使用 Admin 账户连接

  1. 在 Devin 中,前往 Settings > Connections > Jira,点击 Connect account,然后选择 Connect with an Admin account。
  2. 以 Jira Admin 身份登录 Atlassian 并授予访问权限。Devin 会通过此账户在该站点上注册 webhook。
在你添加服务账号之前,Devin 的评论会以连接 Jira 的 Admin 账户名义发布,且无法将工作项分配给 Devin。

  1. 添加服务账号

  1. 配置一个 Atlassian 服务账号,为其创建 OAuth 2.0 凭据并授予以下作用域:
    • read:me
    • read:jira-user
    • read:jira-work
    • write:jira-work
  2. 为该服务账号授予 Jira 应用程序访问权限,以及浏览相关项目、添加评论、编辑和删除自己的评论、关联问题的权限。保存凭据时,Devin 会验证凭据并报告缺少的权限。
  3. 在 Settings > Connections > Jira 中,打开该连接的菜单,选择 Add service-account credentials,然后输入 client ID 和客户端密钥。
此后,Devin 的评论将以该服务账号的身份发布,将工作项分配给该服务账号即可启动会话。替换或移除凭据不会影响你现有的 webhook。 Devin 通常通过已配置的服务账号发布内容。如果无法获取该账号的访问令牌,Devin 可能会改用连接 Jira 的 Admin 的 OAuth 令牌,此时评论可能会以该 Admin 的身份显示。

  1. 创建自动化

如需在发生工作项事件时自动启动 Devin,请创建一个使用 Jira 触发器的 Devin 自动化,详见 Devin 自动化。

触发方式

若要在工作项创建或变更时自动启动 Devin,请使用 Devin 自动化。你也可以手动为工作项启动 Devin:
  • 将工作项分配给服务账号。 Devin 会为该工作项启动一个会话。需要先配置服务账号。
  • 添加 devin 标签。 为已有工作项添加该标签时,匹配不区分大小写,且按完整单词匹配:Devin、devin-workshop 和 devin-task 会触发,而 devinworkshop 和 devin_workshop 不会。如果工作项在创建时就已带有标签,则只有与 devin 完全一致的标签 (不区分大小写) 才会触发;devin-workshop 不算在内。
  • 在评论中 @mention 服务账号。 Devin 会为该工作项启动一个会话,并将你的评论内容追加到任务中。如果 Devin 已有该工作项的活跃会话,你的评论会转发到该会话,而不会启动新会话。
当 Devin 已有某个工作项的会话时,该工作项上新的分配和标签都会被忽略,@mention 则会发送到该会话。此关联持续 30 天;如果某次 @mention 时发现该会话已结束或出错,关联也会提前解除。

会话以谁的身份运行

Devin 会将触发会话的 Jira 用户与所连接 Devin 账户中的成员进行匹配:
  1. 优先通过已关联的 Atlassian 账户匹配。成员可以在 Settings > Connections > Atlassian 下关联自己的账户,使 Devin 能够以该成员的身份读取 Jira。
  2. 否则通过电子邮件地址匹配:如果某个 Jira 用户的电子邮件与账户中有且仅有一名成员一致,则匹配成功,系统会记住该匹配关系。
会话将以匹配到的 Devin 用户身份运行,显示在该用户的会话列表中,并受其权限约束。如果没有匹配的成员,或者匹配到的成员在该组织中无权使用 Devin 会话,则会话将改为以共享的 Devin Jira 机器人用户身份运行。如果 Devin 无法为该工作项确定所属组织,会通过评论说明情况。 会话启动时,Devin 会发表评论“Devin is working on your request”,并附上该会话的链接。Devin 创建 pull request 后,会将其 URL 作为远程链接添加到工作项中,并以评论形式发布,同时附上 Devin 会话的链接。

要求

两种方式均需满足:
  • Jira Cloud。 Devin for Jira 是一个 Forge 应用,而 OAuth 连接使用 Atlassian Cloud OAuth,因此两者都需要 Jira Cloud 站点。如使用自托管的 Jira,请参阅通过 API 连接自定义工单系统。
  • 一名 Jira Admin负责安装应用或授权 OAuth 连接,另需一名 Devin Admin (可管理该 Devin 账户集成的人员) 负责关联站点或配置连接。
  • 每个 Devin 账户对应一个 Jira 站点。 一个 Jira 站点只能关联一个 Devin 账户,一个 Devin 账户同一时间也只能关联一个 Jira 站点。如需关联其他站点,请先取消关联当前站点。
  • 已连接的仓库,以便 Devin 推送分支并创建 pull request。Devin 只能在其有权访问的仓库中创建 pull request,因此请先连接源代码提供商,例如通过 GitHub 集成进行连接。
使用 Rovo Agent 时:
  • 从 Atlassian Marketplace 安装 Devin for Jira 应用,并在 workspace 中启用 Jira Cloud Agent 功能。请参阅方式 1。
  • Devin Core、Team 或 Enterprise 套餐,并具备管理集成的权限,以及启动会话的权限和可用用量。
  • 每个触发 Devin 的人都需要拥有 Devin 用户。 Devin 会根据已关联的 Atlassian 账户或电子邮件地址,将 Jira 用户与已关联 Devin 账户中的成员进行匹配。如果两者均无法匹配,该用户可以在 Settings > Connections > Atlassian 下关联自己的账户;或者由 Admin 检查该用户是否属于已关联的 Devin 账户,以及其已验证的电子邮件是否一致。无法匹配的 Jira 用户提交的工作项将被拒绝。
  • 启动会话的权限。 匹配到的 Devin 用户必须在其所属组织中拥有使用 Devin 会话的权限。如果用户属于多个组织,Devin 会优先使用其默认工作组织,可在 Settings > Preferences 中设置。如果 Devin 无法确定组织,会提示该用户设置默认组织。
使用服务用户时:
  • 一个 Jira 服务账号,具备添加服务账号中所述的作用域和应用程序访问权限,以便将工作项分配给 Devin,并让 Devin 的评论以机器人身份发布。
  • 一个 Jira Admin 账户,用于授权连接。之后重新连接会刷新授权,且不会丢失服务账号凭据或 webhook。

计费

从 Jira 发起的会话就是普通的 Devin 会话。这些会话会消耗所在 Devin 组织的 ACU,消耗速率与从 Web 应用或其他任何集成发起的会话相同,并计入该组织的用量上限。如果组织已达到用量上限、无法启动新会话,Devin 会在 Jira 中拒绝该工作项:使用 Rovo Agent 时,会在其卡片上说明;使用服务用户时,则会通过评论告知。 该应用可免费安装。Devin 的用量按你的 Devin 套餐计费,且 Devin 会在 Atlassian 之外处理 Jira 内容。