资源描述
Redmine 管理员手册
Redmine 管理员手册
作者:
北京群英汇信息技术有限公司
网址:
版本:
1.0.0-8+
日期:
-07-29 12:23:45
版权信息:
目录
· 1 阐明
· 2 项目管理
· 3 顾客管理
· 4 顾客组管理
· 5 LDAP 认证
· 6 角色和权限
· 7 问题跟踪系统
· 8 自定义属性
· 9 枚举值
· 10 配备
· 11 高档配备
o 11.1 版本库配备
o 11.2 发送邮件配备
o 11.3 接受邮件
§ 11.3.1 方案
§ 11.3.2 各种方案详细阐明
§ 11.3.2.1 从邮件服务器转发邮件
§ 11.3.2.2 从IMAP服务器读取邮件
§ 11.3.2.3 从POP3服务器读取邮件
§ 11.3.2.4 从原则输入读取邮件
§ 11.3.3 启动匿名顾客通过邮件提交问题
§ 11.3.4 工作原理
§ 11.3.5 例子演示
o 11.4 发送提示邮件
o 11.5 LDAP 认证
o 11.6 配备单点登录
o 11.7 从LDAP同步账号
o 11.8 Subversion 基于途径授权
1 阐明
关于手册中方框标记某些阐明
· Note 是需要注意某些。
· Hint 是群英汇为Redmine扩展某些。
2 项目管理
· 项目列表
默认状况下,项目列表显示所有活动项目。 要想浏览所有项目(涉及活动和归档项目),需要调节项目状态过滤器为"所有"。
项目列表截图
· 新建/编辑项目
· 项目存档
在项目列表页面点击"存档"链接,可将该项目存档。存档项目对顾客不可见。 管理员可以取消存档。
当父项目存档,它所有子项目也都自动存档。
· 复制既有项目
在项目列表页面,点击"复制"链接复制你想要复制项目。
复制项目表单将会预填原项目设立(如:跟踪标签,自定义属性 ...)。 在该表单底部,你可以选取复制原项目哪些内容。
· 删除项目
在项目列表页面,点击"删除"链接,界面将跳到删除页面,选中"是"复选框,然后点击"删除"按钮,该项目以及子项目所有数据都将被删除。
Note
存档与删除区别:
· 存档只是隐藏项目及子项目,而项目数据还存在。
· 删除则是将项目以及子项目数据一同删除,无法恢复 。
3 顾客管理
· 顾客列表
顾客列表截图
默认状况下显示 活动 顾客,你可以调节顾客状态过滤器,选取浏览不同状态顾客。通过点击右侧"锁定"链接,可将顾客从 活动 状态变为 已锁定 状态。同样点击"解锁"链接,可以将顾客从 已锁定 状态变为 活动 状态。
· 添加顾客
点击右上角"新建顾客"链接,跳转到新建顾客页面:
必填字段:
o 登录名
o 名字
o 姓氏
o 邮件地址
o 管理员
选中之后,该顾客将是管理员身份。
o 认证
如果你已经配备了LDAP,那么认证区域将会浮现一种"认证模式"下拉选取框。 Redmine 提供了两种认证机制
§ 内部认证
将顾客密码通过加密后存入数据库中。
§ 外部认证(如LDAP)
顾客密码存储在某些外部认证中,如LDAP。
o 给顾客发送账号信息
选中它,创立账号后,新建顾客将收到一封关于账号信息邮件。
Hint
从LDAP同步账号
RedmineLDAP认证模式是:一方面管理员配备好 LDAP认证 ,并且选中 即时顾客生成 选项,然后当顾客用LDAP账号第一次登录Redmine时,系统自动将LDAP里顾客信息存入数据库,为顾客创立Redmine账号。
但这样会有一种问题:如果管理员想批量给某一项目添加项目成员,这时不得不一一告知这些人,让她们都立马登录一下Redmine(由于只有这样,她们才拥有Redmine账号,管理员才干给这些顾客划分角色,授予权限)。
显然这很麻烦,给管理人员带来不必烦恼,似乎管理人员权利需要员工予以。
群英汇给Redmine管理人员带来了福音,咱们添加了管理人员可以直接从LDAP服务器同步账号到Redmine功能。事实上,如果配备了外部认证源(LDAP或者单点登录),点击“新建顾客”,会直接跳转到 LDAP 帐号同步界面。
操作环节,参见 从LDAP同步账号 。
· 编辑顾客
想要编辑顾客信息,只需点击顾客名,就跳转到修改该顾客信息页面了。
o 普通
属性和新建顾客界面属性同样。
o 组
如果你创立了组,在这里会显示组选项卡。
o 项目
在这里可以给该顾客指定项目。
4 顾客组管理
顾客组列表截图
从Redmine-0.9 开始,管理员可以定义顾客组。
顾客组可以像添加常规顾客同样添加到项目中去。
当把顾客添加到一种已存在顾客组里,该顾客将拥有该组一切权限。
5 LDAP 认证
在1.0此前,新建LDAP需要一系列繁杂操作:管理 --> 配备 --> 认证 --> LDAP认证(右下角处)。为了以便顾客操作,固将LDAP操作置于管理员界面右边栏。
6 角色和权限
角色决定顾客在项目中拥有权限。 每个项目成员在项目中可以有一种或者各种角色。 每个顾客在不同项目中可以有不同角色。
管理员可以创立新角色;也可以编辑已经存在角色;只有当某一角色下没有顾客时,该角色才干被删除。
· 角色属性
o 名称
o 问题可指派给此角色
如果不选,问题就不能指派给该角色里成员。
o 从如下选项复制工作流程
新建角色可以从已经存在角色中复制工作流,如果不选则新建角色工作流为空。
· 权限
当编辑一种角色时候,你可以通过(选中/取消)那些不同行为给该角色定义权限。
权限
描述
项目权限
新建项目
容许非管理顾客创立根项目
编辑项目
容许顾客编辑项目属性
选取项目模块
容许顾客启动/禁用项目模块
管理成员
容许顾客添加/删除项目构成员或者变化项目构成员角色
管理版本
容许顾客添加/删除项目版本
新建子项目
容许顾客为该项目创立子项目
讨论区权限
管理讨论区
容许顾客添加/编辑/删除项目讨论区
刊登贴子
容许顾客在讨论区刊登贴子
编辑贴子
容许顾客编辑任何贴子、删除贴子附件
编辑自己贴子
仅容许顾客编辑自己贴子
删除贴子
容许顾客删除任何贴子和回答
删除自己贴子
仅容许顾客删除自己贴子和回答
文档权限
管理文档
容许顾客添加/编辑/删除项目文档
查看文档
容许顾客查看文档
文献权限
管理文献
容许顾客添加/编辑/删除项目文献
查看文献
容许顾客查看文献
问题跟踪权限
管理问题类别
容许顾客添加/编辑/删除问题类别
查看问题
容许顾客查看问题
新建问题
容许顾客新建问题
更新问题
容许顾客编辑问题
管理问题关联
容许顾客添加/删除问题之间关联
管理子任务
容许顾客给问题(issues)添加/删除子任务
添加阐明
容许顾客给已存在问题添加阐明
编辑阐明
容许顾客编辑任何问题阐明
编辑自己阐明
仅容许顾客编辑自己添加问题阐明
移动问题
容许顾客将已存在问题移动到别项目中
删除问题
容许顾客删除问题
管理公开查询
容许顾客添加/编辑/删除公开问题查询
保存查询
容许顾客保存自定义问题查询
查看甘特图
容许顾客浏览甘特图
查看日历
容许顾客浏览日历
查看跟踪者列表
容许顾客查看问题跟踪者
添加跟踪者
容许顾客给已存在问题添加跟踪者
删除跟踪者
容许顾客删除问题跟踪者
新闻权限
管理新闻
容许顾客添加/编辑/删除项目新闻
为新闻添加评论
容许顾客给新闻添加评论
版本库权限
管理版本库
容许顾客配备项目版本库
浏览版本库
容许顾客浏览并查看项目版本库内容
查看变更
容许顾客查看变更集
访问提交信息
予以Redmine.pm具备访问项目版本库写权限
时间跟踪权限
登记工时
容许顾客给项目登记工时
查看耗时
容许顾客查看项目耗时历史
编辑耗时
容许顾客编辑任何耗时记录
编辑自己耗时
仅容许顾客编辑自己耗时记录
管理项目活动
容许顾客添加/编辑/删除活动
Wiki权限
管理Wiki
容许顾客创立/删除项目Wiki 删除Wiki页面是 不可恢复 操作,它会删除所有有关页面及附件
重命名Wiki页面
容许顾客重命名Wiki页面,或者指定Wiki页面父页面
删除Wiki页面
容许顾客删除Wiki页面,此操作是 不可恢复 ,页面以及修改历史将被统统删除
查看Wiki
容许顾客查看Wiki页面
导出Wiki页面
容许顾客将Wiki页面导出为各种格式(pdf,html,...)
查看Wiki历史记录
容许顾客老版本Wiki页面,或者查看不同版本之间差别
编辑Wiki页面
容许顾客编辑没有保护Wiki页面
删除附件
容许顾客删除Wiki页面附件
保护Wiki页面
容许顾客锁定/解锁Wiki页面,并具备编辑已锁定WIki页面权限
· 系统角色
在Redmine共有2种系统角色,她们供Redmine内部使用,因而不能被删除。
o Non member
非项目成员角色,用于定义那些不属于该项目成员顾客权限。
o Anonymous
匿名角色,用于定义匿名顾客在项目中权限。
Note
· 这两个角色仅被用于公开项目,因而匿名顾客和非私有项目成员顾客不能看到它。
· 某些权限不能赋给这两个角色。 例如 "管理成员"
7 问题跟踪系统
· 跟踪标签
新建跟踪标签截图
跟踪标签代表不同问题类型。 默认状况下有三种标签:错误,功能和支持。管理员可以新建跟踪标签:
o 名称
o 在路线图中显示问题
o 从如下选项复制工作流程
新建跟踪标签可以从已经存在跟踪标签中复制工作流。如果不选,那么新建跟踪标签工作流为空。
o 项目
可以指定新建跟踪标签用于哪些项目中。
· 问题状态
管理员可以依照需要自由地添加和删除问题状态。
问题状态具有属性:
o 名称
o 已关闭问题
如果选中,则表达处在该状态问题属于已经关闭问题 (可以声明各种状态属于已关闭状态)。
o 默认值
指定新建问题默认状态 (只能有一种状态属于默认状态)。
· 完毕度
该选项(即问题状态一览表中 完毕度 列)只有在 计算问题完毕度 选项设立为 使用问题状态 时才显示。
· 更新问题完毕度
该链接只有在 计算问题完毕度 选项设立为 使用问题状态 时才显示。当点击该链接后,系统将依照问题状态更改问题完毕度。后来每当问题状态更新,系统自动依照这里设立完毕度更改完毕度字段值。
设立问题状态相应完毕度
· 工作流
工作流使你可以定义不同角色项目成员对不同类型问题所能做问题状态变更。
定制工作流截图
在工作流设立页面,选取你想要编辑角色和跟踪标签,点击"编辑"按钮,跳转到编辑页面,此页面可以编辑该角色对该标签所能做变更状态。 左侧列出了该跟踪标签所有状态,你可以在右侧选取针对该状态该角色可以变更状态。
Note
要变化问题状态,顾客需要具备 更新问题 或者 添加阐明 权限。(参见 权限 )。
8 自定义属性
自定义属性截图
Redmine容许管理员给如下实体添加属性,从而给这些实体添加额外描述信息:
· 问题
· 耗时
· 项目
· 版本库
· 顾客
· 组
· 活动(时间跟踪)
· 问题优先级
· 文档类别
自定义属性有如下几种数据类型:
· 整数
· 字符串
单行输入框
· 文本
多行输入文本域
· 日期
· 布尔值
复选框
· 列表
下拉列表
自定义属性约束条件:
· 最小-最大长度
决定自定义属性字段长度(0表达没有限制)。
· 正则表达式
通过指定正则表达式,对自定义属性内容进行验证。
· 默认值
自定义属性默认值
· 跟踪标签
设立该自定义属性可以在哪些跟踪标签中使用
· 必填
该自定义属性与否是必填字段
· 用于所有项目
该自定义属性与否用于所有项目中
· 作为过滤条件
该自定义属性与否作为过滤器过滤条件
· 可用作搜索条件
该自定义属性与否可以用作搜索时搜索条件
9 枚举值
枚举值截图
Redmine容许管理员对如下实体添加枚举值,从而扩充这些实体可选取值:
· 活动(时间跟踪)
· 问题优先级
· 文档类别
这些枚举值是跨项目管理员可以任意地添加/修改/删除。
枚举值包括字段:
· 名称
· 活动
只有活动枚举值才干被使用
· 默认值
如果选中,那么在使用同类枚举值时该枚举值默认被选中
同一类枚举值默认值只能设立一种
10 配备
· 普通
o 应用程序标题
显示在应用程序头部文字
o 欢迎文字
这些文本将显示在项目概述页面
o 附件大小限制
上传文献最大值。 默以为5120KB
o 每页显示条目个数设立
这个重要用于分页显示,在这里可以填入你想要每页显示记录数,各种值之间用逗号分开。 默认值:25,50,100
o 在项目活动中显示天数
在这里可以设立每页显示多少天之内活动 默认值:30 表达显示30天之内活动
o 主机名称
在这里设立Redmine服务主机名称和途径。 Redmine用这个值生成邮件签名里URL,从而收件人通过点击邮件签名里URL访问系统。
o 合同
合同指邮件告知里生成链接打开方式。 默认值:http
邮件里链接是“guessed”,因而不会诊断你使用是不安全Http合同还是安全https合同。
o 文本格式
格式文本用于问题,新闻,文档,Wiki等等描述字段。
默认只有 textile 一种文本过滤器。
o 缓存格式化文本(1.0加入功能)
每次向浏览器发送格式化文本(例如:问题描述,wiki页面...)时都需要将原始文本转换成HTML。如果文本过于庞大,那么这个过程将会很慢。
该设立容许你启动缓存格式化文本。缓存文本存储方案取决于缓存方略设立(可以功过@config.action_controller.cache_store设立)。默认状况下,缓存方略为 MemoryStore
如果你需要启动缓存,强烈建议你使用另一种缓存方略,像MemCacheStore或者FileStore(在内存有限状况下)。
更多关于Rails缓存方略可参照手册:
· 压缩Wiki历史文档
对Wiki历史进行压缩(减小数据库存储大小)。 默认值:禁用
· RSS Feed内容条数限制
RSS feeds内容条数最大值。 默认值:15
· 容许直接显示最大文本文献
限制可直接显示文本文献最大尺寸 默认值:512KB
· 查看差别页面上显示最大行数
限制可最多显示差别行数最大值,多于最大行数内容将被Redmine自动截断 默认值:1500
· 显示
o 主题
可供选取主题样式
Redmine除默认主题外还提供了此外两个备用主题:
§ alternate
该主题最大特点是依照问题优先级在问题列表页面为问题着色。
§ classic
该主题追溯到Redmine 0.5.1,给人一种典型感觉
o 默认语言
当应用程序不能辨认顾客浏览器语言时,默认语言将被作为客户端语言。当发送邮件时也会依照默认语言作为给顾客发送邮件语种。
默认值:en
o 日历开始于
设立星期开始日期,提供选项有:
§ 依照顾客语言
§ 星期一
§ 星期天
默认值:依照顾客语言
o 日期格式
设立日期显示格式:
§ 依照顾客语言
依照顾客语言定义格式显示
§ 其她格式
默认值:依照顾客语言
o 时间格式
设立时间显示格式:
§ 依照顾客语言
§ 其她格式
默认值:依照顾客语言
o 顾客显示格式
设立顾客名显示格式
o 使用Gravatar顾客头像
如果启动,在应用程序某些地方可以看到顾客Gravatar头像
o 默认Gravatar头像
设立那些没有Gravatar图片顾客显示图片
· 认证
o 规定认证
如果选中,匿名顾客将不能访问系统,顾客必要登录后才干访问。
o 自动登录
o 容许自注册
设立与否容许顾客注册:
§ 禁用
不容许顾客注册
§ 通过邮件认证激活账号
顾客注册后将收到一封激活账号邮件,里面具有一种激活账号链接,点击那个链接就能激活刚注册账号。
§ 手动激活账号 默认值
顾客注册后需要经管理员审核批准。
顾客注册后,管理员会收到一封激活账号邮件。
§ 自动激活账号
顾客注册成功后,直接就能用刚注册账号登录系统。
§ 最短密码长度
设立密码最短长度 默认值:4
o 忘掉密码
如果选中,在登录界面上将显示一种"忘掉密码"链接。 默认值:启动
o 容许使用OpenID登录和注册
设立与否容许使用OpenID登录和注册
Note
使用该功能需要安装ruby-openid包,一条简朴gem 安装命令就能搞定(安装后需要重启服务生效):
gem isntall ruby-openid
o 启用REST web service
设立与否启用REST web service
在和外部系统集时才需要启动该选项
· 项目
o 新建项目默以为公开项目
默认状况下,新建项目为公开项目
你可以在创立项目时不选中该选项,从而创立非公开项目,也可以修改已创立公开项目为非公开项目。
o 新建项目默认启用模块
设立新建项目默认启动模块
o 顺序产生项目的记
选中之后,Redmine将为你提供持续项目的记符。
该标记符用于Redmine REST架构URL标记用
o 非管理员顾客新建项目时将被赋予(在该项目中)角色
该选项用于指定非管理顾客在新建项目中角色。
如果你不指定,系统自动把该顾客指定为新建项目 管理员角色 。
Note
前提是你必要在 权限 设立界面为非管理员顾客赋予创立项目权限
· 问题跟踪
o 容许不同项目之间问题关联
如果选中,那么不同项目之间问题可以建立关联。 默认值:禁用
o 在项目页面上默认显示子项目问题
如果选中,在浏览父项目问题列表达,日历和甘特图时子项目问题也显示出来。 默认值:启动
· 计算问题完毕度
设立计算问题完毕度方案:
o 使用问题(完毕度)属性 默认值 :顾客手动设立完毕度
o 使用问题状态:每个问题状态可以被设立一种完毕度。该设立会启动问题状态设立页面 完毕度 和 更新问题完毕度 设立。
· 问题输出条目限制
设立导出问题条目最大值(涉及CSV和PDF)。 默认值:500
· 问题列表中显示默认列
设立默认状况下,问题哪些列被显示。
顾客自定义属性只有标记为 用于所有项目 才会在这里列出供选取
· 邮件告知
o 邮件发件人地址
设立Redmine发送邮件发件人地址
o 使用密件抄送(bcc)
密件抄送即邮件头部隐藏接接受者地址
o 纯文本(无HTML)
如果选中,则邮件仅发送纯文本格式,不发送HTML格式
o 选取需要发送邮件告知动作
设立Redmine哪些活动事件会触发邮件告知
o 邮件签名
如何配备发送邮件,参见 配备邮件发送
· 接受邮件
o 在这些行之后截断邮件
这些设立可以删除接受邮件签名某些
o 启用用于接受邮件服务
从 0.8 之后,Redmine支持通过发送邮件创立问题和评论。
想要使用此功能,你需要启动接受邮件API。 默认值:禁用
§ API key
点击"生成一种key"链接,系统自动生成一种key,这是Redmine通过接受邮件创立问题密钥。
· 如何配备通过接受邮件提交问题,参见 Redmine 接受邮件配备
· 版本库
o 自动获取程序变更
如果选中,当顾客浏览版本库时应用程序会自动抓取版本库新变更 默认值:启动
管理员可以关闭此选项,通过使用cron在后台定期执行 Repository#fetch_changesets 命令抓取版本库新变更。 例如:
ruby script/runner "Repository.fetch_changesets" -e production
你也可以通过版本库 post-commit 或者 post-receive 钩子调用这个任务,从而使每次提交之后,变更集自动被抓取。
o 启用用于版本库管理Web Service
该选项只有在你安装了自动创立SVN版本库脚本时启动。 默认值:禁用
o 启用 SCM
设立启动SCM类型
o 版本库编码
设立版本库里文献编码方式(各种值之间用逗号分开)。 这些编码用于将文献内容和diff转换成UTF-8,从而保证浏览版本库时对的显示。
当填写各种编码方式时,第一种编码是文献使用编码
o 提交注释编码
o 在文献变更记录页面上显示最大修订版本数量 默认值:100
o 在提交信息中引用和解决问题
当版本库抓取变更集时,会扫描提交信息中引用和解决问题ID。
o 在这里管理员可以定义提交注释中引用和解决问题核心字,从而通过使用这些核心字自动使该次修订引用或者解决某些问题。 同样可以设立使用解决问题核心字后问题状态变更,以及完毕度变更 * 默认核心字有:
§ 引用:refs,references,IssueID
§ 解决:fixes,closes
§ 用于解决问题核心字后问题变更设立:
§ 应用后状态
§ 完毕度
§ 示例
This commit refs #1,#2 and fixes #3
阐明:
§ 这次代码提交引用了问题 1,2 同步解决了问题 3
§ 每个核心字和问题ID之间可以用空格,逗号或者&分开
11 高档配备
11.1 版本库配备
· 常规信息
Redmine始终以来支持不同版本控制工具集成:Subversion,CVS,Mercurial,Darcs,Git和Bazaar。
一方面你要在Redmine主机上安装适当二进制包,并保证这些二进制文献在PATH环境变量中可用:
SCM
已测试过版本
阐明
Subversion
1.3 & 1.4 & 1.5 & 1.6
需要1.3或者更高版本
CVS
1.12.12
需要1.12,不能同步使用CVSNT
Mercurial
0.9.3
Bazaar
l.0.0.candidate.1 & 2.0.4
Darcs
1.0.7
Git
1.5.4.2
例如,如果你想用Redmine访问Subverion版本库,你必要在Redmine主机上安装SVN二进制文献。
· 给项目添加一种已经存在版本库
在项目配备选项卡下有 版本库 子选项库,在这里可觉得项目添加版本库。
选取你所使用版本库类型,并输入版本库途径或者URL
Note
当配备完版本库第一次访问时,Redmine将抓取版本库中已经存在所有提交信息,并存入数据库。因此如果你版本库特别大,那么该过程将会很长。
为了避免这种状况,你可以将该过程放在后台执行。
在配备完版本库后,运营下面命令:
$ ruby script/runner "Repository.fetch_changesets" -e production
所有提交将会被存入数据库
从Redmine0.9之后,你还可以通过一种链接给某一项目或者所有项目执行 fetch_changesets:
(给所有活动项目取回变更集)
(仅给foo项目取回变更集)
· Subversion 版本库
Redmine支持合同有(http:,svn:,file:),只需要输入版本库URL
例如:
http://host/path/to/the/repository
如果版本库需要身份认证,你需要额外输入顾客名和密码
Note
如果你想要用 svn+ssh:// 访问版本库,你必要把svn+ssh配备为非交互方式。
同步需要设立ssh认证 public/private 钥对
Hint
Subversion 基于途径授权
Redmine对Subversion授权是这样解决:在配备Subversion版本库时,除了输入URL外,还需填写一种拥有Subversion读权限账户信息(如果你Subversion不容许匿名访问)。 显然诸多商业公司代码有很高严密性,大多是不容许匿名访问,看来是必填了。 而Redmine对Subversion认证不严格也是从这里开始。 填写了这个账户之后,不论哪个顾客登录Redmine浏览版本库,看到版本库信息都是该账户应当能看到,而不是当前登录顾客应当看到。 也就是说,在这种状况下,如果你想对代码浏览严加控制,那么就需要创立一种很低权限Subversion账号,用这个账号作为Redmine访问Subversion账号。 但这样一来,那些具备高权限顾客就不乐意了(她们本来是能看到诸多代码,但这样一来她们权限无形之中被剥夺了)。
为了满足商业软件公司需求,群英汇对Redmine关于Subversion授权某些进行了扩展,采用Subversion自身授权模式。 咱们添加理解析Subversion授权文献组件,可以较好地解析每个顾客权限,从而保证Redmine浏览权限和Subversion定义权限一致,完美解决了Redmine中Subversion授权不严格问题,实现了Subversion基于途径授权。
配备环节,参见 Subversion基于途径授权
· CVS 版本库
输入:
o 版本库URL (也可以输入途径或者链接字符串,例如 :pserver)
o 模组名称
示例:
:pserver:login:password@host:/path/to/the/repository
如下几种版本库输入版本库途径即可
· Git 版本库
· Mercurial 版本库
Hint
解决了中文版Mercurial版本库无法使用问题
由于Redmine在匹配Mercurial版本信息时是基于英语匹配,因此当咱们使用中文Mercurial时,它会抛出匹配失败异常,导致中文顾客不能使用。
· Bazaar 版本库
· Darcs 版本库
11.2 发送邮件配备
一方面将 config/email.yml.example 重命名为 config/email.yml
然后配备发送邮件需要参数:
production:
delivery_method::smtp
smtp_settings:
address:mail.foo.bar
port:25
domain:foo.bar
# authentication::login
# user_name:xxx
# password:xxx
注意:用#注销掉那三行信息,是邮件服务器身份验证信息。但是如果你顾客已经使用了域验证,就不需要那三行信息。
访问redmine,以管理员身份登录系统,点击"管理"—->""配备"—->"邮件告知",然后点击右下角"发送测试邮件",就可以测试你邮件服务配备与否成功了。
Note
当delivery_method设立为:smtp时,它解决流程是这样:
在触发邮件发生事件发生后,一方面发送邮件,直到邮件发送完毕,页面才跳转。这就是说在发送邮件过程中,页面始终处在等待状态。 那么有无一种异步发送邮件机制呢?
在Redmien 0.9 之后,可通过将delivery_method设立为:async_smtp,这时发送邮件和页面跳转属于不同线程,当触发邮件事件发生后,发送邮件将会通过消息队列在后台执行,而页面继续向下执行,不用等到邮件发送完毕。
11.3 接受邮件
从Redmien-0.8.0 开始,通过配备,你可以以发送邮件方式创立或者评论问题(issue)。
11.3.1 方案
你可以通过如下几种方式配备Redmine接受邮件功能:
· 从邮件服务器转发邮件
o 长处:与远程邮件服务器协作,邮件解决即时,迅速(无环境重载)
o 缺陷:需要某些邮件传播代理(MTA)配备(如Postfix,Sendmail...)
· 从IMAP或者POP3服务器读取邮件
o 长处:易于安装,不需要配备邮件传播代理(MTA),与远程邮件服务器协作
o 缺陷:邮件解决不即时(需要添加一种定期读取邮件 con job)
· 从原则输入读取邮件
o 长处:用于测试最佳选项
o 缺陷:慢(每次读取邮件时都要重新载入环境),需要配备邮件传播代理(MTA)
11.3.2 各种方案详细阐明
11.3.2.1 从邮件服务器转发邮件
用一种独立脚本转发邮件服务器发来邮件。这个脚本从原则输入读取原始邮件并通过HTTP祈求转发给Redmine。 该脚本在redmine目录下:extra/mail_handler/rdm-mailhandler.rb
· 使用这项功能之前,你需要启动接受邮件API:
启动操作:"管理"->"配备"->"接受邮件",选中启动接受邮件服务复选框,并点击链接"生成一种key",产生一种密钥。
· 复制 rdm-mailhandler.rb 到你邮件服务器,保证该脚本有执行权限并配备你邮件传播代理(MTA)。
· rdm-mailhandler 用法:
· rdm-mailhandler [options] --url=<Redmine URL> --key=<API key>
· 必要选项:
· -u,--url Redmine服务URL
· -k,--key Redmine API key
· 惯用可选选项:
· -h,--help 显示协助信息
· -v,--verbose 显示额外信息
· -V,--version 显示版本信息
· 问题属性可控选项:
· -p,--project=PROJECT 项目的记符
· -t,--tracker=TRACKER 跟踪标签类型
· --category=CATEGORY 问题类别名称
· --priority=PRIORITY 优先级名称
· -o,--allow-override=ATTRS 容许在邮件里覆盖先前已指定属性,各种属性之间用逗号分开
· 示例:
· # 没有指定项目,那么在邮件内容里必要包括“Project”核心字,否则Redmine将不解决该邮件
· rdm-mailhandler --url --key secret
· # 设立默认项目和跟踪标签类型,同步可以在邮件内容里覆盖tracker和priority选项
· rdm-mailhandler --url \\
· --project foo \\
· --tracker 错误 \\
· --allow-override tracker,priority
· 下面是一种Postfix例子:
· foo:"|/path/to/rdm-mailhandler.rb --url --key secret --project foo"
11.3.2.2 从IMAP服务器读取邮件
redmine提供了一种rake任务(redmine:email:receive_imap)负责从IMAP服务器读取邮件。
当cron 运营该rake命令时你需要使用选项 -f /path/to/redmine/appdir/Rakefile,由于不这样话会浮现找不到rakefile异常。
下面是一种定期每30分钟读取一次邮件cron文献:
*/30 * * * * redmineuser rake -f /path/to/redmine/appdir/Rakefile redmine:email:receive_imap \
RAILS_ENV="production" host=imap.foo.bar username= password=xxx
如果你设立正常工作,但经常收到cron daemon发送邮件,你可以在rake命令后添加 --silent选项禁止执行命令输出信息。下面是禁止每次执行cron命令时发送邮件示例:
*/30 * * * * redmineuser rake -f /path/to/redmine/appdir/Rakefile --silent redmine:email:receive_imap \
RAILS_ENV="production" host=imap.foo.bar username= password=xxx
阐明:在 cron 文献中,这个命令必要位于一行上
如果用Windows作为服务器,pycron可以用于调度读取邮件任务。 同步需要你修改防火墙设立,打开同通过TCP链接IMAP143端口。
可用IMAP选项:
host=HOST IMAP服务主机(*默认值:127.0.0.1*)
port=PORT IMAP服务端口(*默认值:143*)
ssl=SSL 与否使用SSL?(*默认值:false*)
username=USERNAME IMAP账号
password=PASSWORD IMAP密码
folder=FOLDER 将要读取IMAP文献夹(*默认值:INBOX*)
move_on_success=MAILBOX 将已成功读取邮件移动到MAILBOX中, 而不是删除掉
move_on_failure=MAILBOX 将Redmine忽视邮件移动到MAILBOX中
问题(issue)属性可控选项:
project=PROJECT 项目的记符
tracker=TRACKER 跟踪标签类型
category=CATEGORY 问题类别名称
priority=PRIORITY 优先级名称
allow_override=ATTRS 容许在邮件内容里覆盖先前已指定属性,各种属性之间用逗号隔开
rake命令一种例子:
# 没有指定项目, 这时邮件内容里必要包括"Project"核心字
rake redmine:email:receive_imap RAILS_ENV="production" \\
host=imap.foo.bar username= password=xxx
# 指定默认项目和跟踪标签类型, 同步容许在邮件里覆盖tracker和priority属性值
# both tracker and priority attributes:
rake re
展开阅读全文