通过redmine提供的api自动创建问题以方便与其他工具集成--------同事已验证过
2014-08-18 15:54
302 查看
代码如下:
import java.io.IOException;
import java.net.URISyntaxException;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import com.taskadapter.redmineapi.RedmineManager;
import com.taskadapter.redmineapi.bean.CustomField;
import com.taskadapter.redmineapi.bean.Issue;
import com.taskadapter.redmineapi.bean.Project;
import com.taskadapter.redmineapi.bean.Tracker;
import com.taskadapter.redmineapi.bean.User;
public class Simple {
// private static final String 98555a0d30ce752b8dcf944031373f74bd11dd1a = null;
private static Object issues;
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
RedmineManager mgr = new RedmineManager("http://localhost/redmine/", "e422ba2d69f8ad49ddc376c9cab531e6e1de992d");
// RedmineManager mgr = new RedmineManager("http://localhost/redmine/", "chenaq","19820720");
try {
// tryGetIssues(mgr);
tryMakeIssue(mgr);
// Project project = mgr.getProjectByKey("1");
// System.out.println(project.toString());
} catch (Exception e) {
e.printStackTrace();
}
}
private static void tryGetIssues(RedmineManager mgr) throws Exception {
List<Issue> issues = mgr.getIssues(null, null);
// Issue issue = mgr.getIssueById(1);
for (Issue issue : issues) {
System.out.println(issue.toString());
}
}
private static void tryMakeIssue(RedmineManager mgr) throws Exception {
//
Issue is = new Issue();
//
is.setSubject( "redmine-api-test");
//
mgr.createIssue(null, is);
//
System.out.println("create");
Date date = new Date();
Issue issue = new Issue();
Tracker tracker = new Tracker();
User user = new User();
List<CustomField> customFields = new ArrayList<CustomField>();
CustomField customField = new CustomField();
// List<String> values = new ArrayList<String>();
// values.add("TC0003");
// values.add("TC0004");
customField.setId(4);
customField.setName("缺陷ID");
customField.setValue("TC0002");
// customField.setValues(values);
customFields.add(customField);
user.setId(5);
user.setLogin("yangfei");
tracker.setId(4);
tracker.setName("缺陷");
issue.setSubject("功能缺陷障碍(TC缺陷ID:TC0001)");
issue.setDescription("柜台子系统缺陷");
issue.setAuthor(user);
user.setId(4);
user.setLogin("liulin");
issue.setAssignee(user);
issue.setTracker(tracker);
issue.setStartDate(date);
issue.setStatusId(2);
issue.setPriorityId(3);
issue.setCustomFields(customFields);
mgr.createIssue("1", issue);
System.out.println(issue.toString());
}
}
其中依赖的库下载地址:
http://mvnrepository.com/artifact/com.taskadapter/redmine-java-api
参考:
http://www.redmine.org/projects/redmine/wiki/Rest_api_with_java
其他语言的api:
http://www.redmine.org/projects/redmine/wiki/Rest_api/
import java.io.IOException;
import java.net.URISyntaxException;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import com.taskadapter.redmineapi.RedmineManager;
import com.taskadapter.redmineapi.bean.CustomField;
import com.taskadapter.redmineapi.bean.Issue;
import com.taskadapter.redmineapi.bean.Project;
import com.taskadapter.redmineapi.bean.Tracker;
import com.taskadapter.redmineapi.bean.User;
public class Simple {
// private static final String 98555a0d30ce752b8dcf944031373f74bd11dd1a = null;
private static Object issues;
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
RedmineManager mgr = new RedmineManager("http://localhost/redmine/", "e422ba2d69f8ad49ddc376c9cab531e6e1de992d");
// RedmineManager mgr = new RedmineManager("http://localhost/redmine/", "chenaq","19820720");
try {
// tryGetIssues(mgr);
tryMakeIssue(mgr);
// Project project = mgr.getProjectByKey("1");
// System.out.println(project.toString());
} catch (Exception e) {
e.printStackTrace();
}
}
private static void tryGetIssues(RedmineManager mgr) throws Exception {
List<Issue> issues = mgr.getIssues(null, null);
// Issue issue = mgr.getIssueById(1);
for (Issue issue : issues) {
System.out.println(issue.toString());
}
}
private static void tryMakeIssue(RedmineManager mgr) throws Exception {
//
Issue is = new Issue();
//
is.setSubject( "redmine-api-test");
//
mgr.createIssue(null, is);
//
System.out.println("create");
Date date = new Date();
Issue issue = new Issue();
Tracker tracker = new Tracker();
User user = new User();
List<CustomField> customFields = new ArrayList<CustomField>();
CustomField customField = new CustomField();
// List<String> values = new ArrayList<String>();
// values.add("TC0003");
// values.add("TC0004");
customField.setId(4);
customField.setName("缺陷ID");
customField.setValue("TC0002");
// customField.setValues(values);
customFields.add(customField);
user.setId(5);
user.setLogin("yangfei");
tracker.setId(4);
tracker.setName("缺陷");
issue.setSubject("功能缺陷障碍(TC缺陷ID:TC0001)");
issue.setDescription("柜台子系统缺陷");
issue.setAuthor(user);
user.setId(4);
user.setLogin("liulin");
issue.setAssignee(user);
issue.setTracker(tracker);
issue.setStartDate(date);
issue.setStatusId(2);
issue.setPriorityId(3);
issue.setCustomFields(customFields);
mgr.createIssue("1", issue);
System.out.println(issue.toString());
}
}
其中依赖的库下载地址:
http://mvnrepository.com/artifact/com.taskadapter/redmine-java-api
参考:
http://www.redmine.org/projects/redmine/wiki/Rest_api_with_java
其他语言的api:
http://www.redmine.org/projects/redmine/wiki/Rest_api/
相关文章推荐
- 关于在c#中创建用户控件后,winform应用程序在调用中无法通过点击用户控件的子控件为其自动添加事件代码的问题
- Senium 2.0 通过webdriver提供的api完成各种验证操作
- 关于集成支付宝在线支付返回信息验证不通过的问题
- 关于用c生成的dll在使用其他供应商的工具创建可执行模块时遇到的一些问题
- Dom元素基本操作方法API,先记录下,方便以后使用。 W3C DOM和JavaScript很容易混淆不清。DOM是面向HTML和XML文档的API,为文档提供了结构化表示,并定义了如何通过脚本
- V信全自动加粉工具(日加一万不是梦) 微信加粉一直手动绝对是老大难问题,本工作室推出强大的加粉工具版本(详细可通过演示视频了解) 1.支持真机模拟器 2.支持微信所有版本 3.支持自定义打招呼文本输
- 通过beego快速创建一个Restful风格API项目及API文档自动化 本文演示如何快速(一分钟内,不写一行代码)的根据数据库及表创建一个Restful风格的API项目,及提供便于在线测试API的界
- WAS profile 通过manageprofiles.bat 创建不能作为主机服务项自动随开机启动问题解决方法
- 微信开发调试,当通过其他工具(不经过手机微信,直接填写好XML)调试没有问题,而通过手机无响应
- TEC1701.WebADI开发技术总结 - 第五章 通过API自动创建Web ADI(5/6)
- 练习 2017-08-22 通过控制台,获取类名,字段名称,字段类型,根据一个模板文件,自动创建这个类文件,并且为字段提供setter和getter方法
- 一例登录验证导致的提供的防伪标记适用于其他基于声明的用户,而不适用于当前用户的问题
- postgresql 通过pgAdmin III 工具创建表有 双引号问题
- Senium 2.0 通过webdriver提供的api完成各种验证操作
- 通过写代码,attach程序中创建的其他进程,将其加入VS的Debugger,以方便调试
- 利用Hibernate工具,通过xml文件自动创建表
- Python编写的命令行版微信。(已集成自动聊天机器人(通过网址api形式))
- iframe 自动适应高和宽问题 和 其他Frame操作技巧
- 在验证模式为Forms的情况下,如何解决自动登录问题. (已解决)
- 解决Java读取properties文件的中文问题的新办法(不使用native2ascii.exe及其他工具)