国外有一个开发好的Jira Client端软件,名JiraClient,是采用Java来写的,界面编排感觉不是很合我的要求。在atlassian的网站上没找到用delphi来调用Jira的例子,可以参考下面的
http://confluence.atlassian.com/display/JIRA/Creating+a+SOAP+Client
在界面上放置一个THTTPRIO构件,
function TClientForm.GetService: JiraSoapService;
begin
HTTPRIO1.URL := URLList.Text;
Result := HTTPRIO1 as JiraSoapService;
end;
URL设置为http://localhost:8080/rpc/soap/jirasoapservice-v2?wsdl
同时需要用soap wsdl import,把atlassian提供的.wsdl文件转换成.pas文件.
调用方法
svc: JiraSoapService;
svc := GetService;
FToken := svc.login(UserEdit.Text, PasswordEdit.Text);
if FToken <> '' then
ShowMessage('login ok')
else
begin
ShowMessage('login fail');
exit;
end;
需要注意,类似RemoteIssue这些,都是接口类型,需要Create才能使用,用完后要Free
我写了个小demo,测试可以往jira上提交问题.原来打算用C++Builder 2007+wxWidgets来开发个Jira Client,看来还是用Delphi写得比较快些.