package net.serenitybdd.screenplay.jenkins; import net.serenitybdd.screenplay.Actor; import net.serenitybdd.screenplay.Task; import net.serenitybdd.screenplay.actions.Click; import net.serenitybdd.screenplay.jenkins.tasks.CreateAnExternalProject; import net.thucydides.core.annotations.Step; import static net.serenitybdd.screenplay.Tasks.instrumented; import static net.serenitybdd.screenplay.jenkins.user_interface.navigation.SidePanel.Back_to_Dashboard; public class HaveAnExternalProjectCreated implements Task { public static HaveAnExternalProjectCreated called(String name) { return instrumented(HaveAnExternalProjectCreated.class, name); } @Step("{0} creates the '#projectName' external project") @Override public <T extends Actor> void performAs(T actor) { actor.attemptsTo( CreateAnExternalProject.called(projectName), Click.on(Back_to_Dashboard) ); } public HaveAnExternalProjectCreated(String projectName) { this.projectName = projectName; } private final String projectName; }