一、Atlassian Confluence

       Atlassian Confluence(简称Confluence)是一个专业的wiki程序。它是一个知识管理的工具,通过它可以实现团队成员之间的协作和知识共享。Confluence 不是一个开源软件,非商业用途可以免费使用。

       Confluence使用简单,但它强大的编辑和站点管理特征能够帮助团队成员之间共享信息,文档协作,集体讨论。 目前,Confluence被用于广泛地用于项目团队,开发团队,市场销售团队。

Confluence的优势

  • 企业级的安全性;

  • 安装简单,易于管理;

  • 简洁,友好的用户界面;

  • 强大的构造和搜索功能;

  • PDF导出和自动的重构;

  • 开放的API接口,灵活扩展和集成;

Confluence的概念特征

  • 搜索:跨页面,注释和附件间的搜索;

  • 组织:高效地创建灵活的页面结构;

  • 注释:进行小组讨论;

  • 重获:容易找到你需要的信息;

  • 导出:页面乃至整个空间可以导出为HTML,PDF,XML文件;

  • 重构:高效的信息操作;

  • 安全:高级的权限和安全性,权限控制非常合理、方便;

  • 通知:通过mail/RSS来跟踪页面的内容变更;

  • 定制:颜色,风格,整个站点的布局都可以定制;

示例:

wKiom1cMYtjRCxaWAADsLEZU6j8633.png

wKioL1cMY42DUSfeAAChJIPnQLg609.png

wKioL1cMY47j1IBfAADWua4xx48949.png

二、jira

       JIRA是一个专业的项目跟踪管理工具,帮助团队创建计划任务、构建并发布优秀的产品;全球成千上万的团队选择JIRA,用JIRA来捕获,组织管理缺陷、分配任务,跟踪团队的活动。

优势:

JIRA Service Desk 为您的客户提供简单直观的用户体验,并拥有强大的SLA支持 、自定义服务队列、自动化请求管理以及形成实时报告等功能是超过10000个IT团队会选择信赖的强大工具。

随着团队的成长,现有的缺陷跟踪工具中的数据量也会越来越大。通过简单易用的导入工具,你可以方便的将这些数据迁移到JIRA。 目前,已有超过6300家JIRA用户同时选购了JIRA Agile插件来实践Scrum和看板敏捷开发。

JIRA Portfolio提供了单一、精确的视图,针对跨多个团队和项目的情况下,用来在JIRA系统中编制项目计划、管理项目活动。 自动的安排日程、能力规划,实时地反应和变更。

JIRA Capture对于任何一个高质量的开发团队来说都是一个十分重要的工具。让团队可以更快持续地得到更多深度的反馈。 用JIRA Capture提交的Bug更容易被重现。开发人员可以在修复问题上花费时间而不是花费时间在从不完整的报告中重现问题。

jira的二次开发:

jira如创建问题,改变流程等可使用代码操纵。二次开发主要是做一个中间件,用来连接jira系统和其他系统从而实现系统之间的相互的通信,如创建一个问题(Issue),对jira里一些问题(即Issue)信息的修改,流程步骤(workflowstep)的改变,添加与更新字段(Field)和自定义字段(customerField)的等等。这里用到了jira-rest-java-client包来实现对jira的访问。

参考资料:

jira二次开发经验分享 

JIRA 一些学习资料 

Jira二次开发感受

如创建问题:

		public static void createIssue(String projectName,String issueType,String description,String summary) throws URISyntaxException{
			//JerseyJiraRestClientFactory factory = new JerseyJiraRestClientFactory();
			URI jiraServerUri = new URI(uri);
			JiraRestClient restClient = factory.createWithBasicHttpAuthentication(
			jiraServerUri, user, pwd);
			IssueInputBuilder issueBuilder = new IssueInputBuilder("ProjectKey",
			Long.valueOf(issueType));
			 
			 
			final URI projectUri = new URI(
			"http://localhost:8100/rest/api/2/project/IT");
			BasicProject bporject = new BasicProject(projectUri, projectName, "",
			(long) 10000);
			issueBuilder.setProject(bporject);
			issueBuilder.setDescription(description);
			issueBuilder.setSummary(summary);
			 
			 
			IssueInput issueInput = issueBuilder.build();
			BasicIssue bIssue = restClient.getIssueClient().createIssue(issueInput,
			pm);
			// print the newly created issuekey
			System.out.println(bIssue.getKey());
			}

示例:

wKiom1cMZyCw6rq3AADTlaJ8L8Q580.png

wKioL1cMZ9WAgqfAAAEnn6FAjrs560.png

wKioL1cMZ9mzDeQ3AASzv_uOliY574.jpg