JIRA 知多少:聊一聊 Android Studio 、工作流相关设置
Android Studio 相关
配置 JIRA 服务器
如果细心的话会发现有一个选项卡:Commit Message。这一段代码是不是有点熟悉呢?你没有猜错,这段代码就是 commit 模板,当你切换 task 后在git commit 时会自动将任务的id 和 简介配置到 commit 信息里。
切换到某个 JIRA 任务
点击工具栏上的 Default task ,下方显示的是最近打开的任务。点击 open Task 会显示出指派给你的任务,点击可以切换到对应的任务:
这里要记得勾选 create changelist。另外建议不要使用默认勾选的 create branch,否则每一次切换任务后本地都会新建对应的分支,到后面分支茫茫多的时候看得蓝廋~
可以看到,切换到该任务后,使用 AS 自带的 git commit 时,会自动将任务 id 和简介显示出来,结合 JIRA 的 Smart Commits,只要在 commit 信息中添加对应的标识(例如我设置了 finishDev 为从“开发中”状态转换为“测试中”状态的标识,文章下面会介绍如何设置对应的状态转换标识),然后 push 这条 commit 到远程,就可以自动更改
JIRA 任务状态,so easy~
Smart Commit 配置
看了上面的示例是不是开始觉得 JIRA 有点意思了?要使用 Smart Commit 你需要先在项目里配置一下 git
项目里添加 git 仓库
在关联完 git 仓库后,你需要进行一次索引的操作。那么问题来了,难道每次在
git 上提交 commit 都得通知 JIRA 更新索引吗?答案既是肯定的也是否定的,要使得 JIRA 可以根据 git commit 修改任务状态,必然要在 git 每次提交 commit 时更新索引,但这个动作当然不是由我们手动来触发,而是使用 webhooks。
github/gitlab 里配置 webhooks
右上角小齿轮 - 应用程序 - 选择左下方 webhooks,获取那一串 http 开头的 url
再到 github/gitlab 中配置 url,此处 Secret Token 不用填
webhooks 配置好后,每次 git 接收到 commit 时都会自动通知 JIRA,JIRA 根据 commit 内容识别是否为与任务操作相关的提交,并更新任务状态。
JIRA 配置相关
编辑视图
创建工作流
创建转换状态
该状态的命名即为 Smart Commit 时的标识符 例如 ‘‘Bug-5 #finishDev 修复###问题’’
编辑转换状态
编辑转换状态之前记得点击右上角的编辑按钮将工作流置于编辑状态
点击编辑按钮,可以为工作流状态转换配置编辑视图(例如需要填写备注、解决结果等),该视图在右侧 界面 - 添加屏幕 中编辑。
不得不提的是上图中另外勾红的两处,其实不止两处,转换状态的处理有四大块,这里简要介绍一下我使用到的两块内容:
条件
顾名思义,为转换状态前置某些条件判断,只有符合条件才允许做状态的转换,否则在任务里直接不可见该转换状态。
举个栗子,如果任务 A 下有子任务 b 和子任务 c,正常来说我们肯定不希望在b, c 完成前就可以将 A 完成,故可以对工作流中 close 转换状态做一个限制,如图:
构造子任务阻止条件
构造该条件后,建个 demo 试试看:
可以看到,父任务已经在开发中状态了,但转换状态只有 back(回退这一个操作了),因为其子任务还是启动状态,不符合转换条件。
后处理功能
后处理功能的功能非常多,这里简要提几种功能与场景抛装引玉:
场景一:开发完成测试,经办人自动分配为测试负责人
这里有个需要注意的地方,这里我选择的是 Raw Value, 经过测试填写名字和邮箱都是无法生效的,要填写用户的 id,例如在用户选择器里可以看到每个用户的 id,填写这个 id 就可以成功分配值了。
场景二:现在用户A创建了一个任务,项目的负责人B将其分配给了经办人C,C在处理完成后将任务自动分配给了报告人A,A在进行确认时发现不符合要求,执行一个自定义工作流动作“退回”时,希望可以将任务退回给C。
但是问题是,C在处理完成时将任务分配给了报告人A,此时经办人和报告人都是A了,所以无论在工作流动作的处理结果中选择分配当前用户、分配给报告人、分配给项目负责人都无法实现退回给C的需求。
这个需求是在搜索资料的过程中看到的,Kenny Jin 提供了这样的解决方案:copy value from field to field。该操作也是在后处理设置里。
场景三:状态转换为 close 时,自动将问题解决结果置为完成(否则即使状态已切换为完成,但解决结果未改变,则任务会一直在打开的问题里展现)
同样是后处理功能的设置:
场景四:记录任务参与者,便于统计工作报表
JIRA 的经办人一次只能指定一个用户,为了实现这种功能,我的想法是创建一个自定义字段(类型为多用户选择器),在每次开发者参与到任务中时(或者上游切换状态时就将经办人分配下一个开发者),将经办人添加到该字段内,最后在报表中选择以该字段为筛选值即可。
右上角小齿轮 - 问题 - 左侧
通知方案:自动邮件通知执行者
右上角小齿轮-问题-下方选择通知方案,自定义一个通知方案。
在这之前要先配置一下邮箱,这里提供一下网易企业邮箱的 SMTP 服务器地址:smtp.ym.163.com 默认端口为:25 (如勾选ssl安全链接,端口号为994),详见客户端的设置方法。
配置好后,点击右上角小齿轮 - 项目,进入项目主页,将通知方案设置上去
to be continued...
JIRA 知多少:聊一聊 Android Studio 、工作流相关设置的更多相关文章
- Android studio界面相关设置
用惯了emacs的操作方式,每当使用一款新的编辑器的时候,第一个想到的就是这个工具有没有emacs的快捷键,Android studio也是一样的. 1. Android studio设置emacs的 ...
- Android Studio(三):设置Android Studio编码
Android Studio相关博客: Android Studio(一):介绍.安装.配置 Android Studio(二):快捷键设置.插件安装 Android Studio(三):设置Andr ...
- Android studio 的初始设置
[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4 ...
- android studio 的部分设置
1.android studio 如何提示方法的用法 在 Eclipse中鼠标放上去就可以提示方法的用法,实际上Android Studio也可以设置的.如图 Preferences > Edi ...
- android studio的快捷键设置的和eclispe一样
最近安装了android studio,但是习惯了使用eclispe的快捷键,所以我也把android studio的快捷键设置的和eclipse一样. 具体如下: 1.快捷键 Android Stu ...
- Android必知必会-Android Studio下配置和使用Lambda
移动端如果访问不佳,请访问–>Github版 背景 和朋友讨论 JAVA8 的新特性,聊到Lambda,正好在掘金上看到一篇相关的文章,结合资料,作一个总结,特别是记录下实际使用中遇到的问题. ...
- Android必知必会-Android Studio修改包名
如果移动端访问不佳,请尝试–> Github版 背景 公司做相似产品较多,一般都是以某个产品为基础修改,逐步替换设计图的切图.这个就会导致需要经常为Copy的项目修改包名. 这里是参考一些网上的 ...
- android studio 配置相关问题
1:Unknown AVD name, use -list-avds to see valid list. 下午1:26 Emulator: emulator: ERROR: Unknown A ...
- Android Studio的简单设置:
4.关闭更新: 如下图所示: 6.添加api文档悬浮提示: AS默认是没有api文档悬浮提示的,只有按住[Ctrl+Q]太会出现提示.如果要添加api的自动悬浮提示,设置如下: 上图中,在红框部分打钩 ...
随机推荐
- cJSON的使用
1 安装cJSON github地址:https://github.com/DaveGamble/cJSON.git 下载完成后进入cJSON目录,执行下面命令生成Makefile文件 mkdir b ...
- java并发编程实战《六》等待-通知机制
用"等待-通知"机制优化循环等待 前言 在破坏占用且等待条件的时候,如果转出账本和转入账本不满足同时在文件架上这个条件,就用死循环的方式来循环等待. 1 // 一次性申请转出账户和 ...
- PyQt学习随笔:使用PyCharm+PyQt开发遇到的坑
最近三天,老猿都在使用PyCharm+QtDesigner工具,通过xlwings读取Excel的数据到TableView中显示的练习,本以为很容易的一件事,断断续续持续了三天时间才终于成功.在这个过 ...
- [MRCTF2020]Ezpop
题目: Welcome to index.php <?php //flag is in flag.php //WTF IS THIS? //Learn From https://ctf.ieki ...
- 支持“EFDBContext”上下文的模型已在数据库创建后发生更改。请考虑使用 Code First 迁移更新数据库
在修改数据库表后会出现 支持"EFDBContext"上下文的模型已在数据库创建后发生更改.请考虑使用 Code First 迁移更新数据库 这个问题解决方法: 在Global.a ...
- HTML引入外部字体
HTML5如何引入外部字体 背景 现在我需要 "Montserrat-ExtraLight ExtraLight"类型的字体,但是html的font-family中找不到这个类型的 ...
- 总括订单Blanket order
总括订单Blanket order是客户向其供应方发出的采购订单,但其中包含一段时间内的多个交货日期,通常使用谈判时的预定价格.大多数情况下,它用于对消耗性商品有经常性需求的情况.总括订单通常用于客户 ...
- ThreadLocal原理记录,别被坑了!!
简介 ThreadLocal的用处 ThreadLocal是为了将数据记录一份到某个线程里,确保该数据线程安全 例如数据库的Connection放入ThreadLocal,一个事务会用到很多DAO,但 ...
- Zabbix自定义模板监控多个url接口
一.脚本配置 1.监控脚本 /etc/zabbix/zabbix_agent2.d/scripts/web_site_code_status.sh #!/bin/bash url_discovery( ...
- 聊聊Spring的FactoryBean其实没那么难
前言 谈到Spring的FactoryBean,就会知道Spring中经典的面试题:FactoryBean和BeanFactory的区别.我们这里就简单概括下: . BeanFactory是接口,提供 ...