MS Project和Redmine的简单集成

题词


“如果我要把尼加诺尔·伊万诺维奇的嘴唇放在伊万·库兹米奇的鼻子上,请像巴尔塔扎·巴尔塔扎里奇那样大张旗鼓,也许,再加上伊万·帕夫洛维奇的进一步困境,我会立即做出决定。” N.V. 果戈里。 结婚吧



有两种众所周知且截然不同的项目管理工具:MS Project和Redmine。 它们每个都有自己的优点,这些优点可以完美地互补。


我想提请您注意一个名为P2R的小型实用程序,该实用程序无需进行任何安装即可进行最少的设置,以确保MS Project和Redmine中项目的在线同步。 可以从下载


项目有什么好处:


  • 以文档模式(电子表格)整体编辑项目很方便。 另外,将多个项目快速组合成一个合并的项目并视为一个整体也是一个优势。 (在Redmine中,通过任务表单一次只能编辑一个项目任务)。
  • 任务之间连接的各种多样性和灵活性(在Redmine中,通信以简约方式实现)。
  • 监视资源加载以及在日历上自动分配任务的能力,并考虑到关系和资源加载。 包括“非人道”资源,例如设备,设施等。 (Redmine中没有这些;该工具是为另一个工具创建的。)

Redmine有什么好处:


  • Ruby On Rails上的免费产品,非常简单,可自定义且可扩展,具有活跃的社区,大量的插件,并积极开发
  • 网络和团队合作。 因此,记录每个任务的进度非常方便,包括更改日志,任务的对应关系和讨论,文件,花费时间的个人报告等。(Project中没有任何内容。)

在MS Project中准备项目,将其发送给Redmine,从那里获取任务的实际条款和估计/花费的时间,将它们与以前保存的基准进行比较,并在必要时进行调整,将会很方便。 (例如,在像我们这样的工作环境中,这特别方便:有一系列具有规则结构的项目,必须根据模板(略有指定并允许工作的模板)来形成。)


有用于此集成的Rredmine插件。 但是他们通过上载和下载xml文件来实现集成,但是我希望它没有文件并且更容易。


提议的P2R脚本是用ruby编写的,可通过OLE与MS Project一起使用,并通过API与Redfmine一起使用。 如果未安装ruby,则可以采用编译到.exe中的相同脚本(它位于ocra实用程序生成的downloads文件夹中)。


为发布和同步准备MSP项目需要最少的操作。


  1. P2R将Redmine任务标识符存储在MSP任务的“超链接”属性中。 要标记要发布的任务,您需要在此属性中输入0。 发布后,P2R将自动将该字段更改为实际任务ID,同时在HyperlinkAddress属性中生成正确的URL,因此该链接将是可单击的。 (当然,那您不应该忘记保存MSP项目,它不会自动保存。)
  2. P2R还将Redmine用户ID存储在MSP资源的“超链接”属性中。 要将此资源与Redmine用户相关联,您需要从Redmine管理员中找到用户ID。 (管理员可以访问用户列表,并且可以在列表的链接中查看其ID)。
  3. P2R从名为“ Redmine同步”的特殊任务中获取Redmine中的访问参数。 您需要创建一个这样的任务,并根据示例将访问参数以YAML格式放在“ Notes”字段中(当然,参数值必须替换为您自己的参数):

    redmine_host: 192.168.10.10 redmine_port: 3000 redmine_api_key: a21e583e7670b1fc79378441d485b9608e4c2dc4c redmine_project_uuid: test task_default_redmine_tracker_id: 4 resource_default_redmine_role_id: 4 

之后,项目就可以进行同步了。 从参数名称中可以清楚地看出参数的用途。


redmine_project_uuid参数包含需要根据Redmine规则进行发明的唯一项目代码,可以通过任何项目的设置页面找到该代码。 如果在创建项目时发生“无法处理的条目”错误,则很可能是您选择了错误的项目uuid。


task_default_redmine_tracker_id参数task_default_redmine_tracker_id可选的。 如果您忽略它,将使用Redmine设置中的默认曲目。


如果您不想在Redmine中创建新项目,而是要连接现有项目,请执行以下操作:


  1. redmine_project_id参数添加到Redmine Synchronization设置中,然后在其中放置Redmine项目ID。 该整数是Redmine数据库中条目的ID。 例如,您可以在XML或JSON格式的项目卡中找到此ID(对于上面的示例,可以在http://192.168.10.10/10000000/projects/test.json上找到它)。
  2. 为了使任务与Redmine中的现有任务同步,请在Hyperlink字段中输入不是其零,而是其实际Redmine ID。

在为任务分配资源方面存在一些限制:


  • 由于在Redmine中只能将一个执行程序分配给一个任务,因此,当脚本在MSP任务中找到多个标记为同步的资源时,该脚本将宣誓并停止。 (1)在将来的版本中,此行为可能会被更温和的行为所代替,例如发出警告并随机选择其中之一。 (2)可以根据需要分配任意数量的未同步资源,P2R会忽略它们。

实现以下同步算法:


  • 任务名称,从属结构和负责人在MSP方面优先,即 它们需要在MS Project中进行编辑,并且更改将在同步过程中转到Redmine。
  • 任务的开始,结束,人工成本(评估和实际)在Redmine方面优先考虑,并在同步期间转到MSP。

人工成本还有一个问题:在MSP中,人工成本的估算,实际人工成本和完成百分比通过公式紧密关联,而在Redmine中,它们是独立设置的。 也就是说,他们将其评级为10个小时,用了40个小时,并同时完成了30%的任务。 它发生在生活中,而Redmine不在乎。 选择的解决方案是:


  • 实际费用始终按原样书写
  • 如果实际成本大于估算值且完成百分比为0,则忽略估算值
  • 如果实际成本大于估算值且完成百分比不为0,则我们将基于事实和完成百分比来计算新的估算值。

总的来说,同步过程如下所示:


  1. 我们在MS Project中打开我们的项目并将其保持活动状态。
  2. 如果需要,我们开始P2R的空闲运行,然后看看会发生什么变化。
  3. 我们开始实际的同步:使用–e开关。

从中启动脚本的工作目录无关紧要。


您可以通过计时器启动脚本,同步将变得完全自动。


谢谢您的关注。

Source: https://habr.com/ru/post/zh-CN452982/


All Articles