gitLab上根据ProjectId获取文件

    技术2022-07-11  81

    让我这个菜鸟淡淡的忧伤一会

    1:工作上需要到gitLab上去取pom或者build.gradle文件提取依赖相关信息。可以根据项目的id去取,所以就需要先拿到项目的projectID,在开始之前需要到gitlabs上设置私有token,后面会用到,如下图所示: 点击settings,然后再点击页面左边的Access Tokens 后面取

    接着就是代码了,当然这里只记录实现思路,具体代码就不贴了,只是为了自己记录一下。 private static String ADRESS= “http://#{REPO_IP}/api/v4/projects/#{PROJECT_ID}/repository/files/#{FILE_PATH}/raw?ref=master”

    //REPO_IP为gitlab服务器地址 //PROJECT_ID为gitLab上项目ID //FILE_PATH为项目中文件的路径 //BRANCH_NAME为分之的名称,这里我用master //项目的projectId,这里是我已经拿到了项目的id String projectId = pdProject.getProjectId(); //这个私有token自己到gitlab上设置 String privateToken = "XXXXXXXX"; Uri =“拼接好的地址” 也就是上面的ADRESS /** 4.请求gitlab获取文件内容 */ HttpHeaders requestHeaders = new HttpHeaders(); requestHeaders.add("PRIVATE-TOKEN", privateToken); HttpEntity<String> requestEntity = new HttpEntity<String>(null, requestHeaders); RestTemplate restTemplate = new RestTemplate(); //实现请求自动转发需要设置重定向策略 HttpComponentsClientHttpRequestFactory factory = new HttpComponentsClientHttpRequestFactory(); HttpClient httpClient = HttpClientBuilder.create() .setRedirectStrategy(new LaxRedirectStrategy()) .build(); factory.setHttpClient(httpClient); restTemplate.setRequestFactory(factory); URI uri = new URI(Uri); ResponseEntity<String> response = restTemplate.exchange(uri, HttpMethod.GET, requestEntity, String.class); String content = response.getBody(); return content; }

    content就是我们要的内容

    Processed: 0.010, SQL: 10