diff --git a/frontend/src/pages/integrations/github/create.tsx b/frontend/src/pages/integrations/github/create.tsx index 7516d98e8..65b0295f8 100644 --- a/frontend/src/pages/integrations/github/create.tsx +++ b/frontend/src/pages/integrations/github/create.tsx @@ -66,6 +66,11 @@ const schema = yup.object({ then: yup.array(yup.string().required()).min(1, "Select at least one repositories") }), + repoId: yup.mixed().when("scope", { + is: "github-env", + then: yup.string().required("Repository is required") + }), + repoName: yup.mixed().when("scope", { is: "github-env", then: yup.string().required("Repository is required") @@ -137,15 +142,13 @@ export default function GitHubCreateIntegrationPage() { } }, [workspace]); - useEffect(() => { - if (integrationAuthGithubEnvs && integrationAuthGithubEnvs?.length > 0) { + if (integrationAuthGithubEnvs && integrationAuthGithubEnvs?.length > 0) { setValue("envId", integrationAuthGithubEnvs[0].envId); - } - else { + } else { setValue("envId", undefined); } - }, [integrationAuthGithubEnvs]) + }, [integrationAuthGithubEnvs]); const onFormSubmit = async (data: FormData) => { try { @@ -187,8 +190,7 @@ export default function GitHubCreateIntegrationPage() { secretPath: data.secretPath, sourceEnvironment: data.selectedSourceEnvironment, scope: data.scope, - owner: integrationAuthOrgs?.find(e=>e.orgId === data.orgId)?.name, // repo owner - targetServiceId: data.orgId, // github org id + owner: integrationAuthOrgs?.find((e) => e.orgId === data.orgId)?.name, metadata: { secretSuffix: data.secretSuffix } @@ -202,9 +204,11 @@ export default function GitHubCreateIntegrationPage() { secretPath: data.secretPath, sourceEnvironment: data.selectedSourceEnvironment, scope: data.scope, - app: repoName, // repo name // TODO: CHANGE THIS STATE INTO YUP - owner: repoOwner, // repo owner - targetEnvironmentId: data.envId, // github environment id + app: repoName, + owner: repoOwner, + targetService: "Repository", + targetServiceId: data.repoId, // github repo id is needed for sync secret + targetEnvironmentId: data.envId, metadata: { secretSuffix: data.secretSuffix } @@ -356,7 +360,10 @@ export default function GitHubCreateIntegrationPage() {