Update password parameter to access token

This commit is contained in:
Ryan Baxter
2024-06-04 10:47:23 -04:00
parent af59858ca8
commit 19e070d2f1
3 changed files with 26 additions and 19 deletions

View File

@@ -404,7 +404,8 @@ public class Releaser {
List<String> repos = commercialRepos.get(projectName);
log.info("Creating release bundles for project [{}] in repos [{}]", projectName, repos);
try {
boolean result = this.releaseBundleCreator.createReleaseBundle(repos, versionFromBom.version);
boolean result = this.releaseBundleCreator.createReleaseBundle(repos, versionFromBom.version,
"TNZ-" + projectName + "-commercial");
if (!result) {
log.warn("Failed to create release bundle");
return ExecutionResult.unstable(new BuildUnstableException("Failed to create a release bundle"));

View File

@@ -1583,7 +1583,7 @@ public class ReleaserProperties implements Serializable {
private String repoUsername;
private String repoPassword;
private String repoAccessToken;
private Map<String, List<String>> repos;
@@ -1627,12 +1627,12 @@ public class ReleaserProperties implements Serializable {
this.repoUsername = repoUsername;
}
public String getRepoPassword() {
return repoPassword;
public String getRepoAccessToken() {
return repoAccessToken;
}
public void setRepoPassword(String repoPassword) {
this.repoPassword = repoPassword;
public void setRepoAccessToken(String repoAccessToken) {
this.repoAccessToken = repoAccessToken;
}
}

View File

@@ -40,27 +40,37 @@ public class ReleaseBundleCreator {
private static final Logger log = LoggerFactory.getLogger(ReleaseBundleCreator.class);
private ReleaserProperties properties;
private Artifactory artifactory;
private ObjectMapper objectMapper;
public ReleaseBundleCreator(ReleaserProperties properties) {
this.properties = properties;
log.info("Creating Artifactory client with URL [{}]", properties.getBundles().getRepoUrl());
log.info("Creating Artifactory client with username [{}]", properties.getBundles().getRepoUsername());
log.info("Creating Artifactory client with password [{}]", properties.getBundles().getRepoPassword());
log.info("Creating Artifactory client with access token [{}]", properties.getBundles().getRepoAccessToken());
this.artifactory = ArtifactoryClientBuilder.create().setUrl(properties.getBundles().getRepoUrl())
.setUsername(properties.getBundles().getRepoUsername())
.setAccessToken(properties.getBundles().getRepoPassword()).build();
.setAccessToken(properties.getBundles().getRepoAccessToken()).build();
this.objectMapper = new ObjectMapper();
}
public boolean createReleaseBundle(List<String> repos, String version) throws IOException {
ObjectMapper objectMapper = new ObjectMapper();
public boolean createReleaseBundle(List<String> repos, String version, String releaseBundleName) throws IOException {
Map<String, Object> json = new HashMap<>();
json.put("release_bundle_name", "TNZ-spring-cloud-netflix-commercial");
json.put("release_bundle_name", releaseBundleName);
json.put("release_bundle_version", version);
json.put( "source_type", "aql");
json.put("source", createAqlMap(repos, version));
return createReleaseBundle(objectMapper.writeValueAsString(json));
}
private Map<String, Object> createAqlMap(List<String> repos, String version) {
String aql = createAql(repos, version);
Map<String, Object> aqlObject = new HashMap<>();
aqlObject.put("aql", aql);
return aqlObject;
}
private String createAql(List<String> repos, String version) {
AqlQueryBuilder builder = new AqlQueryBuilder()
.item(AqlItem.aqlItem("repo", AqlItem.aqlItem("$eq", "spring-enterprise-maven-prod-local")));
@@ -68,11 +78,7 @@ public class ReleaseBundleCreator {
for (String repo : repos) {
items[repos.indexOf(repo)] = AqlItem.match("path", repo + "/" + version);
}
String aql = builder.or(items).asc("path", "name").build();
Map<String, Object> aqlObject = new HashMap<>();
aqlObject.put("aql", aql);
json.put("source", aqlObject);
return createReleaseBundle(objectMapper.writeValueAsString(json));
return builder.or(items).asc("path", "name").build();
}
public boolean createReleaseBundle(String json) throws IOException {