Skip to content

Add functions to create, delete, and update integrations #434

@toph-allen

Description

@toph-allen

Create Integration create_integration()

This'll need to take a Connect client, and should have parameters corresponding to the fields of the request. The config can be a list.

client <- connect()
 
new_integration <- create_integration(
  client = client,
  name = "New Integration",
  description = "This is a description!",
  template = "github",
  config = list(
    auth_mode = "Public",
    client_id = "123"
  )
)

Update Integration update_integration()

This should have similar parameters to the create method, except that the first argument should be the integration to update. Weirdly, the name is required in the API here, even though the integration we're updating may already have a name. We might want to allow the name to be optional here, and if it's NULL, use the name from the incoming integration.

client <- connect()
stale_github_integration <- get_integrations(client) |>
  purrr::keep(~ .x$template == "github")[[1]]
 
fresh_github_integration <- create_integration(
  integration = stale_github_integration,
  name = "GitHub",
  description = "This is a better description than before!",
  template = "github",
  config = list(
    auth_mode = "Public",
    client_id = "456"
  )
)

Delete Integration delete_integration()

The delete function can take an integration object.

client <- connect()
stale_github_integration <- get_integrations(client) |>
  purrr::keep(~ .x$template == "github")[[1]]

delete_integration(stale_github_integration)

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions