Create

  • POST
  • /workspaces
  • /:domain
  • /integrations

Creates an integration of the selected type.

Supported integration types: DIGITAL_OCEAN, AMAZON, SHOPIFY, PUSHOVER, RACKSPACE, CLOUDFLARE, NEW_RELIC, SENTRY, ROLLBAR, DATADOG, DO_SPACES, HONEYBADGER, VULTR, SENTRY_ENTERPRISE, LOGGLY, FIREBASE, UPCLOUD, GHOST_INSPECTOR, AZURE_CLOUD, DOCKER_HUB, GIT_HUB, GOOGLE_SERVICE_ACCOUNT.

Request

REQUIRED SCOPES
INTEGRATION_ADD
URL PARAMETERS
domainrequired string
The workspace domain.
POST PARAMETERS
namerequired string
The name of the integration.
typerequired string
The type of the integration (listed above).
scoperequired string
The scope of the integration. Can be WORKSPACE or PROJECT.
project_namestring
The name of the project. Required if scope is set to PROJECT.
usernamestring
The username for UPCLOUD, RACKSPACE or DOCKER_HUB integration.
shopstring
The name of the shop for SHOPIFY integration.
tokenstring
The token for integrations: DIGITAL_OCEAN, SHOPIFY, RACKSPACE, CLOUDFLARE, NEW_RELIC, SENTRY, ROLLBAR, DATADOG, HONEYBADGER, VULTR, SENTRY_ENTERPRISE, LOGGLY, FIREBASE, GHOST_INSPECTOR, GIT_HUB.
access_keystring
The access key for integrations DO_SPACES and AMAZON.
secret_keystring
The secret key for integrations DO_SPACES and AMAZON.
app_idstring
The application ID for AZURE_CLOUD integration.
tenant_idstring
The tenant ID for AZURE_CLOUD integration.
passwordstring
The password for AZURE_CLOUD, UPCLOUD or DOCKER_HUB integrations.
api_keystring
The API key from the account for CLOUDFLARE integration. The alternative option to add it besides using the token. For GOOGLE_SERVICE_ACCOUNT integration type it's the service account key (JSON format).
role_assumptionsstring
The list of role assumptions for AMAZON integration.
emailstring
Email for CLOUDFLARE integration. Required if api_key is sent.
partner_tokenstring
The partner token for SHOPIFY integration.
key_idstring
The access key for BACKBLAZE integration.
application_keystring
The secret key for BACKBLAZE integration.
auth_typestring
The authorization method for the integration. Available values: OAUTH, TOKEN, API_KEY, APP, APP_SPRYKER, TOKEN_APP_EXTENSION, DEFAULT, OIDC, TRUSTED.
google_projectstring
The ID of the Google Cloud project. Required for GOOGLE_SERVICE_ACCOUNT integration type with OIDC auth_type.
configstring
Client library config (JSON format). Required for GOOGLE_SERVICE_ACCOUNT integration type with OIDC auth_type.
audiencestring
OIDC audience for integrations with OIDC auth_type.
identifierstring
Readable ID for integration. It can consist of uppercase and lowercase letters, numbers, and underscores. It must start with a letter. If not provided, the same one will be set as the generated hash_id.
permissionspermissions
Define to set permissions for the integration.
all_pipelines_allowedBoolean
Defines whether all pipelines are allowed to use the integration.
allowed_pipelinesPipeline[]
Defines an object with the property id for pipelines that can use this integration.

Last modified on Oct 22, 2024

Example:

curl -X POST "https://api.buddy.works/workspaces/:domain/integrations" \
-H "Authorization: Bearer <YOUR-TOKEN>" \
-H "Content-Type: application/json" \
-d '{
  "name": "Buddy AWS integration",
  "type": "AMAZON",
  "scope": "PROJECT",
  "project_name": "company-website",
  "access_key": "AKIAVASPKE3ZWWV7V5BI",
  "secret_key": "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",
  "identifier": "my_aws_integration",
  "role_assumptions": [
    {
      "arn": "arn:aws:iam::123457465779:role/TESTS",
      "external_id": "ext_id",
      "duration": 9000
    }
  ],
  "all_pipelines_allowed": false,
  "permissions": {
    "admins": "MANAGE",
    "others": "DENIED",
    "users": [
      {
        "id": 1,
        "access_level": "USE_ONLY"
      }
    ],
    "groups": [
      {
        "id": 1,
        "access_level": "USE_ONLY"
      }
    ]
  },
  "allowed_pipelines": [
    {
      "id": 1
    }
  ]
}'
EXAMPLE RESPONSE
{ "url": "https://api.buddy.works/workspaces/buddy/integrations/5fff3231277e1449d8eb3e6a", "html_url": "https://app.buddy.works/buddy/workspace/integrations", "hash_id": "5fff3231277e1449d8eb3e6a", "name": "Buddy AWS integration", "type": "AMAZON", "scope": "PROJECT", "identifier": "my_aws_integration", "project_name": "company-website", "all_pipelines_allowed": false, "permissions": { "admins": "MANAGE", "others": "DENIED", "users": [ { "id": 1, "access_level": "USE_ONLY" } ], "groups": [ { "id": 1, "access_level": "USE_ONLY" } ] }, "allowed_pipelines": [ { "url": "https://api.buddy.works/workspaces/buddy/projects/company-website/pipelines/1", "html_url": "https://app.buddy.works/buddy/company-website/pipelines/pipeline/1", "id": 1, "name": "Tests" } ] }
STATUS
201 Created
LIMITS
X-Rate-Limit-Limit: 1 X-Rate-Limit-Remaining: 999