Where is Java Library with class definitions for Stash REST API response objects?

I'm trying to automate some tasks that will examine all repositories in all projects.  I have been using curl to invoke REST API to retrieve list of projects and repos.  I use python to process the json response.

Prototyping is complete and we are now implementing the code in Java.  I added the maven dependency for stash-api, but that only includes the Interface for Project, so I cannot deserialize the response.

What is the correct maven dependency to include a library with class implementations that I can use to deserialize the object?

String json_response = stash_rest_api_projects();

Gson gson = new Gson();

Project p = gson.fromJson(json_response, Project.class);

This results in the error:

Unable to invoke no-args constructor for interface com.atlassian.stash.project.Project. Register an InstanceCreator with Gson for this type may fix this problem.


1 answer

Hi Michael,

The stash-api JAR contains the interfaces for the Java plugin API, not the REST API.

I'd recommend checking out the Stash REST API client from Atlassian Labs: https://bitbucket.org/atlassianlabs/stash-java-client



Thanks. I've cloned the repo and will take a look at it. Could you tell me where the repo is for the parent pom? com.atlassian.pom:public-pom

You may need to [install the Atlassian SDK|https://developer.atlassian.com/display/DOCS/Set+up+the+Atlassian+Plugin+SDK+and+Build+a+Project] and either use the atlas-mvn command it comes packaged with, or copy over the settings from the embedded maven settings.xml file.

Suggest an answer

Log in or Sign up to answer
Atlassian Community Anniversary

Happy Anniversary, Atlassian Community!

This community is celebrating its one-year anniversary and Atlassian co-founder Mike Cannon-Brookes has all the feels.

Read more
Community showcase
Piotr Plewa
Published Dec 27, 2017 in Bitbucket

Recipe: Deploying AWS Lambda functions with Bitbucket Pipelines

Bitbucket Pipelines helps me manage and automate a number of serverless deployments to AWS Lambda and this is how I do it. I'm building Node.js Lambda functions using node-lambda&nbsp...

1,997 views 1 5
Read article

Atlassian User Groups

Connect with like-minded Atlassian users at free events near you!

Find a group

Connect with like-minded Atlassian users at free events near you!

Find my local user group

Unfortunately there are no AUG chapters near you at the moment.

Start an AUG

You're one step closer to meeting fellow Atlassian users at your local meet up. Learn more about AUGs

Groups near you