This commit is contained in:
x032205
2025-07-07 20:26:35 -04:00
parent 64744d042d
commit 9e896563ed
11 changed files with 34 additions and 14 deletions
@@ -149,9 +149,9 @@ export const BitbucketSecretScanningFactory = () => {
filteredRepos.push(...repos.filter((repo) => includeRepos.includes(repo.full_name))); filteredRepos.push(...repos.filter((repo) => includeRepos.includes(repo.full_name)));
} }
return filteredRepos.map(({ full_name }) => ({ return filteredRepos.map(({ full_name, uuid }) => ({
name: full_name, name: full_name,
externalId: full_name, externalId: uuid,
type: SecretScanningResource.Repository type: SecretScanningResource.Repository
})); }));
}; };
@@ -188,7 +188,7 @@ export const BitbucketSecretScanningFactory = () => {
> = ({ repository }) => { > = ({ repository }) => {
return { return {
name: repository.full_name, name: repository.full_name,
externalId: repository.full_name, externalId: repository.uuid,
type: SecretScanningResource.Repository type: SecretScanningResource.Repository
}; };
}; };
@@ -9,6 +9,14 @@ export const SecretScanningDataSourceSchema = z.discriminatedUnion("type", [
]); ]);
export const SecretScanningFindingSchema = z.discriminatedUnion("dataSourceType", [ export const SecretScanningFindingSchema = z.discriminatedUnion("dataSourceType", [
GitHubFindingSchema, GitHubFindingSchema.describe(
BitbucketFindingSchema JSON.stringify({
title: "GitHub"
})
),
BitbucketFindingSchema.describe(
JSON.stringify({
title: "Bitbucket"
})
)
]); ]);
@@ -1,6 +1,5 @@
import type { EmitterWebhookEventName } from "@octokit/webhooks/dist-types/types"; import type { EmitterWebhookEventName } from "@octokit/webhooks/dist-types/types";
import { PushEvent } from "@octokit/webhooks-types"; import { PushEvent } from "@octokit/webhooks-types";
import crypto from "crypto";
import { Probot } from "probot"; import { Probot } from "probot";
import { z } from "zod"; import { z } from "zod";
@@ -66,7 +66,7 @@ export const registerBitbucketConnectionRouter = async (server: FastifyZodProvid
}), }),
response: { response: {
200: z.object({ 200: z.object({
repositories: z.object({ slug: z.string(), full_name: z.string() }).array() repositories: z.object({ slug: z.string(), full_name: z.string(), uuid: z.string() }).array()
}) })
} }
}, },
@@ -34,6 +34,7 @@ export type TBitbucketWorkspace = {
}; };
export type TBitbucketRepo = { export type TBitbucketRepo = {
uuid: string;
full_name: string; // workspace-slug/repo-slug full_name: string; // workspace-slug/repo-slug
slug: string; slug: string;
}; };
@@ -6,7 +6,7 @@ description: "Learn how to configure secret scanning for Bitbucket."
## Prerequisites ## Prerequisites
- Create a [Bitbucket Connection](/integrations/app-connections/bitbucket) - Create a [Bitbucket Connection](/integrations/app-connections/bitbucket) with Secret Scanning permissions
## Create a Bitbucket Data Source in Infisical ## Create a Bitbucket Data Source in Infisical
@@ -17,6 +17,8 @@ description: "Learn how to configure secret scanning for Bitbucket."
2. Select the **Bitbucket** option. 2. Select the **Bitbucket** option.
![Select Bitbucket](/images/platform/secret-scanning/bitbucket/step-2.png)
3. Configure which workspace and repositories you would like to scan. Then click **Next**. 3. Configure which workspace and repositories you would like to scan. Then click **Next**.
![Data Source Configuration](/images/platform/secret-scanning/bitbucket/step-3.png) ![Data Source Configuration](/images/platform/secret-scanning/bitbucket/step-3.png)
Binary file not shown.

Before

Width:  |  Height:  |  Size: 330 KiB

After

Width:  |  Height:  |  Size: 0 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 58 KiB

@@ -5,21 +5,29 @@ description: "Learn how to configure a Bitbucket Connection for Infisical."
Infisical supports the use of [API Tokens](https://support.atlassian.com/bitbucket-cloud/docs/api-tokens/) to connect with Bitbucket. Infisical supports the use of [API Tokens](https://support.atlassian.com/bitbucket-cloud/docs/api-tokens/) to connect with Bitbucket.
<Tip>
Infisical recommends creating a dedicated Bitbucket account with access restricted to only the repositories you want to scan.
</Tip>
## Create Bitbucket Access Token ## Create Bitbucket Access Token
<Steps> <Steps>
<Step title="Create API Token"> <Step title="Create API Token">
Go to [Account API Tokens](https://id.atlassian.com/manage-profile/security/api-tokens) and click 'Create API token with scopes'. Go to [Account API Tokens](https://id.atlassian.com/manage-profile/security/api-tokens) and click **Create API token with scopes**.
![Create API Token](/images/app-connections/bitbucket/step-1.png) ![Create API Token](/images/app-connections/bitbucket/step-1.png)
</Step> </Step>
<Step title="Set Name and Expiry"> <Step title="Set Name and Expiry">
Set the name and expiration date of the token, then click 'Next'. Keep in mind that you'll need to manually replace the token after it expires. Set the name and expiration date of the token, then click **Next**.
![Set Name and Expiry](/images/app-connections/bitbucket/step-2.png) ![Set Name and Expiry](/images/app-connections/bitbucket/step-2.png)
<Note>
Keep in mind that you'll need to manually replace the token after it expires.
</Note>
</Step> </Step>
<Step title="Select 'Bitbucket'"> <Step title="Select 'Bitbucket'">
Select 'Bitbucket' and then click 'Next'. Select 'Bitbucket' and then click **Next**.
![Select Bitbucket](/images/app-connections/bitbucket/step-3.png) ![Select Bitbucket](/images/app-connections/bitbucket/step-3.png)
</Step> </Step>
@@ -36,12 +44,13 @@ Infisical supports the use of [API Tokens](https://support.atlassian.com/bitbuck
delete:webhook:bitbucket delete:webhook:bitbucket
read:repository:bitbucket read:repository:bitbucket
``` ```
![Configure Permissions](/images/app-connections/bitbucket/step-4.png)
</Tab> </Tab>
</Tabs> </Tabs>
Click 'Next'. Click 'Next'.
![Configure Permissions](/images/app-connections/bitbucket/step-4.png)
</Step> </Step>
<Step title="Copy Token"> <Step title="Copy Token">
Save the API Token for later steps. Save the API Token for later steps.
@@ -61,7 +70,7 @@ Infisical supports the use of [API Tokens](https://support.atlassian.com/bitbuck
![App Connections Tab](/images/app-connections/general/add-connection.png) ![App Connections Tab](/images/app-connections/general/add-connection.png)
</Step> </Step>
<Step title="Select Bitbucket Connection"> <Step title="Select Bitbucket Connection">
Click the 'Add new connection' button and select 'Bitbucket' from the list of available connections. Click the **Add new connection** button and select 'Bitbucket' from the list of available connections.
</Step> </Step>
<Step title="Fill out the Bitbucket Connection Modal"> <Step title="Fill out the Bitbucket Connection Modal">
Complete the Bitbucket Connection form by entering: Complete the Bitbucket Connection form by entering:
@@ -3,6 +3,7 @@ export type TBitbucketWorkspace = {
}; };
export type TBitbucketRepo = { export type TBitbucketRepo = {
uuid: string;
slug: string; slug: string;
full_name: string; // workspace-slug/repo-slug full_name: string; // workspace-slug/repo-slug
}; };
@@ -294,7 +294,7 @@ export const SecretScanningDataSourcesTable = ({ dataSources }: Props) => {
<Table> <Table>
<THead> <THead>
<Tr> <Tr>
<Th className="w-60">Platform</Th> <Th className="min-w-36">Platform</Th>
<Th className="w-1/3"> <Th className="w-1/3">
<div className="flex items-center"> <div className="flex items-center">
Name Name