Redmine是一个较为强大的开源Ticket管理工具,这篇文章我们将会介绍一下如何使用Curl和Redmine所提供的RestApi来进行集成,将会选取Redmine中的用户进行简单的增删改查的操作。
Redmine
相关的介绍以前已经做过,在此不再赘述。详细可以参看如下文章:
文章 | 链接 |
---|---|
Ticket管理工具:Redmine | http://blog.csdn.net/liumiaocn/article/details/52107410 |
Bitnami Redmine安装配置指南 | http://blog.csdn.net/liumiaocn/article/details/53523604 |
事前准备
docker方式启动
这篇文章,我们使用easypack下已经整理好的镜像直接使用,使用方法参看如下文章:
文章 | 链接 |
---|---|
Ticket管理工具:Redmine | http://blog.csdn.net/liumiaocn/article/details/56254955 |
安装之后缺省的用户名和密码为:admin/admin,登陆需要修改密码,将其修改为admin/admin123
[root@mail ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
750f29e4deae liumiaocn/redmine "/docker-entrypoin..." 12 minutes ago Up 12 minutes 0.0.0.0:3000->3000/tcp redmine
3230aef19745 liumiaocn/mysql "docker-entrypoint..." 16 minutes ago Up 16 minutes 3306/tcp mysql
[root@mail ~]#
启动Rest Web Service
需要在Redmine中做如下设定
详细可参照如下文章:
文章 | 链接 |
---|---|
设定方式 | http://blog.csdn.net/liumiaocn/article/details/74832762 |
Rest api
此文中使用的redmine为版本3.3,mysql为5.7, redmine相关的restapi主要如下:
Resource | Status | Availability |
---|---|---|
Issues | Stable | 1 |
Projects | Stable | 1 |
Project Memberships | Alpha | 1.4 |
Users | Stable | 1.1 |
Time Entries | Stable | 1.1 |
News | Prototype | 1.1 |
Issue Relations | Alpha | 1.3 |
Versions | Alpha | 1.3 |
Wiki Pages | Alpha | 2.2 |
Queries | Alpha | 1.3 |
Attachments | Beta | 1.3 |
Issue Statuses | Alpha | 1.3 |
Trackers | Alpha | 1.3 |
Enumerations | Alpha | 2.2 |
Issue Categories | Alpha | 1.3 |
Roles | Alpha | 1.4 |
Groups | Alpha | 2.1 |
Custom Fields | Alpha | 2.4 |
Search | Alpha | 3.3 |
Files | Alpha | 3.4 |
这篇文章我们选取user相关的api进行集成,可以看出该api已经是stable版本,虽然看起来还有很多Alpha版本,但是在开源领域来说,Redmine已经算是不错的选择。
Http Get:查询
首先使用Get 方法进行查询:
命令行:curl -X GET -u admin:admin123 http://192.168.163.151:3000/users.json
.json用于制定返回结果的格式
-u制定登陆的用户名和密码
[root@mail ~]# curl -X GET -u admin:admin123 http://192.168.163.151:3000/users.json
{
"users":[{
"id":1,"login":"admin","firstname":"Redmine","lastname":"Admin","mail":"admin@example.net","created_on":"2017-12-05T12:31:21Z","last_login_on":"2017-12-05T13:02:36Z"}],"total_count":1,"offset":0,"limit":25}[root@mail ~]#
[root@mail ~]#
如果需要确认详细的信息,可以使用如下命令, 类似的信息后文不再一一验证。
curl -v -H “Content-Type: application/json” -X GET -u admin:admin123 http://192.168.163.151:3000/users.json