It's not the same without you
Join the community to find out what other Atlassian users are discussing, debating and creating.
Hi,
I'm trying to build a Bitbucket pre-receive hook plugin that checks Jira issue status before allowing 'git push'. I use the Jira REST API:
import com.atlassian.jira.rest.client.api.IssueRestClient;
import com.atlassian.jira.rest.client.api.JiraRestClient;
import com.atlassian.jira.rest.client.api.RestClientException;
import com.atlassian.jira.rest.client.api.domain.Issue;
import com.atlassian.jira.rest.client.internal.async.AsynchronousJiraRestClientFactory;
import com.atlassian.util.concurrent.Promise;
I have added the required dependency to my pom:
<dependency>
<groupId>com.atlassian.jira</groupId>
<artifactId>jira-rest-java-client-core</artifactId>
<version>4.0.0</version>
<scope>compile</scope>
</dependency>
The package is not supplied by Bitbucket System Bundle, so scope is 'compile'.
My code compiles and works fine in a unit test, so the dependency seems to be correct basically.
But jira-rest-java-client-core brings ~45 transiently dependent packages with it and I have no idea which of them to either
No matter what combination of the above I try (believe me, I have tried beyond frustration) every time there is a different BundleException. I use 'atlas-debug' (or 'atlas-cli' and 'pi') to deploy my plugin to the local Tomcat and I always get something like this:
Caused by: org.osgi.framework.BundleException: Unresolved constraint in bundle com.rockwell.ssb.atlas.bitbucket.plugins.bitbucket-4.13.0-git-pre-tests [129]: Unable to resolve 129.0: missing requirement [129.0] osgi.wiring.package; (osgi.wiring.package=com.rockwell.ssb.atlas.bitbucket.plugins.api) [caused by: Unable to resolve 141.0: missing requirement [141.0] osgi.wiring.package; (osgi.wiring.package=_something.new.every.time_)]
at org.apache.felix.framework.Felix.resolveBundleRevision(Felix.java:3974)
Any help greatly appreciated - thanks!
Thanks for the Info. The solution was indeed to use a different API to access Jira. Yet in the end I decided to use javax.json, which has a low footprint and was fairly easy to include in my OSGI bundle.
I gave up on using jira-rest-java-client-core because the ~45 transiently dependent packages it brings contain too many conflicts with other components inherited from Bitbucket System Bundle to handle.
I was reluctant to try applinks-api, because the connection cannot be unit tested independently. (Needs unit test plugin on Bitbucket actually linked to Jira.)
Thanks again for your support!
This community is celebrating its one-year anniversary and Atlassian co-founder Mike Cannon-Brookes has all the feels.
Read moreBitbucket 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 ...
Connect with like-minded Atlassian users at free events near you!
Find a groupConnect with like-minded Atlassian users at free events near you!
Unfortunately there are no AUG chapters near you at the moment.
Start an AUGYou're one step closer to meeting fellow Atlassian users at your local meet up. Learn more about AUGs
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.