|
JiraExtendedWebservice
The Jira Extended WebserviceIntroductionThis projects adds some long missing methods to the jira webservice. DiscussionJoin the jira-extended-webservice group if you have some questions. DetailsThis projects add some missing bits to the jira webservice. They are:
For example, the linkIssue method allows you to add a link of a specific type between two issues. Using getLinkedIssues then allows you to get a list of linked issues for a specific issue. Additionally it allows you to read custom values using getCustomFieldValues. This webservice extends from the default Jira webservice. This means that each and every method of the default service is available through the extended webservice either. Also it follows the normal login/token paradigm. If you are using the standard Jira webservice you safely can switch to the extended one. Build from SourceCheckout the sourcecode and use Atlassian Plugin SDK (atlas-mvn install or atlas-mvn package) to create the jar file. The first time it will take aeons as maven will download tons of dependencies. As compensation you should find the resulting jar file, with a name something like "webservice-extension-XXXXX.jar" in a directory called "target". Simply drop this jar file in the WEB-INF/lib directory of your Jira installation. After a restart of Jira you will find a new webservice at http://your-jira-install/rpc/soap/sharedspace-s1v1. DownloadOccasionally a download will be made available here. It has been built using JDK 1.6. |
For the record, I successfully built this web service for Jira 4.1 using the following patch to pom.xml:
jira-extended-webservice$ diff -u pom.xml.orig pom.xml --- pom.xml.orig 2010-06-21 16:11:39.738862027 -0500 +++ pom.xml 2010-06-22 11:18:27.834704049 -0500 @@ -13,7 +13,7 @@
- <version>1.0.3-SNAPSHOT</version> + <version>1.0.4-SNAPSHOT</version> @@ -22,11 +22,11 @@ - <atlassian.product.version>4.0</atlassian.product.version> + <atlassian.product.version>4.1</atlassian.product.version> - <atlassian.product.test-lib.version>4.0</atlassian.product.test-lib.version> + <atlassian.product.test-lib.version>4.1</atlassian.product.test-lib.version> - <atlassian.product.data.version>4.0</atlassian.product.data.version> + <atlassian.product.data.version>4.1.1</atlassian.product.data.version> @@ -124,7 +124,7 @@ - <version>4.0</version> + <version>4.1.2-1</version>I also note that maven2 didn't built this right away. I had to download the Jira SDL and use their maven. First I ran:
atlas-cli
This set up some stuff, then added their ./bin to PATH, then did:
atlas-mvn install
With the modified pom.xml it built.
I also point out some non-obvious things. In python, you do this to get an issue ID for which you want links:
s = SOAPpy.WSDL.Proxy(self.options.jiraurl) result = s.getIssue(auth,issueID) # issueID is an issue "key" linkedIssues = s.getLinkedIssues(auth,SOAPpy.Types.longType(long(result['id'])),'')
I have extended the webservice to get all the issue field, their details etc. I want to get all the system fields, so, I used getallsystemsearcahble method in jira but I am not getting the votes in that, so, I used getallnavigablefields method but in that I am not getting the time tracking field and I am also getting the custom fields. So, I want to both votes and time tracking fields excluding the custom fields, so, how can I do that please help me regarding this, I am not so much expert in Java, I am at the beginer stage in Java, so, please help me with so code to implement this.
The modified files to implement updateUser(tolen, userid, fullname, email) are at http://code.google.com/p/shared-space/issues/detail?id=1
This method lets you change the fullname and email of a user, just like EditProfile?. Useful for deactivating users along with the standard removeUserFromGroup method.
It would be handy to have a page on plugins.atlassian.com for this plugin. I searched and couldn't find one.
~Matt
Hi,
This is an awesome plugin that I was using extensively & worked well with JIRA 4.3. First of all Bravo for creating such a needed plugin & making it available to make life easy :-) Now we have upgraded to JIRA 4.4.1 and it is not working anymore. Error message while logging in:
RPC Message updateUserRequest1 in operation updateUser1 has an invalid body name updateUser. It must be updateUser1
I tried to regenerate the jar using the Atlassian plugin SDK & Maven while removing the updateUser method. But then encountered a problem with "com.opensymphony.user.User". Finally I was able to build the package by using Embedded Crowd API for User.
But after installing, I am getting the error: The size necessary to buffer the XML content exceeded the buffer quota.
I have increased maxBufferSize, maxReceivedMessageSize, maxStringContentLength, maxArrayLength in app.config, but didn't help.
I have seen on the forum that this error may be caused by wrong XML content. So don't know at this stage whether the changes make webservice send invalid XML or is it something else.
May I please ask you to regenerate the jar for 4.4.1 as it might be quicker for you to regenerate & also to fix any errors?
Any help on this issue would be greatly appreciated as I am anxiously searching for a way to get linkedIssues & also the ability to create a link.
Many thanks for the help. Sohail