protected Action[] getScheduledXTriggerActions(Node pollingNode, XTriggerLog log) throws XTriggerException { Action[] actions = getScheduledActions(pollingNode, log); int nbNewAction = actions.length + 1; Action[] newActions = new Action[nbNewAction]; for (int i = 0; i < actions.length; i++) { newActions[i] = actions[i]; } try { newActions[newActions.length - 1] = new XTriggerCauseAction(FileUtils.readFileToString(getLogFile())); } catch (IOException ioe) { throw new XTriggerException(ioe); } return newActions; }
@Override public void run() { AbstractProject project = (AbstractProject) job; XTriggerDescriptor descriptor = getDescriptor(); ExecutorService executorService = descriptor.getExecutor(); XTriggerLog log = null; try { StreamTaskListener listener = new StreamTaskListener(getLogFile()); log = new XTriggerLog(listener); if (Hudson.getInstance().isQuietingDown()) { log.info("Jenkins is quieting down."); } else if (!project.isBuildable()) { log.info("The job is not buildable. Activate it to poll again."); } else if (!unblockConcurrentBuild && project.isBuilding()) { log.info("The job is building. Waiting for next poll."); } else { Runner runner = new Runner(getName()); executorService.execute(runner); } } catch (Throwable t) { LOGGER.log(Level.SEVERE, "Severe error during the trigger execution " + t.getMessage()); t.printStackTrace(); } finally { if (log != null) { log.closeQuietly(); } } }
try { StreamTaskListener listener = new StreamTaskListener(getLogFile()); log = new XTriggerLog(listener);