Forums

Articles
Create
cancel
Showing results for 
Search instead for 
Did you mean: 

how to import or clone repositories with java

uvsq21708389
I'm New Here
I'm New Here
Those new to the Atlassian Community have posted less than three times. Give them a warm welcome!
February 21, 2018

Hello everyone,
I'm asking a question because I need help
For my java project, I need to import a bitbucket project. I'm doing it now with:

Process proc=null;
Runtime r= Runtime.getRuntime();
 proc=r.exec("git clone https://MYACCOUNT:PWD@bitbucket.org/XXXX/XXX.git  XXX");

And it works!
but i would like to make sure the java client can import without having git already installed.
I searched on: https://developer.atlassian.com/bitbucket/api/2/reference/
and even on the net but I do not find how I could implement between bitbucket server and java client.

PLEASE can someone explain me how to communicate between my java program andbitbucket
thank you in advance

4 answers

1 accepted

Suggest an answer

Log in or Sign up to answer
3 votes
Answer accepted
Mark Markov
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Champions.
June 6, 2018

Hello, @Bart Geens 

1) Yes it possible.

2) You'll need to get worklogs via WorklogManager and create htlm to draw table, based on worklogs.

Here is example:

import com.atlassian.jira.issue.*
import com.atlassian.jira.component.ComponentAccessor
import com.atlassian.jira.issue.worklog.Worklog

def issue = context.issue as Issue
def workLogManager = ComponentAccessor.getWorklogManager()
//get worklogs for issue
def logsForIssue = workLogManager.getByIssue(issue)
//draw a table via html
String fin ='<table border=\"1\"><tr><th>Author</th><th>Time Spent</th><th>Created</th></tr>'
for(Worklog worklog : logsForIssue)
{
fin = fin +'<tr><td>'+worklog.getAuthorObject().getDisplayName() + "</td><td>" + worklog.getTimeSpent()/60 +"</td><td>"+ worklog.getCreated().toString() + "</td></tr>"
}
fin = fin +'</table>'

writer.write(fin)

 If you locate the panel at atl.jira.view.issue.right.context, it will look like this:

image.png

Bart Geens
June 6, 2018

Thanks for the example!

3 votes
Mark Markov
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Champions.
June 6, 2018

Hello, Bart,

1) Yes, it possible

2) You need get worklogs via WorklogManager. and create html code that draw you table
Here is example:

import com.atlassian.jira.issue.*
import com.atlassian.jira.component.ComponentAccessor
import com.atlassian.jira.issue.worklog.Worklog

def issue = context.issue as Issue
def workLogManager = ComponentAccessor.getWorklogManager()
//get worklogs for issue
def logsForIssue = workLogManager.getByIssue(issue)
//draw a table via html
String fin ='<table border=\"1\"><tr><th>Author</th><th>Time Spent</th><th>Created</th></tr>'
for(Worklog worklog : logsForIssue)
{
fin = fin +'<tr><td>'+worklog.getAuthorObject().getDisplayName() + "</td><td>" + worklog.getTimeSpent()/60 +"</td><td>"+ worklog.getCreated().toString() + "</td></tr>"
}
fin = fin +'</table>'

writer.write(fin)



If you locate it at atl.jira.view.issue.right.context, it will be looks like:

image.png

Chhaya Gadade
January 16, 2020

Thanks Markov,this works for me

0 votes
Vijay Sv
Contributor
April 7, 2020

@Mark Markov , Is it possible to display the linked issues of particular link type and its status under Web panel? (Script fragment)

0 votes
Mark Markov
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Champions.
June 6, 2018

Hello, @Bart Geens

1) Yes it possible.

2) You'll need to get worklogs via WorklogManager and create html to draw table, based on worklogs.

Here is an example:

import com.atlassian.jira.issue.*
import com.atlassian.jira.component.ComponentAccessor
import com.atlassian.jira.issue.worklog.Worklog

def issue = context.issue as Issue
def workLogManager = ComponentAccessor.getWorklogManager()
//get worklogs for issue
def logsForIssue = workLogManager.getByIssue(issue)
//draw a table via html
String fin ='<table border=\"1\"><tr><th>Author</th><th>Time Spent</th><th>Created</th></tr>'
for(Worklog worklog : logsForIssue)
{
fin = fin +'<tr><td>'+worklog.getAuthorObject().getDisplayName() + "</td><td>" + worklog.getTimeSpent()/60 +"</td><td>"+ worklog.getCreated().toString() + "</td></tr>"
}
fin = fin +'</table>'

writer.write(fin)

 If you locate the panel at atl.jira.view.issue.right.context, it will look like this:

image.png

TAGS
AUG Leaders

Atlassian Community Events