Skip to content

Commit

Permalink
Removing trigger config from invocation response
Browse files Browse the repository at this point in the history
  • Loading branch information
tomasbjerre committed Jul 25, 2017
1 parent fec2f6e commit c665aef
Show file tree
Hide file tree
Showing 4 changed files with 40 additions and 11 deletions.
9 changes: 9 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,14 @@
# Generic Webhook Plugin Changelog
Changelog of Generic Webhook Plugin.
## Unreleased
### No issue

**doc**


[fec2f6e88d5e4f4](https://github.com/jenkinsci/generic-webhook-trigger-plugin/commit/fec2f6e88d5e4f4) Tomas Bjerre *2017-07-21 12:42:34*


## 1.15 (2017-07-21 12:38:27)
### No issue

Expand Down
20 changes: 20 additions & 0 deletions src/main/java/org/jenkinsci/plugins/gwt/FoundJob.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
package org.jenkinsci.plugins.gwt;

public class FoundJob {

private final String jobName;
private final GenericTrigger genericTrigger;

public FoundJob(String jobName, GenericTrigger genericTrigger) {
this.jobName = jobName;
this.genericTrigger = genericTrigger;
}

public GenericTrigger getGenericTrigger() {
return genericTrigger;
}

public String getJobName() {
return jobName;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -69,22 +69,22 @@ HttpResponse doInvoke(
String postContent,
String token) {

List<GenericTrigger> triggers = JobFinder.findAllJobsWithTrigger(token);
if (triggers.isEmpty()) {
List<FoundJob> foundJobs = JobFinder.findAllJobsWithTrigger(token);
if (foundJobs.isEmpty()) {
LOGGER.log(
INFO,
"Did not find any jobs to trigger! The user invoking /generic-webhook-trigger/invoke must have read permission to any jobs that should be triggered.");
}
Map<String, String> triggerResults = new HashMap<>();
for (GenericTrigger trigger : triggers) {
for (FoundJob foundJob : foundJobs) {
try {
LOGGER.log(INFO, "Triggering " + trigger.toString());
LOGGER.log(INFO, "Triggering " + foundJob.getJobName());
LOGGER.log(FINE, " with:\n\n" + postContent + "\n\n");
trigger.trigger(headers, parameterMap, postContent);
triggerResults.put(trigger.toString(), "OK");
foundJob.getGenericTrigger().trigger(headers, parameterMap, postContent);
triggerResults.put(foundJob.getJobName(), "OK");
} catch (Exception e) {
LOGGER.log(SEVERE, trigger.toString(), e);
triggerResults.put(trigger.toString(), ExceptionUtils.getStackTrace(e));
LOGGER.log(SEVERE, foundJob.getJobName(), e);
triggerResults.put(foundJob.getJobName(), ExceptionUtils.getStackTrace(e));
}
}
Map<String, Object> response = new HashMap<>();
Expand Down
6 changes: 3 additions & 3 deletions src/main/java/org/jenkinsci/plugins/gwt/JobFinder.java
Original file line number Diff line number Diff line change
Expand Up @@ -18,9 +18,9 @@
public final class JobFinder {
private JobFinder() {}

public static List<GenericTrigger> findAllJobsWithTrigger(String queryStringToken) {
public static List<FoundJob> findAllJobsWithTrigger(String queryStringToken) {

List<GenericTrigger> found = new ArrayList<>();
List<FoundJob> found = new ArrayList<>();
// Impersinate to get all jobs even without read grants
SecurityContext orig = ACL.impersonate(ACL.SYSTEM);
List<ParameterizedJob> candidateProjects =
Expand Down Expand Up @@ -56,7 +56,7 @@ public static List<GenericTrigger> findAllJobsWithTrigger(String queryStringToke
}
GenericTrigger genericTriggerOpt = findGenericTrigger(candidateJob.getTriggers());
if (genericTriggerOpt != null) {
found.add(genericTriggerOpt);
found.add(new FoundJob(candidateJob.getFullDisplayName(), genericTriggerOpt));
}
}
return found;
Expand Down

0 comments on commit c665aef

Please sign in to comment.