Skip to content

Commit 2b49a58

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

File tree

14 files changed

+104
-12
lines changed

14 files changed

+104
-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: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,15 +18,21 @@
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.ng.core.dto.ResponseDTO;
24+
import io.harness.ngtriggers.beans.config.NGTriggerConfigV2;
2225
import io.harness.ngtriggers.beans.dto.TriggerDetails;
2326
import io.harness.ngtriggers.beans.entity.NGTriggerEntity;
2427
import io.harness.ngtriggers.beans.source.NGTriggerSpecV2;
2528
import io.harness.ngtriggers.beans.source.artifact.BuildAware;
2629
import io.harness.ngtriggers.buildtriggers.helpers.dtos.BuildTriggerOpsData;
30+
import io.harness.ngtriggers.mapper.NGTriggerElementMapper;
2731
import io.harness.pipeline.remote.PipelineServiceClient;
32+
import io.harness.pms.inputset.MergeInputSetResponseDTOPMS;
2833
import io.harness.pms.merger.YamlConfig;
2934
import io.harness.pms.merger.fqn.FQN;
35+
import io.harness.pms.ngpipeline.inputset.beans.resource.MergeInputSetRequestDTOPMS;
3036
import io.harness.pms.pipeline.PMSPipelineResponseDTO;
3137
import io.harness.pms.pipeline.TemplatesResolvedPipelineResponseDTO;
3238
import io.harness.pms.yaml.YamlUtils;
@@ -52,21 +58,41 @@
5258
import java.util.Optional;
5359
import lombok.AllArgsConstructor;
5460
import org.apache.logging.log4j.util.Strings;
61+
import retrofit2.Call;
5562

5663
@Singleton
5764
@AllArgsConstructor(onConstructor = @__({ @Inject }))
5865
@OwnedBy(PIPELINE)
5966
public class BuildTriggerHelper {
6067
private PipelineServiceClient pipelineServiceClient;
68+
private NGTriggerElementMapper ngTriggerElementMapper;
6169

6270
public Optional<String> fetchPipelineForTrigger(NGTriggerEntity ngTriggerEntity) {
71+
NGTriggerConfigV2 triggerConfigV2 = ngTriggerElementMapper.toTriggerConfigV2(ngTriggerEntity);
6372
PMSPipelineResponseDTO response = NGRestUtils.getResponse(pipelineServiceClient.getPipelineByIdentifier(
6473
ngTriggerEntity.getTargetIdentifier(), ngTriggerEntity.getAccountId(), ngTriggerEntity.getOrgIdentifier(),
6574
ngTriggerEntity.getProjectIdentifier(), null, null, false));
75+
EntityGitDetails gitDetails = response.getGitDetails();
76+
String pipelineBranch = triggerConfigV2.getBranch();
77+
String branch = gitDetails.getBranch();
78+
String repo = gitDetails.getRepoIdentifier();
79+
if (Strings.isNotBlank(pipelineBranch)) {
80+
if (!(pipelineBranch.startsWith("<+") && pipelineBranch.endsWith(">"))) {
81+
branch = pipelineBranch;
82+
}
83+
}
84+
response = NGRestUtils.getResponse(pipelineServiceClient.getPipelineByIdentifier(
85+
ngTriggerEntity.getTargetIdentifier(), ngTriggerEntity.getAccountId(), ngTriggerEntity.getOrgIdentifier(),
86+
ngTriggerEntity.getProjectIdentifier(), branch, repo, false));
6687

6788
return response != null ? Optional.of(response.getYamlPipeline()) : Optional.empty();
6889
}
6990

91+
private Call<ResponseDTO<PMSPipelineResponseDTO>> apiToFetchPipeline(
92+
String targetIdentifier, String accountId, String orgIdentifier, String projectIdentifier, String branch) {
93+
return null;
94+
}
95+
7096
public Optional<String> fetchResolvedTemplatesPipelineForTrigger(NGTriggerEntity ngTriggerEntity) {
7197
TemplatesResolvedPipelineResponseDTO response =
7298
NGRestUtils.getResponse(pipelineServiceClient.getResolvedTemplatesPipelineByIdentifier(
@@ -387,4 +413,31 @@ public void verifyStageAndBuildRef(TriggerDetails triggerDetails, String fieldNa
387413
throw new InvalidArgumentsException(msg.toString());
388414
}
389415
}
416+
417+
public Optional<String> fetchInputSetForTrigger(NGTriggerEntity ngTriggerEntity) {
418+
NGTriggerConfigV2 triggerConfigV2 = ngTriggerElementMapper.toTriggerConfigV2(ngTriggerEntity);
419+
String pipelineBranch = triggerConfigV2.getBranch();
420+
String branch = null;
421+
if (Strings.isNotBlank(pipelineBranch)) {
422+
if (!(pipelineBranch.startsWith("<+") && pipelineBranch.endsWith(">"))) {
423+
branch = pipelineBranch;
424+
}
425+
}
426+
String inputSetRef = triggerConfigV2.getInputSetRef();
427+
String inputSetId = getInputsetId(inputSetRef);
428+
List<String> inputSetRefs = new ArrayList<>();
429+
inputSetRefs.add(inputSetId);
430+
MergeInputSetRequestDTOPMS mergeInputSetRequestDTOPMS =
431+
MergeInputSetRequestDTOPMS.builder().inputSetReferences(inputSetRefs).build();
432+
MergeInputSetResponseDTOPMS response =
433+
NGRestUtils.getResponse(pipelineServiceClient.getMergeInputSetFromPipelineTemplate(
434+
ngTriggerEntity.getAccountId(), ngTriggerEntity.getOrgIdentifier(), ngTriggerEntity.getProjectIdentifier(),
435+
ngTriggerEntity.getTargetIdentifier(), branch, null, branch, null, false, mergeInputSetRequestDTOPMS));
436+
437+
return response != null ? Optional.of(response.getPipelineYaml()) : Optional.empty();
438+
}
439+
440+
private String getInputsetId(String inputSetRef) {
441+
return inputSetRef.split("pipeline.")[1];
442+
}
390443
}

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)