All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.clarolab.bamboo.utils.Constants Maven / Gradle / Ivy

Go to download

This library allows to extract information from projects, plans and builds on Bamboo

There is a newer version: 1.8
Show newest version
package com.clarolab.bamboo.utils;

import com.clarolab.bamboo.client.BambooApiClient;
import lombok.Setter;

public class Constants {

    @Setter
    public static BambooApiClient bambooApiClient;

    public static final int AMOUNT_OF_ELEMENTS_TO_GET = 10;

    public static final String ADD_PARAMETER = "&";
    public static final String START_QUERY = "?";

    public static final String BAMBOO_STATE_OK = "running";

    public static final String BAMBOO_API = "/rest/api/latest";
    public static final String BAMBOO_AUTH_TYPE = "os_authType=basic";

    public static final String BAMBOO_PLAN_OR_PROJECT_KEY_PLACEHOLDER = "/%s";

    public static final String LIMIT_START = "start-index=%d";
    public static final String LIMIT_MAX = "max-result=%d";
    public static final String LIMIT_RESULTS = LIMIT_START + ADD_PARAMETER + LIMIT_MAX;

    public static final String BAMBOO_PROJECT = BAMBOO_API + "/project";
    public static final String BAMBOO_PLAN = BAMBOO_API + "/plan";
    public static final String BAMBOO_RESULT = BAMBOO_API + "/result";
    public static final String BAMBOO_INFO = BAMBOO_API + "/info";

    public static final String EXPAND_PROJECTS = "expand=projects.project";
    public static final String EXPAND_PLANS = "expand=plans.plan";
    public static final String EXPAND_RESULTS = "expand=results.result.artifacts";
    public static final String EXPAND_RESULTS_WITH_STAGES = "expand=results.result.stages.stage.results.result.artifacts.artifacts";

    public static final String BAMBOO_EXPAND_PROJECT_WITH_LIMIT = addAuthIfIsNeeded() + LIMIT_RESULTS + ADD_PARAMETER + EXPAND_PROJECTS;
    public static final String BAMBOO_EXPAND_PLAN_WITH_LIMIT = addAuthIfIsNeeded() + LIMIT_RESULTS + ADD_PARAMETER + EXPAND_PLANS;
    public static final String BAMBOO_EXPAND_RESULT = addAuthIfIsNeeded() + EXPAND_RESULTS + ADD_PARAMETER + LIMIT_RESULTS;
    public static final String BAMBOO_EXPAND_RESULT_WITH_STAGES = addAuthIfIsNeeded() + EXPAND_RESULTS_WITH_STAGES + ADD_PARAMETER + LIMIT_RESULTS;;

    public static final String BAMBOO_PROJECT_SIZE_ENDPOINT = BAMBOO_PROJECT + START_QUERY + addAuthIfIsNeeded() + String.format(LIMIT_MAX, 1);
    public static final String BAMBOO_PLAN_SIZE_ENDPOINT = BAMBOO_PLAN + START_QUERY + addAuthIfIsNeeded() + String.format(LIMIT_MAX, 1);
    public static final String BAMBOO_PROJECT_ENDPOINT_LIMITED = BAMBOO_PROJECT + START_QUERY + BAMBOO_EXPAND_PROJECT_WITH_LIMIT;
    public static final String BAMBOO_PLAN_ENDPOINT_LIMITED = BAMBOO_PLAN + START_QUERY + BAMBOO_EXPAND_PLAN_WITH_LIMIT;
    public static final String BAMBOO_RESULT_ENDPOINT = BAMBOO_RESULT + BAMBOO_PLAN_OR_PROJECT_KEY_PLACEHOLDER + START_QUERY + BAMBOO_EXPAND_RESULT;
    public static final String BAMBOO_RESULT_WITH_STAGES_ENDPOINT = BAMBOO_RESULT + BAMBOO_PLAN_OR_PROJECT_KEY_PLACEHOLDER + START_QUERY + BAMBOO_EXPAND_RESULT_WITH_STAGES;

    private static String addAuthIfIsNeeded(){
        try {
            return bambooApiClient.isGuestAccessEnabled() ? "" : BAMBOO_AUTH_TYPE + ADD_PARAMETER;
        }catch(NullPointerException e){
            return "";
        }
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy