diff options
author | gabrielgio <gabriel.giovanini@pm.me> | 2020-07-22 15:40:31 +0200 |
---|---|---|
committer | gabrielgio <gabriel.giovanini@pm.me> | 2020-07-22 15:40:31 +0200 |
commit | d21bba62984a70c737632c7ca217c4e6bd5ab388 (patch) | |
tree | 4060d1923a9116c68b471172a421b5c4b35caf97 | |
parent | 25a14696757491e3173160fff8fd1e9b0c503c61 (diff) | |
download | genpass-d21bba62984a70c737632c7ca217c4e6bd5ab388.tar.gz genpass-d21bba62984a70c737632c7ca217c4e6bd5ab388.tar.bz2 genpass-d21bba62984a70c737632c7ca217c4e6bd5ab388.zip |
Adds 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); + } +} |