If I'm reading the stash documentation right (https://developer.atlassian.com/static/javadoc/stash/3.9.2/api/reference/com/atlassian/stash/repository/Repository.html) it appears that there is no way to get a list of branches or even commits associated with a repository?
You can get the branches and commits in a custom pre-receive hook like so:
import com.atlassian.stash.repository.Repository import com.atlassian.sal.api.component.ComponentLocator import com.atlassian.stash.repository.RepositoryMetadataService import com.atlassian.stash.repository.RepositoryBranchesRequest import com.atlassian.stash.util.PagedIterable import com.atlassian.stash.repository.Branch import com.atlassian.stash.util.PageRequest import com.atlassian.stash.repository.RefChange import com.atlassian.stash.util.PageProvider import com.atlassian.stash.util.Page def repositoryMetadataService = ComponentLocator.getComponent(RepositoryMetadataService) def repository = repository as Repository def refChanges = refChanges as Collection<RefChange> def request = new RepositoryBranchesRequest.Builder().repository(repository).build() def branches = new PagedIterable<Branch>(new PageProvider<Branch>() { @Override Page<Branch> get(PageRequest pageRequest) { repositoryMetadataService.getBranches(request, pageRequest) } }) def commits = refChanges.getCommits(repository)
Please note that we stopped supporting Stash some time ago in ScriptRunner for Bitbucket Sever, as Atlassian renamed all the packages when they rebranded to Bitbucket which made it very difficult to support both. I would recommend upgrading if you can to get the latest features.
Hope this helps.
Adam
If it was up to me we would update in December when we go into a change freeze for the holidays, but we're scheduled to upgrade to whatever the latest stable version sometime in Q2 2017 Better late than never I guess. Thanks for the help.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
No problem. Hopefully you will benefit from the new features and bug fixes when you do. We have a page on updating your ScriptRunner scripts to be compatible with Bitbucket here: https://scriptrunner.adaptavist.com/latest/bitbucket/releases/UpgradingToBitbucketServer.html
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
I'm getting an error when I try to save that script and I can't even find the PageProvider class in the stash API, is there somewhere else I should be looking for these things?
The script could not be compiled: org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed: Script119.groovy: 17: unable to resolve class PageProvider @ line 17, column 69. h>(new PageProvider() { ^ Script119.groovy: 18: unable to resolve class Page @ line 18, column 5. @Override ^ 2 errors
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
I've updated the example I think you should be able to run it now i've fixed the imports.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.