Confluence DotNet API发布

一.工程背景

公司所在的是工程检测行业,需要管理30个现场工程团队的检测报告,目前用的是Confluence知识管理系统,用于管理检测报告,未来可能还会基于检测报告做 自然语言分析处理。

百度百科是这么解释Confluence的:

Confluence为团队提供一个协作环境。在这里,团队成员齐心协力,各擅其能,协同地编写文档和管理项目。从此打破不同团队、不同部门以及个人之间信息孤岛的僵局,Confluence真正实现了组织资源共享。

二.我们要做什么

目前计划开发一个桌面的报告管理工具,实现类似SVN+百度云盘之类的效果,服务器和数据仓库已经在用Confluence了,所以就需要开发一套桌面端应用。

但目前网上相关基于Confluence都是做的Python、C++之类的接口,团队对.NET比较熟悉,所以就花了几天时间研究了下Confluence的RPC/XML协议。

参考:https://developer.atlassian.com/confdev/deprecated-apis/confluence-xml-rpc-and-soap-apis,还用了Wireshark抓包工具。

最后在基于.NET XML/RPC的协议上实现了Confluence的 C# API。

 

三.Confluence DotNet API已经实现了什么功能

Confluence DotNet API现在能做什么

  • 管理Confluence Login(登录操作)
  • 管理Confluence Space(空间操作
  • 管理Confluence Page (页面操作)
  • 管理Confluence Attachment(附件操作)

使用实例:

private ConfluenceClient confluenceClient;
        private string token;
        private string username = "username";
        private string password = "password";
        private string confluence_url = "http://your_confluence_site/rpc/xmlrpc";

        [SetUp]
        public void SetUp()
        {
            confluenceClient = new ConfluenceClient(confluence_url);

            var authenticate = confluenceClient.Authenticate(username, password, ref token);
            Assert.IsTrue(authenticate);
        }

完整源代码参考:

https://github.com/enjoyeclipse22/ConfluenceDotNetAPI

 

posted on 2017-08-19 14:48  enjoyeclipse  阅读(606)  评论(0编辑  收藏  举报