diff --git a/backend/src/integrations/apps.ts b/backend/src/integrations/apps.ts index 1df5bdaa7..b1db6f227 100644 --- a/backend/src/integrations/apps.ts +++ b/backend/src/integrations/apps.ts @@ -375,7 +375,7 @@ const getAppsTravisCI = async ({ accessToken }: { accessToken: string }) => { let apps: any; try { const res = ( - await axios.get( + await request.get( `${INTEGRATION_TRAVISCI_API_URL}/repos`, { headers: { diff --git a/backend/src/integrations/sync.ts b/backend/src/integrations/sync.ts index 5aaba3128..ca3b23bbd 100644 --- a/backend/src/integrations/sync.ts +++ b/backend/src/integrations/sync.ts @@ -1344,7 +1344,7 @@ const syncSecretsTravisCI = async ({ try { // get secrets from travis-ci const getSecretsRes = ( - await axios.get( + await request.get( `${INTEGRATION_TRAVISCI_API_URL}/settings/env_vars?repository_id=${integration.appId}`, { headers: { @@ -1366,7 +1366,7 @@ const syncSecretsTravisCI = async ({ if (!(key in getSecretsRes)) { // case: secret does not exist in travis ci // -> add secret - await axios.post( + await request.post( `${INTEGRATION_TRAVISCI_API_URL}/settings/env_vars?repository_id=${integration.appId}`, { env_var: { @@ -1385,7 +1385,7 @@ const syncSecretsTravisCI = async ({ } else { // case: secret exists in travis ci // -> update/set secret - await axios.patch( + await request.patch( `${INTEGRATION_TRAVISCI_API_URL}/settings/env_vars/${getSecretsRes[key].id}?repository_id=${getSecretsRes[key].repository_id}`, { env_var: { @@ -1407,7 +1407,7 @@ const syncSecretsTravisCI = async ({ for await (const key of Object.keys(getSecretsRes)) { if (!(key in secrets)){ // delete secret - await axios.delete( + await request.delete( `${INTEGRATION_TRAVISCI_API_URL}/settings/env_vars/${getSecretsRes[key].id}?repository_id=${getSecretsRes[key].repository_id}`, { headers: { diff --git a/backend/src/variables/integration.ts b/backend/src/variables/integration.ts index a6e2029e2..b45a3f963 100644 --- a/backend/src/variables/integration.ts +++ b/backend/src/variables/integration.ts @@ -137,6 +137,15 @@ const INTEGRATION_OPTIONS = [ clientId: '', docsLink: '' }, + { + name: 'Travis CI', + slug: 'travisci', + image: 'Travis CI.png', + isAvailable: true, + type: 'pat', + clientId: '', + docsLink: '' + }, { name: 'Azure Key Vault', slug: 'azure-key-vault', @@ -155,15 +164,6 @@ const INTEGRATION_OPTIONS = [ type: '', clientId: '', docsLink: '' - }, - { - name: 'Travis CI', - slug: 'travisci', - image: 'Travis CI.png', - isAvailable: true, - type: 'pat', - clientId: '', - docsLink: '' } ] diff --git a/docs/images/integrations-travisci-auth.png b/docs/images/integrations-travisci-auth.png new file mode 100644 index 000000000..71f0ac918 Binary files /dev/null and b/docs/images/integrations-travisci-auth.png differ diff --git a/docs/images/integrations-travisci-create.png b/docs/images/integrations-travisci-create.png new file mode 100644 index 000000000..8d0aa4890 Binary files /dev/null and b/docs/images/integrations-travisci-create.png differ diff --git a/docs/images/integrations-travisci-token.png b/docs/images/integrations-travisci-token.png new file mode 100644 index 000000000..546a6614a Binary files /dev/null and b/docs/images/integrations-travisci-token.png differ diff --git a/docs/images/integrations-travisci.png b/docs/images/integrations-travisci.png new file mode 100644 index 000000000..d127a6183 Binary files /dev/null and b/docs/images/integrations-travisci.png differ diff --git a/docs/images/integrations.png b/docs/images/integrations.png index c9975e4f3..9e15526d6 100644 Binary files a/docs/images/integrations.png and b/docs/images/integrations.png differ diff --git a/docs/integrations/cicd/circleci.mdx b/docs/integrations/cicd/circleci.mdx index 44f2ecd46..7b9298f4b 100644 --- a/docs/integrations/cicd/circleci.mdx +++ b/docs/integrations/cicd/circleci.mdx @@ -1,5 +1,5 @@ --- -title: "Circle CI" +title: "CircleCI" description: "How to automatically sync secrets from Infisical into your CircleCI project." --- @@ -32,5 +32,5 @@ Press on the CircleCI tile and input your CircleCI API token to grant Infisical Select which Infisical environment secrets you want to sync to which CircleCI project and press create integration to start syncing secrets to CircleCI. -![integrations fly](../../images/integrations-circleci-create.png) -![integrations fly](../../images/integrations-circleci.png) +![create integration circleci](../../images/integrations-circleci-create.png) +![integrations circleci](../../images/integrations-circleci.png) diff --git a/docs/integrations/cicd/travisci.mdx b/docs/integrations/cicd/travisci.mdx new file mode 100644 index 000000000..5509ffc7a --- /dev/null +++ b/docs/integrations/cicd/travisci.mdx @@ -0,0 +1,36 @@ +--- +title: "Travis CI" +description: "How to automatically sync secrets from Infisical to your Travis CI repository." +--- + +Prerequisites: + +- Set up and add envars to [Infisical Cloud](https://app.infisical.com) + +## Navigate to your project's integrations tab + +![integrations](../../images/integrations.png) + +## Authorize Infisical for Travis CI + +Obtain your API token in User Settings > API authentication > Token + +![integrations travis ci token](../../images/integrations-travisci-token.png) + +Press on the Travis CI tile and input your Travis CI API token to grant Infisical access to your Travis CI account. + +![integrations travis ci authorization](../../images/integrations-travisci-auth.png) + + + If this is your project's first cloud integration, then you'll have to grant + Infisical access to your project's environment variables. Although this step + breaks E2EE, it's necessary for Infisical to sync the environment variables to + the cloud platform. + + +## Start integration + +Select which Infisical environment secrets you want to sync to which Travis CI repository and press create integration to start syncing secrets to Travis CI. + +![create integration travis ci](../../images/integrations-travisci-create.png) +![integrations travis ci](../../images/integrations-travisci.png) diff --git a/docs/integrations/overview.mdx b/docs/integrations/overview.mdx index 439564258..9d88224aa 100644 --- a/docs/integrations/overview.mdx +++ b/docs/integrations/overview.mdx @@ -23,6 +23,7 @@ Missing an integration? Throw in a [request](https://github.com/Infisical/infisi | [GitHub Actions](/integrations/cicd/githubactions) | CI/CD | Available | | [GitLab Pipeline](/integrations/cicd/gitlab) | CI/CD | Available | | [CircleCI](/integrations/cicd/circleci) | CI/CD | Available | +| [Travis CI](/integrations/cicd/travisci) | CI/CD | Available | | [React](/integrations/frameworks/react) | Framework | Available | | [Vue](/integrations/frameworks/vue) | Framework | Available | | [Express](/integrations/frameworks/express) | Framework | Available | @@ -41,6 +42,5 @@ Missing an integration? Throw in a [request](https://github.com/Infisical/infisi | GCP | Cloud | Coming soon | | Azure | Cloud | Coming soon | | DigitalOcean | Cloud | Coming soon | -| TravisCI | CI/CD | Coming soon | | GitHub Actions | CI/CD | Coming soon | | Jenkins | CI/CD | Coming soon | diff --git a/docs/mint.json b/docs/mint.json index ebedbd5b4..6cbb50b40 100644 --- a/docs/mint.json +++ b/docs/mint.json @@ -233,7 +233,8 @@ "pages": [ "integrations/cicd/githubactions", "integrations/cicd/gitlab", - "integrations/cicd/circleci" + "integrations/cicd/circleci", + "integrations/cicd/travisci" ] }, { diff --git a/frontend/src/pages/integrations/travisci/authorize.tsx b/frontend/src/pages/integrations/travisci/authorize.tsx index e55b82f1a..cdd5e4441 100644 --- a/frontend/src/pages/integrations/travisci/authorize.tsx +++ b/frontend/src/pages/integrations/travisci/authorize.tsx @@ -47,9 +47,9 @@ export default function TravisCICreateIntegrationPage() { return (
- TravisCI Integration + Travis CI Integration @@ -65,7 +65,7 @@ export default function TravisCICreateIntegrationPage() { className='mt-4' isLoading={isLoading} > - Connect to TravisCI + Connect to Travis CI
diff --git a/frontend/src/pages/integrations/travisci/create.tsx b/frontend/src/pages/integrations/travisci/create.tsx index 4a06c838a..426f3b935 100644 --- a/frontend/src/pages/integrations/travisci/create.tsx +++ b/frontend/src/pages/integrations/travisci/create.tsx @@ -73,7 +73,7 @@ export default function TravisCICreateIntegrationPage() { return (integrationAuth && workspace && selectedSourceEnvironment && integrationAuthApps && targetApp) ? (
- TravisCI Integration + Travis CI Integration