Skip to content

Enhance Integration Key Management with External System Identification #3716

@mastercactapus

Description

@mastercactapus

What problem would you like to solve? Please describe:
As GoAlert continues to evolve with more integrations, especially with features like the GraphQL API key, managing integration keys uniquely becomes crucial. Currently, relying solely on a unique "name" for integration keys presents issues:

  • Users may change the name or edit the key, unintentionally creating duplicates.
  • Deletion of keys by users without realizing the impact on other integrations.

Describe the solution you'd like:
Introduce externalSystemName and externalID fields for integration keys, along with the following enhancements:

  • Update the integrationKeys field on services to include optional externalSystem and/or externalID fields for better filtering.
  • Ensure the combination of externalSystemName and externalID remains unique, allowing for the relaxation of uniqueness constraints on key names under certain conditions.
  • Differentiate externally-managed keys in the UI, possibly with a distinct marker or chip.
  • Restrict editing of externally-managed keys in the UI, potentially requiring an additional confirmation step for changes.
  • Implement an extra confirmation step when deleting externally-managed keys, alerting users to potential impacts on integrations.

Describe alternatives you've considered:
Alternatives might include enforcing naming conventions or using metadata fields within the current framework, but these approaches lack the clarity and enforceability of the proposed solution.

Additional context:
This feature request aims to streamline the management of integration keys for external systems, mitigating the risk of conflicts or accidental disruptions to integrations. It addresses a growing need as GoAlert's ecosystem becomes more interconnected with external tools and services.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions