From d21bba62984a70c737632c7ca217c4e6bd5ab388 Mon Sep 17 00:00:00 2001 From: gabrielgio Date: Wed, 22 Jul 2020 15:40:31 +0200 Subject: Adds bamboo specs --- bamboo-specs/.gitignore | 28 +++++++++++ bamboo-specs/.hgignore | 30 +++++++++++ bamboo-specs/src/main/java/tutorial/PlanSpec.java | 58 ++++++++++++++++++++++ .../src/test/java/tutorial/PlanSpecTest.java | 15 ++++++ 4 files changed, 131 insertions(+) create mode 100644 bamboo-specs/.gitignore create mode 100644 bamboo-specs/.hgignore create mode 100644 bamboo-specs/src/main/java/tutorial/PlanSpec.java create mode 100644 bamboo-specs/src/test/java/tutorial/PlanSpecTest.java 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: https://confluence.atlassian.com/display/BAMBOO/Bamboo+Specs + */ +@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); + } +} -- cgit v1.2.3