@@ -113,7 +113,7 @@ public class GitLabSCMSource extends AbstractGitSCMSource {
113113 private String sshRemote ;
114114 private String httpRemote ;
115115 private transient Project gitlabProject ;
116- private int projectId = - 1 ;
116+ private int projectId ;
117117
118118 /**
119119 * The cache of {@link ObjectMetadataAction} instances for each open MR.
@@ -203,6 +203,7 @@ protected Project getGitlabProject(GitLabApi gitLabApi) {
203203 gitlabProject = gitLabApi .getProjectApi ().getProject (projectPath );
204204 sshRemote = gitlabProject .getSshUrlToRepo ();
205205 httpRemote = gitlabProject .getHttpUrlToRepo ();
206+ projectId = gitlabProject .getId ();
206207 } catch (GitLabApiException e ) {
207208 throw new IllegalStateException ("Failed to retrieve project " + projectPath , e );
208209 }
@@ -219,7 +220,7 @@ public HashMap<String, AccessLevel> getMembers() {
219220 members .put (m .getUsername (), m .getAccessLevel ());
220221 }
221222 } catch (GitLabApiException e ) {
222- LOGGER .log (Level .WARNING , "Exception caught: " + e , e );
223+ LOGGER .log (Level .WARNING , "Exception while fetching members " + e , e );
223224 return new HashMap <>();
224225 }
225226 return members ;
@@ -792,6 +793,27 @@ context, StandardUsernameCredentials.class, fromUri(getServerUrlFromName(serverN
792793 return result ;
793794 }
794795
796+ public int getProjectId (@ QueryParameter String projectPath , @ QueryParameter String serverName ) {
797+ List <GitLabServer > gitLabServers = GitLabServers .get ().getServers ();
798+ if (gitLabServers .size () == 0 ) {
799+ return -1 ;
800+ }
801+ try {
802+ GitLabApi gitLabApi ;
803+ if (StringUtils .isBlank (serverName )) {
804+ gitLabApi = apiBuilder (gitLabServers .get (0 ).getName ());
805+ } else {
806+ gitLabApi = apiBuilder (serverName );
807+ }
808+ if (StringUtils .isNotBlank (projectPath )) {
809+ return gitLabApi .getProjectApi ().getProject (projectPath ).getId ();
810+ }
811+ } catch (GitLabApiException e ) {
812+ return -1 ;
813+ }
814+ return -1 ;
815+ }
816+
795817 public ListBoxModel doFillProjectPathItems (@ AncestorInPath SCMSourceOwner context ,
796818 @ QueryParameter String serverName , @ QueryParameter String projectOwner ) {
797819 List <GitLabServer > gitLabServers = GitLabServers .get ().getServers ();
0 commit comments