甘特图与 Jira:如何让计划与执行保持一致
Jira 擅长管理日常工作,却无法根据依赖关系和日历计算日期。本文介绍 Planitude 双向同步的工作方式、各字段由谁决定,以及如何在几分钟内完成连接。

在许多企业里,同一个项目存在两份。计划包含阶段、依赖关系和交付日期,放在项目经理制作的甘特图里;工作包含工单、冲刺和分配,放在 Jira 里。只要两者分开,就得有人手动把进度从一边抄到另一边,而计划里的日期很快就会过时。
本文说明为什么单靠 Jira 不足以管理进度计划,Planitude 与 Jira Cloud 之间的双向同步如何工作,以及启用之前需要了解哪些限制。
两个工具,两个不同的问题
Jira 回答的问题是:团队现在在做什么? 待办列表、看板和冲刺都是为此而设计的。进度计划回答的则是另一个问题:我们什么时候完成,哪些任务不能延误?
要回答第二个问题,需要工期、带提前量和滞后量的依赖关系、包含节假日的日历、限制条件,以及把每一次变动传递给后续任务的计算。如果新服务器的安装推迟三天,测试、培训和上线都必须自动顺延,而项目经理必须立刻知道交付日期是否仍然可以保证。
在进度管理上 Jira 缺少什么
Jira 并非没有计划工具。时间线会用“Blocks”链接类型显示关联项之间的依赖关系;当两个关联项的日期重叠时,依赖线会变成红色,提示可能出现延误[1]。根据 Atlassian 的价格页面,Free 和 Standard 方案可以在单个项目内管理依赖关系,Premium 方案则可以跨项目管理[2]。
但提醒并不等于重新计算:日期仍是当初录入的值,而关键路径也不在其所描述的功能之列。结果是,计划被放在别处,比如某个文件或另一个工具里,并逐渐与实际脱节。两款工具的完整对比请见文章《Planitude vs Jira》。
双向同步如何工作
这项集成把 一个 Planitude 项目连接到一个 Jira Cloud 项目。登录使用 Atlassian 的 OAuth 2.0:Planitude 不会知道你的密码,令牌以加密方式保存,并通过 Atlassian 提供的轮换式刷新令牌续期;刷新令牌在 90 天未使用后失效[3]。
首次连接时,你需要选择初始对齐方式:
- 将计划发送到 Jira:为每个任务创建一个事务,为每条依赖关系创建一个“Blocks”链接;
- 从 Jira 导入:每个现有事务都会作为任务添加到计划末尾,并带有开始日期、工期、进度和经办人;
- 两者:先导入,再把 Jira 中还没有的任务发送过去。
此后,变更会在两个方向上流动。从 Planitude 到 Jira,计划中的任何变更,无论来自表格、甘特图、导入还是 AI 助手,都会被检测到并在几秒钟内发送。从 Jira 到 Planitude,变更通过集成注册的 Webhook 送达,Planitude 会在 Atlassian 规定的 30 天有效期届满之前为其续期[4];另外每五分钟一次的检查会补回遗漏的事件。
摘要任务可以只保留在 Planitude 中,也可以变成 Epic,其下的任务则成为子事务。
谁决定什么:字段规则
可靠的同步需要为每个字段制定一条简单的规则。在 Planitude 中,规则如下:
| Planitude | Jira | 由谁决定 |
|---|---|---|
| 名称 | Summary | Planitude |
| 备注 | Description | Planitude |
| 开始 | “Start date”字段 | Planitude |
| 完成 | Due date | Planitude |
| 完成-开始依赖关系 | “Blocks”链接 | Planitude |
| 进度 | 状态(通过转换) | Jira |
| 分配 | Assignee | Jira |
这套逻辑符合实际工作方式:什么时候做由计划决定,任务进展到哪一步、由谁负责由团队决定。状态通过一张可编辑的对照表换算成百分比:按类别,待办为 0%,进行中为 50%,已完成为 100%。如果某个任务已经完成 30%,而其事务变为“进行中”,进度不会被固定的 50% 覆盖。
如果 Jira 用户公开了邮箱,人员会按邮箱自动匹配;否则可以在集成页面上手动选择对应关系。
依赖关系、冲突与删除
依赖关系。 完成-开始链接会变成“Blocks”链接:前置任务阻塞后续任务。开始-开始、完成-完成和开始-完成链接在 Jira 中没有对应项,只保留在 Planitude 中。在 Jira 中手动添加的“Blocks”链接既不会被导入,也不会被删除。
在 Jira 中修改的日期。 由于日期由计划计算,在 Jira 中修改的日期会被恢复为计划中的值,被拒绝的修改会记录在集成日志中。要移动任务,请在计划中移动:引擎会同时重新计算所有依赖它的任务。
冲突。 对每个字段,Planitude 会比较三个值:上一次双方一致的值、计划中的当前值和 Jira 中的当前值。如果只有一方发生了变化,就把变化同步到另一方;如果双方都变成了不同的值,则由负责该字段的一方胜出,冲突连同两个值一起记录下来。这条规则只取决于数据,与两台服务器的时钟无关。
删除。 任何一方都不会删除另一方的内容。在 Planitude 中删除任务后,Jira 中的事务仍会保留,并加上 planitude-unlinked 标签;在 Jira 中删除事务后,任务仍保留在计划中,页面会提供两个操作:在 Jira 中重新创建,或停止同步。
分步连接 Jira
- 在 Planitude 中打开项目,选择 ⋯ › 集成 › Jira。
- 点击 连接 Jira,并在 Atlassian 的授权页面上授予访问权限。
- 如果你的账号能看到多个站点,请选择正确的站点,再选择 Jira 项目。
- 检查各项选项:默认事务类型、摘要任务是否作为 Epic、开始日期字段,以及 Planitude 创建的事务所使用的标签。
- 选择初始对齐方式:发送、导入或两者。
- 检查 人员 部分,补全未能通过邮箱找到的对应关系。
Planitude 以连接项目者的身份写入 Jira,因此此人需要在 Jira 中拥有浏览项目,创建、编辑、分配和链接事务,以及执行转换的权限。Planitude 项目的所有者和编辑者可以配置集成;只读成员只能查看其状态。其他可用集成请见集成页面。
已知限制
- 仅支持 Jira Cloud:不支持 Jira Data Center 和 Server。
- 仅支持 完成-开始 依赖关系;每个事务只有一位经办人(在该任务上单位数最多的人)。
- 日期精确到天:具体时间只保留在 Planitude 中。
- Atlassian 允许一个 OAuth 应用 每个用户在每个站点最多注册 5 个 Webhook[4]:同一人在同一站点连接第六个及以后的项目时,来自 Jira 的变更将通过每五分钟一次的检查同步。
- 选择“仅叶子任务”时,变成摘要任务的任务会被视为已移除,其事务会被加上
planitude-unlinked标签。
用你自己的计划试用 Planitude
创建免费账户常见问题
使用该集成需要 Jira Premium 吗?
不需要。该集成使用 Jira Cloud 的标准 API。关键路径和日期重算由免费的 Planitude 提供。
可以直接在 Jira 中修改日期吗?
可以,但修改会被恢复为计划中的值并记录在日志中,因为日期是根据依赖关系和日历计算出来的。要移动任务,请在 Planitude 中修改。
断开项目连接后会怎样?
Planitude 会删除 Webhook 和凭据。事务会带着标签保留在 Jira 中,计划中的任务不会发生任何变化。
也可以连接 Azure DevOps 吗?
可以,使用的是基于同一模式的集成:日期由 Planitude 决定,状态和负责人由 Azure DevOps 决定。详情请见《集成指南》。
来源
文中关于各产品的所有信息均来自以下官方页面,核实于 2026年10月。价格为厂商公布的标价,币种与计费周期以厂商页面为准,可能会有变动。
- Atlassian Support: dependencies on the timelinesupport.atlassian.com
- Atlassian: Jira pricingatlassian.com
- Atlassian Developer: OAuth 2.0 (3LO) appsdeveloper.atlassian.com
- Atlassian Developer: Jira webhooksdeveloper.atlassian.com
用你自己的计划试用 Planitude
创建免费账户,导入你的 .mpp 文件或从模板开始:几分钟内就能看到带有依赖关系、日历和关键路径的甘特图。