views:

366

answers:

3

When I use the Webservice of Jira, I need to use the method getIssuesFromJqlSearch to describe a certain (JQL) Query. But it returns me "No such operation 'getIssuesFromJqlSearch'". Is this method in Jira 4.01 not implemented yet?

BTW: I need a method to get all Issues from one specific project, without creating filters first. This was my first way to find a workaround, because there is no function getIssuesFromProject.

If there is no way to fix the problem with the JQL method, I try to take RSS XML View with the URL jql statement like SearchRequest.xml?jqlQuery=project+%3D+Testproject&tempMax=1000. But this is not my favorite.

A: 

I just used soapUI to call getIssuesFromJqlSearch on jira.atlassian.com, and it worked fine. Do you have the same version installed? Anyway, you can use soapUI to analyze WSDL and test all the methods: you'll then isolate if the problem is with your JIRA or with the code that calls the method.

By the way, in JIRA Client we do use RSS XML to download most of the information, and it's not that bad. Let me know if you have any questions with this method.

sereda
I use PHP SoapClient. But I still have the message "No such operation getIssuesFromJqlSearch". The WSDL file contains the operation.Now I try it with the RSS Feed, to download all, with the specific parameters.
Robert
A: 

Which version of Jira you have installed???... if its 3.1x, then it will not work. getIssuesFromJqlSearch method is only supported for jira version 4.X.

Regards

ramesh
A: 

This works for me using soapUI, but not from jira4r, running 4.01. The problem is with jira4r (I'm running v0.3.0). It seems that the wsdl and the associated driver code is hard-wired, and this does not include the 'getIssuesFromJqlSearch' call. Do a search in ruby/gems/1.8/gems/jira4r-0.3.0 to see what I mean. Searching for 'getVersions' reveals this:

./lib/jira4r/v2/jira_soap_service_driver.rb
./wsdl/jirasoapservice-v2.wsdl

While searching for 'getIssuesFromJqlSearch' shows nothing.

I fixed the issue by replacing ./wsdl/jirasoapservice-v2.wsdl with the version from my Jira instance (it's at http://your-jira-instance/rpc/soap/jirasoapservice-v2?wsdl) and then by patching ./lib/jira4r/v2/jira_soap_service_driver.rb (which looks like it's been automatically generated from the WSDL) appropriately, by adding this:

[ 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/"}} }
],

Obviously, it would be nice if jira4r downloaded the correct WSDL from your instance, to avoid these kinds of version incompatibilities :)

MegaHAL