Skip to content

Commit

Permalink
feat(pipeline): endpoint for evaluating pipeline expressions (#1336)
Browse files Browse the repository at this point in the history
  • Loading branch information
danielpeach authored May 11, 2017
1 parent 7084188 commit 3abaa9f
Showing 1 changed file with 17 additions and 0 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@ import com.netflix.spinnaker.orca.pipeline.model.Pipeline
import com.netflix.spinnaker.orca.pipeline.model.Stage
import com.netflix.spinnaker.orca.pipeline.persistence.ExecutionNotFoundException
import com.netflix.spinnaker.orca.pipeline.persistence.ExecutionRepository
import com.netflix.spinnaker.orca.pipeline.util.ContextParameterProcessor
import com.netflix.spinnaker.orca.zombie.ZombiePipelineCleanupAgent
import com.netflix.spinnaker.security.AuthenticatedRequest
import groovy.transform.InheritConstructors
Expand Down Expand Up @@ -73,6 +74,9 @@ class TaskController {
@Autowired(required = false)
ExecutionLogRepository executionLogRepository

@Autowired
ContextParameterProcessor contextParameterProcessor

@Value('${tasks.daysOfExecutionHistory:14}')
int daysOfExecutionHistory

Expand Down Expand Up @@ -282,6 +286,19 @@ class TaskController {
pipeline
}

@PreAuthorize("hasPermission(this.getPipeline(#id)?.application, 'APPLICATION', 'READ')")
@RequestMapping(value = "/pipelines/{id}/evaluateExpression", method = RequestMethod.GET)
Map evaluateExpressionForExecution(@PathVariable("id") String id,
@RequestParam("expression") String expression){
def execution = executionRepository.retrievePipeline(id)
def evaluated = contextParameterProcessor.process(
[expression: expression],
[execution: execution],
false
)
return [result: evaluated?.expression]
}

@PreAuthorize("hasPermission(#application, 'APPLICATION', 'READ')")
@RequestMapping(value = "/v2/applications/{application}/pipelines", method = RequestMethod.GET)
List<Pipeline> getApplicationPipelines(@PathVariable String application,
Expand Down

0 comments on commit 3abaa9f

Please sign in to comment.