diff options
Diffstat (limited to 'bamboo-specs')
| -rw-r--r-- | bamboo-specs/.gitignore | 28 | ||||
| -rw-r--r-- | bamboo-specs/.hgignore | 30 | ||||
| -rw-r--r-- | bamboo-specs/src/main/java/tutorial/PlanSpec.java | 58 | ||||
| -rw-r--r-- | bamboo-specs/src/test/java/tutorial/PlanSpecTest.java | 15 | 
4 files changed, 131 insertions, 0 deletions
| diff --git a/bamboo-specs/.gitignore b/bamboo-specs/.gitignore new file mode 100644 index 0000000..5498b54 --- /dev/null +++ b/bamboo-specs/.gitignore @@ -0,0 +1,28 @@ +.credentials + +### Maven +target/ +pom.xml.tag +pom.xml.releaseBackup +pom.xml.versionsBackup +pom.xml.next +release.properties +dependency-reduced-pom.xml +buildNumber.properties + +### Java +# Compiled class file +*.class + +# Log file +*.log + +# Package Files # +*.jar + +# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml +hs_err_pid* + +### Idea +.idea/ +*.iml diff --git a/bamboo-specs/.hgignore b/bamboo-specs/.hgignore new file mode 100644 index 0000000..715f023 --- /dev/null +++ b/bamboo-specs/.hgignore @@ -0,0 +1,30 @@ +syntax: glob + +.credentials + +### Maven +target/ +pom.xml.tag +pom.xml.releaseBackup +pom.xml.versionsBackup +pom.xml.next +release.properties +dependency-reduced-pom.xml +buildNumber.properties + +### Java +# Compiled class file +*.class + +# Log file +*.log + +# Package Files # +*.jar + +# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml +hs_err_pid* + +### Idea +.idea/ +*.iml diff --git a/bamboo-specs/src/main/java/tutorial/PlanSpec.java b/bamboo-specs/src/main/java/tutorial/PlanSpec.java new file mode 100644 index 0000000..7dfd5f3 --- /dev/null +++ b/bamboo-specs/src/main/java/tutorial/PlanSpec.java @@ -0,0 +1,58 @@ +package tutorial; + +import com.atlassian.bamboo.specs.api.BambooSpec; +import com.atlassian.bamboo.specs.api.builders.plan.Plan; +import com.atlassian.bamboo.specs.api.builders.plan.PlanIdentifier; +import com.atlassian.bamboo.specs.api.builders.project.Project; +import com.atlassian.bamboo.specs.util.BambooServer; +import com.atlassian.bamboo.specs.api.builders.permission.Permissions; +import com.atlassian.bamboo.specs.api.builders.permission.PermissionType; +import com.atlassian.bamboo.specs.api.builders.permission.PlanPermissions; + +/** + * Plan configuration for Bamboo. + * Learn more on: <a href="https://confluence.atlassian.com/display/BAMBOO/Bamboo+Specs">https://confluence.atlassian.com/display/BAMBOO/Bamboo+Specs</a> + */ +@BambooSpec +public class PlanSpec { + +    /** +     * Run main to publish plan on Bamboo +     */ +    public static void main(final String[] args) throws Exception { +        //By default credentials are read from the '.credentials' file. +        BambooServer bambooServer = new BambooServer("http://localhost:8085"); + +        Plan plan = new PlanSpec().createPlan(); + +        bambooServer.publish(plan); + +        PlanPermissions planPermission = new PlanSpec().createPlanPermission(plan.getIdentifier()); + +        bambooServer.publish(planPermission); +    } + +    PlanPermissions createPlanPermission(PlanIdentifier planIdentifier) { +        Permissions permission = new Permissions() +                .userPermissions("admin", PermissionType.ADMIN, PermissionType.CLONE, PermissionType.EDIT) +                .groupPermissions("bamboo-admin", PermissionType.ADMIN) +                .loggedInUserPermissions(PermissionType.VIEW) +                .anonymousUserPermissionView(); +        return new PlanPermissions(planIdentifier.getProjectKey(), planIdentifier.getPlanKey()).permissions(permission); +    } + +    Project project() { +        return new Project() +                .name("Project Name") +                .key("PRJ"); +    } + +    Plan createPlan() { +        return new Plan( +                project(), +                "Plan Name", "PLANKEY") +                .description("Plan created from (enter repository url of your plan)"); +    } + + +} diff --git a/bamboo-specs/src/test/java/tutorial/PlanSpecTest.java b/bamboo-specs/src/test/java/tutorial/PlanSpecTest.java new file mode 100644 index 0000000..0c05f55 --- /dev/null +++ b/bamboo-specs/src/test/java/tutorial/PlanSpecTest.java @@ -0,0 +1,15 @@ +package tutorial; + +import com.atlassian.bamboo.specs.api.builders.plan.Plan; +import com.atlassian.bamboo.specs.api.exceptions.PropertiesValidationException; +import com.atlassian.bamboo.specs.api.util.EntityPropertiesBuilders; +import org.junit.Test; + +public class PlanSpecTest { +    @Test +    public void checkYourPlanOffline() throws PropertiesValidationException { +        Plan plan = new PlanSpec().createPlan(); + +        EntityPropertiesBuilders.build(plan); +    } +} | 
