当我使用Jira的Webservice时,我需要使用方法getIssuesFromJqlSearch来描述某个(JQL)查询。但它返回“没有这样的操作'getIssuesFromJqlSearch'”。 Jira 4.01中的此方法尚未实现吗?
BTW:我需要一种方法来从一个特定项目中获取所有问题,而不首先创建过滤器。这是我找到解决方法的第一种方法,因为没有函数getIssuesFromProject。
如果没有办法解决JQL方法的问题,我尝试使用URL jql语句(如SearchRequest.xml)获取RSS XML View?jqlQuery = project +%3D + Testproject& tempMax = 1000。但这不是我的最爱。
答案 0 :(得分:1)
我刚刚使用soapUI在jira.atlassian.com上调用getIssuesFromJqlSearch,它运行正常。你安装了相同的版本吗?无论如何,您可以使用soapUI来分析WSDL并测试所有方法:如果问题出在您的JIRA或调用该方法的代码中,您将会分离出来。
顺便说一下,在JIRA Client中,我们使用RSS XML来下载大部分信息,而且并没有那么糟糕。如果您对此方法有任何疑问,请与我们联系。
答案 1 :(得分:1)
当前版本的jira4r真的很老了。 actual source code已经更新但不是宝石,所以我克隆了repository to github并发布了我自己的gem jira4r-jh,它与最新的jira api版本一起使用。
答案 2 :(得分:0)
你安装了哪个版本的Jira ??? ...如果它的3.1x,那么它将无法正常工作。 getIssuesFromJqlSearch方法仅支持jira版本4.X。
此致
答案 3 :(得分:0)
这适用于我使用 soapUI ,但不适用于运行4.01的 jira4r 。问题出在 jira4r (我正在运行v0.3.0)。似乎wsdl和相关的驱动程序代码是硬连线的,这不包括'getIssuesFromJqlSearch'调用。在ruby/gems/1.8/gems/jira4r-0.3.0
中搜索以查看我的意思。搜索“getVersions”会发现:
./lib/jira4r/v2/jira_soap_service_driver.rb
./wsdl/jirasoapservice-v2.wsdl
搜索'getIssuesFromJqlSearch'时没有显示任何内容。
我修复了问题,将./wsdl/jirasoapservice-v2.wsdl
替换为我的 Jira 实例中的版本(位于http://your-jira-instance/rpc/soap/jirasoapservice-v2?wsdl
),然后修补./lib/jira4r/v2/jira_soap_service_driver.rb
(看起来像它是通过添加以下内容自适当地从WSDL生成的:
[ XSD::QName.new(NsSoapRpcJiraAtlassianCom, "getIssuesFromJqlSearch"),
"",
"getIssuesFromJqlSearch",
[ ["in", "in0", ["::SOAP::SOAPString"]],
["in", "in1", ["::SOAP::SOAPString"]],
["in", "in2", ["::SOAP::SOAPInt"]],
["retval", "getIssuesFromJqlSearchReturn", ["Jira4R::V2::ArrayOf_tns1_RemoteIssue", "http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", "ArrayOf_tns1_RemoteIssue"]] ],
{ :request_style => :rpc, :request_use => :encoded,
:response_style => :rpc, :response_use => :encoded,
:faults => {"Jira4R::V2::RemoteException_"=>{:use=>"encoded", :name=>"RemoteException", :ns=>"http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", :namespace=>"http://jira.atlassian.com/rpc/soap/jirasoapservice-v2", :encodingstyle=>"http://schemas.xmlsoap.org/soap/encoding/"}} }
],
显然,如果 jira4r 从您的实例下载了正确的WSDL会很好,以避免这些版本的不兼容性:)