Skip to content

Commit e3a25f9

Browse files
committed
dummy changes for trigger creation
1 parent ff97a46 commit e3a25f9

File tree

14 files changed

+97
-12
lines changed

14 files changed

+97
-12
lines changed

800-pipeline-service/src/main/java/io/harness/pms/triggers/webhook/helpers/TriggerEventExecutionHelper.java

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -126,7 +126,10 @@ private TriggerEventResponse triggerPipelineExecution(TriggerWebhookEvent trigge
126126
NGTriggerEntity ngTriggerEntity = triggerDetails.getNgTriggerEntity();
127127
try {
128128
runtimeInputYaml = triggerDetails.getNgTriggerConfigV2().getInputYaml();
129-
129+
if(triggerDetails.getNgTriggerConfigV2().getInputSetRef() != null){
130+
// get branch from payload
131+
// fetch inputyaml using branch, inputsetref, pipelineid
132+
}
130133
PlanExecution response = triggerExecutionHelper.resolveRuntimeInputAndSubmitExecutionRequest(
131134
triggerDetails, triggerPayload, triggerWebhookEvent, payload);
132135
return generateEventHistoryForSuccess(

810-ng-triggers/src/main/java/io/harness/ngtriggers/beans/config/NGTriggerConfigV2.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,8 @@ public class NGTriggerConfigV2 implements NGTriggerInterface {
2929
String pipelineIdentifier;
3030
Map<String, String> tags;
3131
String inputYaml;
32+
String branch; //newly added
33+
String inputSetRef; //newly added
3234
NGTriggerSourceV2 source;
3335
@Builder.Default Boolean enabled = Boolean.TRUE;
3436
}

810-ng-triggers/src/main/java/io/harness/ngtriggers/buildtriggers/helpers/BuildTriggerHelper.java

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,15 +18,20 @@
1818
import io.harness.exception.InvalidArgumentsException;
1919
import io.harness.exception.InvalidRequestException;
2020
import io.harness.expression.EngineExpressionEvaluator;
21+
import io.harness.gitsync.sdk.EntityGitDetails;
2122
import io.harness.jackson.JsonNodeUtils;
23+
import io.harness.ngtriggers.beans.config.NGTriggerConfigV2;
2224
import io.harness.ngtriggers.beans.dto.TriggerDetails;
2325
import io.harness.ngtriggers.beans.entity.NGTriggerEntity;
2426
import io.harness.ngtriggers.beans.source.NGTriggerSpecV2;
2527
import io.harness.ngtriggers.beans.source.artifact.BuildAware;
2628
import io.harness.ngtriggers.buildtriggers.helpers.dtos.BuildTriggerOpsData;
29+
import io.harness.ngtriggers.mapper.NGTriggerElementMapper;
2730
import io.harness.pipeline.remote.PipelineServiceClient;
31+
import io.harness.pms.inputset.MergeInputSetResponseDTOPMS;
2832
import io.harness.pms.merger.YamlConfig;
2933
import io.harness.pms.merger.fqn.FQN;
34+
import io.harness.pms.ngpipeline.inputset.beans.resource.MergeInputSetRequestDTOPMS;
3035
import io.harness.pms.pipeline.PMSPipelineResponseDTO;
3136
import io.harness.pms.pipeline.TemplatesResolvedPipelineResponseDTO;
3237
import io.harness.pms.yaml.YamlUtils;
@@ -58,11 +63,25 @@
5863
@OwnedBy(PIPELINE)
5964
public class BuildTriggerHelper {
6065
private PipelineServiceClient pipelineServiceClient;
66+
private NGTriggerElementMapper ngTriggerElementMapper;
6167

6268
public Optional<String> fetchPipelineForTrigger(NGTriggerEntity ngTriggerEntity) {
69+
NGTriggerConfigV2 triggerConfigV2 = ngTriggerElementMapper.toTriggerConfigV2(ngTriggerEntity);
6370
PMSPipelineResponseDTO response = NGRestUtils.getResponse(pipelineServiceClient.getPipelineByIdentifier(
6471
ngTriggerEntity.getTargetIdentifier(), ngTriggerEntity.getAccountId(), ngTriggerEntity.getOrgIdentifier(),
6572
ngTriggerEntity.getProjectIdentifier(), null, null, false));
73+
EntityGitDetails gitDetails = response.getGitDetails();
74+
String pipelineBranch = triggerConfigV2.getBranch();
75+
String branch = gitDetails.getBranch();
76+
String repo = gitDetails.getRepoIdentifier();
77+
if (Strings.isNotBlank(pipelineBranch)) {
78+
if (!(pipelineBranch.startsWith("<+") && pipelineBranch.endsWith(">"))) {
79+
branch = pipelineBranch;
80+
}
81+
}
82+
response = NGRestUtils.getResponse(pipelineServiceClient.getPipelineByIdentifier(
83+
ngTriggerEntity.getTargetIdentifier(), ngTriggerEntity.getAccountId(), ngTriggerEntity.getOrgIdentifier(),
84+
ngTriggerEntity.getProjectIdentifier(), branch, repo, false));
6685

6786
return response != null ? Optional.of(response.getYamlPipeline()) : Optional.empty();
6887
}
@@ -387,4 +406,31 @@ public void verifyStageAndBuildRef(TriggerDetails triggerDetails, String fieldNa
387406
throw new InvalidArgumentsException(msg.toString());
388407
}
389408
}
409+
410+
public Optional<String> fetchInputSetForTrigger(NGTriggerEntity ngTriggerEntity) {
411+
NGTriggerConfigV2 triggerConfigV2 = ngTriggerElementMapper.toTriggerConfigV2(ngTriggerEntity);
412+
String pipelineBranch = triggerConfigV2.getBranch();
413+
String branch = null;
414+
if (Strings.isNotBlank(pipelineBranch)) {
415+
if (!(pipelineBranch.startsWith("<+") && pipelineBranch.endsWith(">"))) {
416+
branch = pipelineBranch;
417+
}
418+
}
419+
String inputSetRef = triggerConfigV2.getInputSetRef();
420+
String inputSetId = getInputsetId(inputSetRef);
421+
List<String> inputSetRefs = new ArrayList<>();
422+
inputSetRefs.add(inputSetId);
423+
MergeInputSetRequestDTOPMS mergeInputSetRequestDTOPMS =
424+
MergeInputSetRequestDTOPMS.builder().inputSetReferences(inputSetRefs).build();
425+
MergeInputSetResponseDTOPMS response =
426+
NGRestUtils.getResponse(pipelineServiceClient.getMergeInputSetFromPipelineTemplate(
427+
ngTriggerEntity.getAccountId(), ngTriggerEntity.getOrgIdentifier(), ngTriggerEntity.getProjectIdentifier(),
428+
ngTriggerEntity.getTargetIdentifier(), branch, null, branch, null, false, mergeInputSetRequestDTOPMS));
429+
430+
return response != null ? Optional.of(response.getPipelineYaml()) : Optional.empty();
431+
}
432+
433+
private String getInputsetId(String inputSetRef) {
434+
return inputSetRef.split("pipeline.")[1];
435+
}
390436
}

810-ng-triggers/src/main/java/io/harness/ngtriggers/service/impl/NGTriggerServiceImpl.java

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
import static org.apache.commons.lang3.StringUtils.EMPTY;
2121
import static org.apache.commons.lang3.StringUtils.isBlank;
2222

23+
import com.fasterxml.jackson.databind.node.TextNode;
2324
import io.harness.annotations.dev.OwnedBy;
2425
import io.harness.common.NGExpressionUtils;
2526
import io.harness.connector.ConnectorResourceClient;
@@ -591,8 +592,7 @@ private void validatePipelineRef(TriggerDetails triggerDetails) {
591592
if (pipelineYmlOptional.isPresent()) {
592593
String pipelineYaml = pipelineYmlOptional.get();
593594
String templateYaml = createRuntimeInputForm(pipelineYaml);
594-
String triggerYaml = triggerDetails.getNgTriggerEntity().getYaml();
595-
String triggerPipelineYml = getPipelineComponent(triggerYaml);
595+
String triggerPipelineYml = getPipelineComponent(ngTriggerEntity);
596596
Map<FQN, String> invalidFQNs = getInvalidFQNsInTrigger(templateYaml, triggerPipelineYml);
597597
if (EmptyPredicate.isEmpty(invalidFQNs)) {
598598
return;
@@ -608,7 +608,8 @@ private void validatePipelineRef(TriggerDetails triggerDetails) {
608608
}
609609
}
610610

611-
private String getPipelineComponent(String triggerYml) {
611+
private String getPipelineComponent(NGTriggerEntity ngTriggerEntity ) {
612+
String triggerYml = ngTriggerEntity.getYaml();
612613
try {
613614
if (EmptyPredicate.isEmpty(triggerYml)) {
614615
return triggerYml;
@@ -619,7 +620,14 @@ private String getPipelineComponent(String triggerYml) {
619620
throw new InvalidRequestException("Invalid Trigger Yaml.");
620621
}
621622
JsonNode inputYaml = innerMap.get(INPUT_YAML);
622-
if (inputYaml == null) {
623+
JsonNode inputSetRef = innerMap.get("inputSetRef");
624+
if (inputSetRef != null) {
625+
Optional<String> inputSetYmlOptional = validationHelper.fetchInputSetForTrigger(ngTriggerEntity);
626+
if(inputSetYmlOptional.isPresent()){
627+
inputYaml = new TextNode(inputSetYmlOptional.get());
628+
}
629+
}
630+
if (inputYaml == null ) {
623631
throw new InvalidRequestException("Invalid Trigger Yaml.");
624632
}
625633
JsonNode pipelineNode = YamlUtils.readTree(inputYaml.asText()).getNode().getCurrJsonNode();

810-ng-triggers/src/test/java/io/harness/ngtriggers/buildtriggers/helper/generator/GeneratorFactoryTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ public class GeneratorFactoryTest extends CategoryTest {
5454
@Before
5555
public void setUp() throws IOException {
5656
MockitoAnnotations.initMocks(this);
57-
buildTriggerHelper = new BuildTriggerHelper(null);
57+
buildTriggerHelper = new BuildTriggerHelper(null, null);
5858
httpHelmPollingItemGenerator = new HttpHelmPollingItemGenerator(buildTriggerHelper);
5959
s3HelmPollingItemGenerator = new S3HelmPollingItemGenerator(buildTriggerHelper);
6060
GCSHelmPollingItemGenerator gcsHelmPollingItemGenerator = new GCSHelmPollingItemGenerator(buildTriggerHelper);

810-ng-triggers/src/test/java/io/harness/ngtriggers/buildtriggers/helper/generator/artifacts/DockerRegistryPollingItemGeneratorTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@
3737

3838
@OwnedBy(PIPELINE)
3939
public class DockerRegistryPollingItemGeneratorTest extends CategoryTest {
40-
BuildTriggerHelper buildTriggerHelper = new BuildTriggerHelper(null);
40+
BuildTriggerHelper buildTriggerHelper = new BuildTriggerHelper(null, null);
4141
@InjectMocks NGTriggerElementMapper ngTriggerElementMapper;
4242
DockerRegistryPollingItemGenerator dockerRegistryPollingItemGenerator =
4343
new DockerRegistryPollingItemGenerator(buildTriggerHelper);

810-ng-triggers/src/test/java/io/harness/ngtriggers/buildtriggers/helper/generator/artifacts/EcrPollingItemGeneratorTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@
3737

3838
@OwnedBy(PIPELINE)
3939
public class EcrPollingItemGeneratorTest extends CategoryTest {
40-
BuildTriggerHelper buildTriggerHelper = new BuildTriggerHelper(null);
40+
BuildTriggerHelper buildTriggerHelper = new BuildTriggerHelper(null, null);
4141
@InjectMocks NGTriggerElementMapper ngTriggerElementMapper;
4242
EcrPollingItemGenerator ecrPollingItemGenerator = new EcrPollingItemGenerator(buildTriggerHelper);
4343
String ecr_pipeline_artifact_snippet_runtime_all;

810-ng-triggers/src/test/java/io/harness/ngtriggers/buildtriggers/helper/generator/artifacts/GcrPollingItemGeneratorTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@
3737

3838
@OwnedBy(PIPELINE)
3939
public class GcrPollingItemGeneratorTest extends CategoryTest {
40-
BuildTriggerHelper buildTriggerHelper = new BuildTriggerHelper(null);
40+
BuildTriggerHelper buildTriggerHelper = new BuildTriggerHelper(null, null);
4141
@InjectMocks NGTriggerElementMapper ngTriggerElementMapper;
4242
GcrPollingItemGenerator gcrPollingItemGenerator = new GcrPollingItemGenerator(buildTriggerHelper);
4343
String gcr_pipeline_artifact_snippet_runtime_all;

810-ng-triggers/src/test/java/io/harness/ngtriggers/buildtriggers/helper/generator/manifests/HelmGcsPollingItemGeneratorTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@
3838

3939
@OwnedBy(PIPELINE)
4040
public class HelmGcsPollingItemGeneratorTest extends CategoryTest {
41-
BuildTriggerHelper buildTriggerHelper = new BuildTriggerHelper(null);
41+
BuildTriggerHelper buildTriggerHelper = new BuildTriggerHelper(null, null);
4242
@InjectMocks NGTriggerElementMapper ngTriggerElementMapper;
4343
GCSHelmPollingItemGenerator gcsHelmPollingItemGenerator = new GCSHelmPollingItemGenerator(buildTriggerHelper);
4444
String helm_gcs_pipeline_manifest_snippet_runtime_all;

810-ng-triggers/src/test/java/io/harness/ngtriggers/buildtriggers/helper/generator/manifests/HelmHttpPollingItemGeneratorTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@
3737

3838
@OwnedBy(PIPELINE)
3939
public class HelmHttpPollingItemGeneratorTest extends CategoryTest {
40-
BuildTriggerHelper buildTriggerHelper = new BuildTriggerHelper(null);
40+
BuildTriggerHelper buildTriggerHelper = new BuildTriggerHelper(null, null);
4141
@InjectMocks NGTriggerElementMapper ngTriggerElementMapper;
4242
HttpHelmPollingItemGenerator httpHelmPollingItemGenerator = new HttpHelmPollingItemGenerator(buildTriggerHelper);
4343
String helm_http_pipeline_manifest_snippet_runtime_all;

0 commit comments

Comments
 (0)