diff --git a/backend/src/services/integration-auth/integration-auth-service.ts b/backend/src/services/integration-auth/integration-auth-service.ts
index 3950b5acb..30be70d11 100644
--- a/backend/src/services/integration-auth/integration-auth-service.ts
+++ b/backend/src/services/integration-auth/integration-auth-service.ts
@@ -1694,7 +1694,6 @@ export const integrationAuthServiceFactory = ({
}));
} catch (error) {
logger.error(error);
- return [];
}
};
diff --git a/docs/images/integrations/circleci-context/integrations-circleci-context-auth.png b/docs/images/integrations/circleci-context/integrations-circleci-context-auth.png
deleted file mode 100644
index 235ce2aaa..000000000
Binary files a/docs/images/integrations/circleci-context/integrations-circleci-context-auth.png and /dev/null differ
diff --git a/docs/images/integrations/circleci-context/integrations-circleci-context-create.png b/docs/images/integrations/circleci-context/integrations-circleci-context-create.png
deleted file mode 100644
index b8eba410a..000000000
Binary files a/docs/images/integrations/circleci-context/integrations-circleci-context-create.png and /dev/null differ
diff --git a/docs/images/integrations/circleci-context/integrations-circleci-context-list.png b/docs/images/integrations/circleci-context/integrations-circleci-context-list.png
deleted file mode 100644
index 69e02a409..000000000
Binary files a/docs/images/integrations/circleci-context/integrations-circleci-context-list.png and /dev/null differ
diff --git a/docs/images/integrations/circleci-context/integrations-circleci-token.png b/docs/images/integrations/circleci-context/integrations-circleci-token.png
deleted file mode 100644
index 3e00744cc..000000000
Binary files a/docs/images/integrations/circleci-context/integrations-circleci-token.png and /dev/null differ
diff --git a/docs/images/integrations/circleci-context/integrations-page.png b/docs/images/integrations/circleci-context/integrations-page.png
deleted file mode 100644
index e59a83131..000000000
Binary files a/docs/images/integrations/circleci-context/integrations-page.png and /dev/null differ
diff --git a/docs/images/integrations/circleci/integrations-circleci-auth.png b/docs/images/integrations/circleci/integrations-circleci-auth.png
index 055ebbf4a..73a5fd686 100644
Binary files a/docs/images/integrations/circleci/integrations-circleci-auth.png and b/docs/images/integrations/circleci/integrations-circleci-auth.png differ
diff --git a/docs/images/integrations/circleci/integrations-circleci-create-context.png b/docs/images/integrations/circleci/integrations-circleci-create-context.png
new file mode 100644
index 000000000..9d911953e
Binary files /dev/null and b/docs/images/integrations/circleci/integrations-circleci-create-context.png differ
diff --git a/docs/images/integrations/circleci/integrations-circleci-create-project.png b/docs/images/integrations/circleci/integrations-circleci-create-project.png
new file mode 100644
index 000000000..73ab1e75a
Binary files /dev/null and b/docs/images/integrations/circleci/integrations-circleci-create-project.png differ
diff --git a/docs/images/integrations/circleci/integrations-circleci.png b/docs/images/integrations/circleci/integrations-circleci.png
index 5ee9a9df0..cde74678d 100644
Binary files a/docs/images/integrations/circleci/integrations-circleci.png and b/docs/images/integrations/circleci/integrations-circleci.png differ
diff --git a/docs/integrations/cicd/circleci-context.mdx b/docs/integrations/cicd/circleci-context.mdx
deleted file mode 100644
index 5d5826ef4..000000000
--- a/docs/integrations/cicd/circleci-context.mdx
+++ /dev/null
@@ -1,33 +0,0 @@
----
-title: "CircleCI Context"
-description: "How to sync secrets from Infisical to CircleCI Contexts"
----
-
-Prerequisites:
-
-- Set up and add envars to [Infisical Cloud](https://app.infisical.com)
-
-
-
- Obtain an API token in User Settings > Personal API Tokens
-
- 
-
- Navigate to your project's integrations tab in Infisical.
-
- 
- If you already have other integrations setup, click "Add Integration" on the top right corner to add the CircleCi Context integration.
-
- Press on the CircleCI Contexts tile and input your CircleCI API token to grant Infisical access to your CircleCI account.
-
- 
-
-
-
- Select which Infisical environment secrets you want to sync to which CircleCI Context and press create integration to start syncing secrets to CircleCI.
-
- 
- 
-
-
-
diff --git a/docs/integrations/cicd/circleci.mdx b/docs/integrations/cicd/circleci.mdx
index 0753f40f7..5bf04822d 100644
--- a/docs/integrations/cicd/circleci.mdx
+++ b/docs/integrations/cicd/circleci.mdx
@@ -11,21 +11,30 @@ Prerequisites:
Obtain an API token in User Settings > Personal API Tokens
- 
+ 
Navigate to your project's integrations tab in Infisical.
- 
+ 
Press on the CircleCI tile and input your CircleCI API token to grant Infisical access to your CircleCI account.
- 
+ 
- Select which Infisical environment secrets you want to sync to which CircleCI project and press create integration to start syncing secrets to CircleCI.
+ Select which Infisical environment secrets you want to sync to which CircleCI project or context.
+
+
+ 
+
+
+ 
+
+
+
+ Finally, press create integration to start syncing secrets to CircleCI.
+ 
- 
- 
-
\ No newline at end of file
+
diff --git a/docs/mint.json b/docs/mint.json
index e4ba36c27..030a0b4dc 100644
--- a/docs/mint.json
+++ b/docs/mint.json
@@ -424,7 +424,6 @@
"group": "View more",
"pages": [
"integrations/cicd/circleci",
- "integrations/cicd/circleci-context",
"integrations/cicd/travisci",
"integrations/cicd/rundeck",
"integrations/cicd/codefresh",
diff --git a/frontend/src/pages/integrations/circleci/create.tsx b/frontend/src/pages/integrations/circleci/create.tsx
index 7e733940e..37a26da6c 100644
--- a/frontend/src/pages/integrations/circleci/create.tsx
+++ b/frontend/src/pages/integrations/circleci/create.tsx
@@ -28,15 +28,15 @@ const formSchema = z.discriminatedUnion("scope", [
scope: z.literal("context"),
secretPath: z.string().default("/"),
sourceEnvironment: z.object({ name: z.string(), slug: z.string() }),
- targetOrg: z.object({ name: z.string(), slug: z.string() }),
- targetContext: z.object({ name: z.string(), id: z.string() })
+ targetOrg: z.object({ name: z.string().min(1), slug: z.string().min(1) }),
+ targetContext: z.object({ name: z.string().min(1), id: z.string().min(1) })
}),
z.object({
scope: z.literal("project"),
secretPath: z.string().default("/"),
sourceEnvironment: z.object({ name: z.string(), slug: z.string() }),
- targetOrg: z.object({ name: z.string(), slug: z.string() }),
- targetProject: z.object({ name: z.string(), id: z.string() })
+ targetOrg: z.object({ name: z.string().min(1), slug: z.string().min(1) }),
+ targetProject: z.object({ name: z.string().min(1), id: z.string().min(1) })
})
]);
@@ -49,7 +49,7 @@ export default function CircleCICreateIntegrationPage() {
const integrationAuthId = router.query.integrationAuthId as string;
- const { control, watch, handleSubmit } = useForm({
+ const { control, watch, handleSubmit, setValue } = useForm({
resolver: zodResolver(formSchema),
defaultValues: {
secretPath: "/",
@@ -196,7 +196,18 @@ export default function CircleCICreateIntegrationPage() {
getOptionValue={(option) => option.slug}
value={value}
getOptionLabel={(option) => option.name}
- onChange={onChange}
+ onChange={(e) => {
+ setValue("targetProject", {
+ name: "",
+ id: ""
+ });
+ setValue("targetContext", {
+ name: "",
+ id: ""
+ });
+
+ onChange(e);
+ }}
options={circleCIOrganizations}
placeholder={
circleCIOrganizations?.length