Skip to content

Commit 575c42e

Browse files
committed
feat(scheduled-pipeline): makes scheduled pipelines runnable
1 parent a00b1f0 commit 575c42e

File tree

2 files changed

+25
-0
lines changed

2 files changed

+25
-0
lines changed

src/main/java/org/gitlab4j/api/PipelineApi.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -546,6 +546,11 @@ public PipelineSchedule takeOwnershipPipelineSchedule(Object projectIdOrPath, Lo
546546
return (response.readEntity(PipelineSchedule.class));
547547
}
548548

549+
public void playPipelineSchedule(Object projectIdOrPath, Long pipelineScheduleId) throws GitLabApiException {
550+
551+
post(Response.Status.CREATED, "", "projects", getProjectIdOrPath(projectIdOrPath), "pipeline_schedules", pipelineScheduleId, "play");
552+
}
553+
549554
/**
550555
* Create a pipeline schedule variable.
551556
*

src/test/java/org/gitlab4j/api/TestPipelineApi.java

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -146,6 +146,26 @@ public void testCreateAndUpdateProjectPipeLineSchedule() throws GitLabApiExcepti
146146
assertTrue(scheduleDecriptions.contains(newScheduleDescription));
147147
}
148148

149+
@Test
150+
void testPlayScheduledPipeline() throws GitLabApiException {
151+
assertNotNull(testProject);
152+
153+
String scheduleDescription = SCHEDULE_DESCRIPTION + " - test playScheduledPipeline()";
154+
PipelineSchedule newPipelineSchedule = new PipelineSchedule();
155+
newPipelineSchedule.setDescription(scheduleDescription);
156+
newPipelineSchedule.setCron("3 4 * * *");
157+
newPipelineSchedule.setRef("master");
158+
PipelineSchedule createdPipelineSchedule = gitLabApi.getPipelineApi().createPipelineSchedule(testProject, newPipelineSchedule);
159+
assertNotNull(createdPipelineSchedule);
160+
161+
// Make sure the created schedule is present before playing
162+
List<PipelineSchedule> pipelineSchedules = gitLabApi.getPipelineApi().getPipelineSchedules(testProject);
163+
assertNotNull(pipelineSchedules);
164+
assertTrue(pipelineSchedules.stream().map(PipelineSchedule::getDescription).collect(toList()).contains(scheduleDescription));
165+
166+
gitLabApi.getPipelineApi().playPipelineSchedule(testProject, createdPipelineSchedule.getId());
167+
}
168+
149169
@Test
150170
public void testDeleteProjectPipeLineSchedule() throws GitLabApiException {
151171

0 commit comments

Comments
 (0)