public void removeTrigger(Trigger t) { // TODO: Will we get equality for trigger instances of the same Descriptor? Trigger toRemove = getTriggerForDescriptor(t.getDescriptor()); if (toRemove != null) { triggers.remove(toRemove); } }
public void addTrigger(Trigger trigger) throws IOException { BulkChange bc = new BulkChange(this); try { PipelineTriggersJobProperty originalProp = getTriggersJobProperty(); Trigger old = originalProp.getTriggerForDescriptor(trigger.getDescriptor()); if (old != null) { originalProp.removeTrigger(old); old.stop(); } originalProp.addTrigger(trigger); removeProperty(PipelineTriggersJobProperty.class); addProperty(originalProp); bc.commit(); } finally { bc.abort(); } }
@Test public void simpleTriggers() throws Exception { WorkflowRun b = expect("simpleTriggers") .logContains("[Pipeline] { (foo)", "hello") .logNotContains("[Pipeline] { (Post Actions)") .go(); WorkflowJob p = b.getParent(); PipelineTriggersJobProperty triggersJobProperty = p.getTriggersJobProperty(); assertNotNull(triggersJobProperty); assertEquals(1, triggersJobProperty.getTriggers().size()); TimerTrigger.DescriptorImpl timerDesc = j.jenkins.getDescriptorByType(TimerTrigger.DescriptorImpl.class); Trigger trigger = triggersJobProperty.getTriggerForDescriptor(timerDesc); assertNotNull(trigger); assertTrue(trigger instanceof TimerTrigger); TimerTrigger timer = (TimerTrigger) trigger; assertEquals("@daily", timer.getSpec()); }
@Test public void serializationTriggersGString() throws Exception { WorkflowRun b = expect("serializationTriggersGString") .logContains("[Pipeline] { (foo)", "hello") .logNotContains("[Pipeline] { (Post Actions)") .go(); WorkflowJob p = b.getParent(); PipelineTriggersJobProperty triggersJobProperty = p.getTriggersJobProperty(); assertNotNull(triggersJobProperty); assertEquals(1, triggersJobProperty.getTriggers().size()); TimerTrigger.DescriptorImpl timerDesc = j.jenkins.getDescriptorByType(TimerTrigger.DescriptorImpl.class); Trigger trigger = triggersJobProperty.getTriggerForDescriptor(timerDesc); assertNotNull(trigger); assertTrue(trigger instanceof TimerTrigger); TimerTrigger timer = (TimerTrigger) trigger; assertEquals("@daily", timer.getSpec()); }
@Ignore("Triggers are set before withEnv is called.") @Test public void envVarInTriggers() throws Exception { WorkflowRun b = expect("envVarInTriggers") .logContains("[Pipeline] { (foo)", "hello") .logNotContains("[Pipeline] { (Post Actions)") .go(); WorkflowJob p = b.getParent(); PipelineTriggersJobProperty triggersJobProperty = p.getTriggersJobProperty(); assertNotNull(triggersJobProperty); assertEquals(1, triggersJobProperty.getTriggers().size()); TimerTrigger.DescriptorImpl timerDesc = j.jenkins.getDescriptorByType(TimerTrigger.DescriptorImpl.class); Trigger trigger = triggersJobProperty.getTriggerForDescriptor(timerDesc); assertNotNull(trigger); assertTrue(trigger instanceof TimerTrigger); TimerTrigger timer = (TimerTrigger) trigger; assertEquals("@daily", timer.getSpec()); }
TimerTrigger.DescriptorImpl timerDesc = j.jenkins.getDescriptorByType(TimerTrigger.DescriptorImpl.class); Trigger trigger = trigProp.getTriggerForDescriptor(timerDesc); assertNotNull(trigger);