一.工程背景
公司所在的是工程检测行业,需要管理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
时间: 2024-11-08 10:58:42