My favorites | Sign in
Project Home Downloads Wiki Issues Source
Search
for
JiraExtendedWebservice  
Updated Dec 11, 2010 by TonHu2...@gmail.com

The Jira Extended Webservice

Introduction

This projects adds some long missing methods to the jira webservice.

Discussion

Join the jira-extended-webservice group if you have some questions.

Details

This projects add some missing bits to the jira webservice.

They are:

  • link handling
  • add/remove/updateComponent
  • create subTask link
  • updateUser (donated by Matt Doar)

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 Source

Checkout 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.

Download

Occasionally a download will be made available here. It has been built using JDK 1.6.

Comment by matt.cal...@gmail.com, Jun 22, 2010

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 @@

<modelVersion>4.0.0</modelVersion> <groupId>org.sharedSpace.jira</groupId> <artifactId>webservice-extension</artifactId>
- <version>1.0.3-SNAPSHOT</version> + <version>1.0.4-SNAPSHOT</version>
<name>Jira Webservice Extensions</name> <packaging>atlassian-plugin</packaging>
@@ -22,11 +22,11 @@
<atlassian.plugin.key>org.sharedSpace.jira.webservice.extension</atlassian.plugin.key>
<!-- JIRA version -->
- <atlassian.product.version>4.0</atlassian.product.version> + <atlassian.product.version>4.1</atlassian.product.version>
<!-- JIRA functional test library 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>
<!-- JIRA data version -->
- <atlassian.product.data.version>4.0</atlassian.product.data.version> + <atlassian.product.data.version>4.1.1</atlassian.product.data.version>
</properties>
<repositories>
@@ -124,7 +124,7 @@
<dependency>
<groupId>com.atlassian.jira.plugins</groupId> <artifactId>atlassian-jira-rpc-plugin</artifactId>
- <version>4.0</version> + <version>4.1.2-1</version>
<scope>provided</scope>
</dependency>
</dependencies>

Comment by matt.cal...@gmail.com, Jun 22, 2010

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'])),'')

Comment by prasadra...@gmail.com, Nov 18, 2010

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.

Comment by doarm...@gmail.com, Nov 23, 2010

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.

Comment by doarm...@gmail.com, Jun 27, 2011

It would be handy to have a page on plugins.atlassian.com for this plugin. I searched and couldn't find one.

~Matt

Comment by sohailja...@gmail.com, Nov 9, 2011

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


Sign in to add a comment
Powered by Google Project Hosting