如何将 Mylyn 仓库连接到 Redmine¶
这些说明应该适用于 0.9 稳定版及更高版本的 Redmine。
连接 Mylyn 到 Redmine 有两种选择:要么在你的 Redmine 安装中安装连接器(这显然需要你有在你要使用的 Redmine 上安装插件的能力),或者使用通用 Web 连接器,该连接器抓取所需信息的 HTML 页面,因此应该适用于几乎所有的足够新版的 Redmine 安装。
使用专门的 Redmine-Mylyn 连接器¶
Redmine Mylyn 连接器处于“不稳定”开发状态。因此,你会找到多个页面和分支,以下是一些跳转点。
https://redmine.ruby-lang.org.cn/boards/1/topics/10923
http://sourceforge.net/projects/redmin-mylyncon/ - Eclipse 4.x : https://github.com/ljader/redmine-mylyn-plugin
http://danmunn.github.io/redmine_mylyn_connector/(目前,https://github.com/joaopedrotaveira/redmine_mylyn_connector 具有更好的 Redmine 3.x.x 兼容性)
SourceForge 方式¶
Redmine-Mylyn 连接器是另一种提供更好 Mylyn 集成的解决方案(注意:对于 Redmine 2 版本,更新后的 Redmine 插件可以在此处找到,还有一个更新后的 Redmine 连接器插件用于 Eclipse(Mylyn),该插件解决了与新版本(Eclipse 4.x)的一些问题,可以在此处找到)。
使用通用 Web 仓库连接器¶
Mylyn 是一个用于任务管理的 Eclipse 插件。
本指南解释了如何使用通用 Web 仓库连接器连接到 Redmine。
请注意,通用 Web 仓库连接器不是 Mylyn 默认安装的一部分。
因此,您必须首先从_incubator_ 更新站点安装它。
创建任务仓库¶
- 右键单击任务仓库列表并单击“添加任务仓库”
- 选择“Web 模板(高级)”并单击“下一步”
- 配置仓库
Server: https://redmine.ruby-lang.org.cn -- Replace it with the URL of your Redmine instance Task URL: ${serverUrl}/issues/ New task URL: ${serverUrl}/projects/foo/issues/new -- Replace foo with the identifier of the project used for new tasks Query request URL: ${serverUrl}/issues Query pattern: <td class="subject">.*?<a href="/issues/(\d+)">(.+?)</a></td> Login request URL: ${serverUrl}/login?username=${userId}&password=${password}&authenticity_token=${loginToken} [POST] Login Form URL: ${serverUrl}/login Login Token Pattern: <input name="authenticity_token" type="hidden" value="(.+?)">
如果您在登录时遇到问题,也许可以尝试以下方法(注意结尾)
Login Token Pattern: <input name="authenticity_token" type="hidden" value="(.+?)" />
示例
如果您只想获取分配给您的任务,可以将“查询请求 URL”参数替换为以下内容
${serverUrl}/issues?set_filter=1&assigned_to_id=me
以下查询模式值读取状态、所有者和跟踪器字段(Mylyn 3.2.1)
<td class="tracker">({Type}.+?)</td><td class="status">({Status}.+?)</td>.+?<td class="subject">.*?<a href=".*?/issues/({Id}\d+)">({Description}.+?)</a></td>({Optional}<td class="assigned_to"><a href.+?>({Owner}.+?)</a></td>)?
在Eclipse中,状态读取为“未完成”或“完成”。
创建查询¶
- 在任务列表上右键单击,然后选择新建 -> 查询...
- 并选择您新创建的仓库
Redmine 3.3+上的Web模板¶
以下信息适用于Redmine版本3.3+和Eclipse Neon(4.6),并会使用REST接口和API密钥。(也请参见上面的截图,了解配置选项的位置。)
先决条件¶
已安装Redmine 3.3+、Eclipse 4.6+
添加MyLyn孵化器:http://download.eclipse.org/mylyn/incubator/latest/
安装Mylyn任务连接器:Web模板(高级)(孵化)
添加新的MyLyn仓库¶
服务器:您的服务器URL
标签:您的标签
勾选“匿名”框
点击附加设置,添加3个参数
key -> 您的API密钥
projectId -> 您的项目名称
limit -> 100
点击高级配置
Task URL: ${serverUrl}/issues/ New Task URL: ${serverUrl}/projects/${projectId}/issues/new Query Request URL: ${serverUrl}/issues.xml?key=${key}&project_id=${projectId}&limit=${limit} Query Pattern: <issue><id>({Id}\d+)<\/id>.*?<tracker id="\d+" name="({Type}.*?)"\/><status id="\d+" name="({Status}.*?)"\/>.*?(?:<assigned_to id="\d+" name="({Owner}.*?)"\/>.*?)?<subject>({Description}.*?)<\/subject>
其余保持不变。
创建新查询¶
根据需要调整参数。您可以添加自己的参数来进一步定制列表。例如,要仅查询您自己的任务,请使用
${serverUrl}/issues.xml?key=${key}&project_id=${projectId}&limit=${limit}&assigned_to_id=me
或者您可以在Redmine中创建自定义查询,然后仅同步与该查询对应的任务(您可以在页面URL中找到查询ID)
${serverUrl}/issues.xml?key=${key}&project_id=${projectId}&query_id=${queryId}
更多信息可以在REST文档中找到
一般说明¶
如果您想通过HTTP使用上述连接,则需要调整登录令牌模式。
它适用于当前Redmine版本如下
<input type="hidden" name="authenticity_token" value="(.+?)" />