Integración con Event Notifications

Como administrador de App Configuration, es posible que desee enviar notificaciones de eventos en App Configuration a otros usuarios, o destinos humanos, mediante el uso de correo electrónico, SMS u otros canales de entrega compatibles. Además, es posible que desee enviar estas notificaciones de eventos a otras aplicaciones para construir la lógica mediante el uso de la programación dirigida por eventos que utiliza webhooks, por ejemplo. Esto es posible gracias a la integración entre App Configuration y Event Notifications.

Para enviar información a Event Notifications, debe conectar su instancia de servicio App Configuration a Event Notifications. Para obtener más información sobre cómo trabajar con Event Notifications, consulte Iniciación a Event Notifications.

¿Cómo recoge y envía App Configuration los eventos?

Cuando se produce un evento de interés en su instancia App Configuration, App Configuration se comunica con una instancia Event Notifications conectada para reenviar una notificación a un destino compatible.

Sucesos de App Configuration

En la tabla siguiente se listan las acciones de App Configuration que generan un suceso.

Acciones que generan notificaciones de eventos
Nombre de suceso Tipo de suceso Subtipo
Configuración de recursos com.ibm.cloud.apprapp.config_aggregator.resource_config
Entornos com.ibm.cloud.apprapp.feature_flags.environments crear
actualizar
suprimir
Recopilaciones com.ibm.cloud.apprapp.feature_flags.collections crear
actualizar
suprimir
Características com.ibm.cloud.apprapp.feature_flags.features crear
actualizar
suprimir
Conmutador de distintivo de característica com.ibm.cloud.apprapp.feature_flag_toggle habilitado
inhabilitado
Reglas sobre dispositivos com.ibm.cloud.apprapp.feature_flags.feature_rules crear
actualizar
suprimir
Propiedades com.ibm.cloud.apprapp.feature_flags.properties crear
actualizar
suprimir
Segmentos com.ibm.cloud.apprapp.feature_flags.segments crear
actualizar
suprimir
Gitconfigs com.ibm.cloud.apprapp.feature_flags.gitconfigs crear
actualizar
suprimir
Originconfigs com.ibm.cloud.apprapp.feature_flags.originconfigs actualizar
Integraciones com.ibm.cloud.apprapp.feature_flags.integrations conectado
desconectado
Importación de instancias com.ibm.cloud.apprapp.feature_flags.instance_import
Gitconfig promover com.ibm.cloud.apprapp.feature_flags.gitconfig_promote
Restauración de Gitconfig com.ibm.cloud.apprapp.feature_flags.gitconfig_restore

Habilitación de notificaciones con Event Notifications

Los eventos generados por una instancia del servicio App Configuration pueden reenviarse a una instancia del servicio Event Notifications que esté disponible en la misma cuenta. Sólo se puede configurar una instancia de App Configuration para una instancia de servicio de Event Notifications. Para empezar, necesita:

Conectar a Event Notifications en la interfaz de usuario

Antes de empezar a integrar Event Notifications con App Configuration, necesita una instancia de crear un servicio Event Notifications en la misma cuenta que su instancia de App Configuration. Asegúrese de que dispone de IAM role Manager para IBM App Configuration, y de IAM service-to-service authorization.

Si utiliza la CLI o la API de App Configuration para crear la integración con una instancia de servicio de Event Notifications, asegúrese de que ha habilitado la autorización para conceder acceso entre servicios antes de realizar la integración con Event Notifications. Para obtener más información, consulte Uso de autorizaciones para otorgar acceso entre servicios.

Para realizar la integración con un servicio Event Notifications, realice los pasos siguientes:

  1. En el panel de control de instancia de servicio de App Configuration, pulse Integraciones. De forma predeterminada, las integraciones muestran los servicios soportados junto con las integraciones en el servicio App Configuration actual.

  2. En el mosaico Event Notifications, pulse Conectar +. Esto muestra el panel lateral Conectar a Event Notifications.

    Crear Event Notifications
    Event Notifications

  3. Introduzca los datos de la fuente. Se hará referencia a los detalles de origen proporcionados en Event Notifications.

    • Nombre: especifique el nombre de la instancia de App Configuration a la que se hará referencia en Event Notifications.
    • Descripción-Opcionalmente, proporcione una breve descripción sobre este origen.
  4. Proporcione los siguientes detalles de instancia deEvent Notifications, si ya tiene una instancia de Event Notifications. De lo contrario, pulse Crear nueva instancia.

    • Grupo de recursos-Seleccione el grupo de recursos donde se crea la instancia de Event Notifications de la lista.
    • Instancia de servicio deEvent Notifications: seleccione la instancia de servicio de Event Notifications en la lista.
  5. Haga clic en Guardar para aplicar la integración.

    Se muestra un error si no se ha habilitado ninguna autorización de servicio a servicio de IAM y no se guardarán los detalles de integración.

Los detalles de Event Notifications integrados se listan en Instancia conectada.

El menú de desbordamiento de la instancia conectada consta de:

  • Renovar-Seleccione esta opción para renovar los detalles de la integración de instancias de Event Notifications.
  • Desconectar-Seleccione esta opción para desconectar la instancia de Event Notifications integrada anteriormente con la instancia de servicio de App Configuration.

Después de una integración satisfactoria, debe crear temas, destinos y suscripciones en Event Notifications para que se le notifique de los sucesos generados por la instancia de servicio de App Configuration. Para obtener más detalles, consulte la documentación deEvent Notifications.

Cuando cree un tema en la instancia de servicio de Event Notifications, siga estos pasos:

  • Seleccione el Origen como App Configuration.
  • Seleccione el Tipo de suceso en función de sus requisitos. Para obtener más información, consulte tipo de suceso.
  • Seleccione el Subtipo de suceso, que es opcional.
  • Seleccione la Gravedad, que es opcional.
  • Defina las Condiciones avanzadas, que son opcionales.

Utilización de autorizaciones para otorgar acceso entre servicios

Utilice IBM Cloud® Identity and Access Management (IAM) para crear o eliminar una autorización que otorgue a un servicio acceso a otro servicio. Utilice la delegación de autorización para crear automáticamente políticas de acceso que otorguen acceso a servicios dependientes.

Creación de una autorización en la consola

  1. En la consola de IBM Cloud, pulse Gestionar > Acceso (IAM) y seleccione Autorizaciones.

  2. Pulse Crear.

  3. Seleccione una cuenta de origen.

    • Si el servicio de origen que necesita acceso al servicio de destino está en esta cuenta, seleccione Esta cuenta.
    • Si el servicio de origen que necesita acceso al servicio de destino está en una cuenta diferente, seleccione Otra cuenta. A continuación, introduzca el ID de cuenta de la cuenta de origen.
  4. Seleccione un Servicio de origen como App Configuration.

  5. Especifique si desea que la autorización sea para todos los recursos o recursos basándose en los atributos seleccionados. Si ha seleccionado Recursos basados en atributos seleccionados, especifique Añadir atributos: sólo grupo de recursos de origen o sólo instancia de servicio de origen.

  6. Seleccione un Servicio de destino como Event Notifications.

  7. Para el servicio de destino, especifique si desea que la autorización sea para todas las instancias, sólo para una instancia específica de la cuenta o sólo para las instancias de un determinado grupo de recursos.

  8. Seleccione un rol para asignar acceso al servicio de origen que accede al servicio de destino.

  9. Pulse Autorizar.

Creación de una autorización utilizando la CLI

Para autorizar a un servicio de origen a acceder a un servicio de destino, ejecute el mandato ibmcloud iam authorization-policy-create.

Para obtener más información sobre todos los parámetros que están disponibles para este mandato, consulte ibmcloud iam authorization-policy-create.

Detalles de carga útil de notificación

Los eventos generados con éxito por App Configuration contienen varios campos que le ayudan a identificar la fuente y los detalles del evento.

{
  "data": {
    "changes": {
      "enabled": {
        "new_value": true,
        "old_value": false
      }
    },
    "metadata": {
      "environment_id": "production",
      "feature_id": "member-only-discount",
      "collections": [
        {
          "collection_id": "blue-charge"
        }
      ]
    }
  },
  "datacontenttype": "application/json",
  "en_source_id": "crn:v1:bluemix:public:apprapp:br-sao:a/dc420e985bb849d6b8352f71dac26ab8:c6d52ad4-adaa-492b-941b-daa9e8d63d3a::",
  "ibmendefaultlong": "The features \"Member only discount\" were updated in your IBM Cloud App Configuration instance.",
  "ibmendefaultshort": "Your features \"Member only discount\" were updated",
  "ibmensourceid": "crn:v1:bluemix:public:apprapp:br-sao:a/dc420e985bb849d6b8352f71dac26ab8:c6d52ad4-adaa-492b-941b-daa9e8d63d3a::",
  "id": "appconfig-txid-fb62ce40175c1b2426b491843d9cbce4",
  "notification_id": "5b5473f5-802d-4562-a859-9d31e7699443",
  "source": "IBM Cloud App Configuration Feature flags",
  "specversion": "1.0",
  "subject": "Member only discount",
  "time": "2026-03-06T05:12:25Z",
  "type": "com.ibm.cloud.apprapp.feature_flags.features:update"
}

Revise la tabla siguiente para obtener más información sobre las propiedades de notificación de sucesos.

Campos obligatorios

Campos obligatorios en la carga útil de las notificaciones de incidentes
Propiedad Descripción
subject El asunto de la notificación. El asunto es el nombre del recurso, como el nombre del entorno, el nombre del indicador de función, el nombre de la colección, el nombre del segmento o el nombre de gitconfig.
type El tipo de evento junto con un subtipo opcional.
ibmendefaultshort Breve descripción legible por humanos de la notificación.
ibmendefaultlong Descripción larga y legible de la notificación.
en_source_id Igual que ibmensourceid.
source La fuente de la notificación. Este valor es siempre el mismo.
ibmensourceid La identificación de la fuente. Igual que el ID de origen de la instancia de servicio Event Notifications en la que se crea la integración.
notification_id Identificador añadido por Event Notifications para la trazabilidad de las notificaciones.
id Identificador añadido por App Configuration para el seguimiento de notificaciones.
specversion Versión de la carga útil de la notificación.
time Hora a la que el servicio App Configuration creó la notificación.

Campos opcionales

Campos opcionales en la carga útil de las notificaciones de sucesos
Propiedad Descripción
datacontenttype El tipo de contenido del campo de datos.
data El contenido legible por máquina es un formato json que especifica más detalles sobre la notificación. Tiene un formato fijo para las acciones de crear, actualizar y eliminar respectivamente. Consulte los ejemplos de campos de datos para cada uno de los recursos.

Ejemplos de campos de datos

En las siguientes secciones se ofrecen ejemplos de la estructura de campos de data para distintos tipos y subtipos de sucesos.

Configuración de recursos

Tipo de suceso: com.ibm.cloud.apprapp.config_aggregator.resource_config

{
  "account_id": "4f631ea3b3204b2b878a295604994acf",
  "service_name": "kms",
  "config_type": "key",
  "type_id": "crn:v1:bluemix:public:kms:au-syd:a/4f631ea3b3204b2b878a295604994acf:a3d454ea-38f4-4ae1-92e1-6a4aaac24e14:key:8a429ea2-ae32-4253-8233-a533fb5d4b14",
  "resource_crn": "crn:v1:bluemix:public:kms:au-syd:a/4f631ea3b3204b2b878a295604994acf:a3d454ea-38f4-4ae1-92e1-6a4aaac24e14::",
  "last_config_refresh_time": "2026-02-03T14:18:50Z",
  "apprapp_instance_crn": "crn:v1:bluemix:public:apprapp:br-sao:a/4f631ea3b3204b2b878a295604994acf:73446d14-0098-43af-8450-4b338833d0e7::"
}
Entornos

Tipo de suceso: com.ibm.cloud.apprapp.feature_flags.environments

Crear

{
  "name": "Prod",
  "environment_id": "prod",
  "tags": "v1,v2",
  "description": "Production environment of Blue charge application",
  "color_code": "#FDD13A"
}

Actualizar

Los campos de metadatos siempre están presentes.

{
  "metadata": {
    "environment_id": "prod"
  },
  "changes": {
    "name": {
      "old_value": "Production",
      "new_value": "Production us-south-1"
    },
    "description": {
      "old_value": "My prod environment",
      "new_value": "us-south-1 prod environment"
    },
    "color_code": {
      "old_value": "#111111",
      "new_value": "#000000"
    },
    "tags": {
      "old_value": "v1,v2",
      "new_value": "1.0"
    }
  }
}

Suprimir

{
  "environment_id": "prod"
}
Recopilaciones

Tipo de suceso: com.ibm.cloud.apprapp.feature_flags.collections

Crear

{
  "name": "Blue charge",
  "collection_id": "blue-charge",
  "description": "Collection for Blue charge application",
  "tags": "v-1"
}

Actualizar

Los campos de metadatos siempre están presentes.

{
  "metadata": {
    "collection_id": "blue-charge"
  },
  "changes": {
    "name": {
      "old_value": "Blue charge",
      "new_value": "My blue charge app"
    },
    "description": {
      "old_value": "my old description",
      "new_value": "my new description"
    },
    "tags": {
      "old_value": "v1",
      "new_value": "v2"
    }
  }
}

Suprimir

{
  "collection_id": "blue-charge"
}
Características

Tipo de suceso: com.ibm.cloud.apprapp.feature_flags.features

Crear

Contiene el atributo adicional environment_id. No contiene el atributo segment_rules.

{
  "name": "Member only discount",
  "feature_id": "member-only-discount",
  "type": "NUMERIC",
  "enabled_value": 10,
  "disabled_value": 0,
  "enabled": true,
  "rollout_percentage": 100,
  "collections": [
    {
      "collection_id": "blue-charge"
    },
    {
      "collection_id": "web-app"
    }
  ],
  "environment_id": "dev"
}

Actualizar

Los campos de metadatos siempre están presentes. No contiene el atributo segment_rules.

{
  "metadata": {
    "feature_id": "member-only-discount",
    "environment_id": "prod",
    "collections": [
      {
        "collection_id": "blue-charge"
      },
      {
        "collection_id": "web-app"
      }
    ]
  },
  "changes": {
    "rollout_percentage": {
      "old_value": 88,
      "new_value": 44
    },
    "name": {
      "old_value": "discount",
      "new_value": "member only discount"
    },
    "description": {
      "old_value": "new description",
      "new_value": "old description"
    },
    "enabled_value": {
      "old_value": 10,
      "new_value": 5
    },
    "disabled_value": {
      "old_value": 0,
      "new_value": -1
    },
    "enabled": {
      "old_value": false,
      "new_value": true
    },
    "tags": {
      "old_value": "v1",
      "new_value": "v1,e1"
    }
  }
}

Suprimir

{
  "feature_id": "member-only-discount"
}
Reglas sobre dispositivos

Tipo de suceso: com.ibm.cloud.apprapp.feature_flags.feature_rules

Crear

Contiene atributos adicionales environment_id, feature_id, y collections. No contiene el atributo rules.

{
  "rule_name": "Rule 4",
  "rule_id": "rule_4",
  "value": 12,
  "order": 4,
  "rollout_percentage": 100,
  "environment_id": "dev",
  "feature_id": "f1",
  "collections": [
    {
      "collection_id": "blue-charge"
    }
  ]
}

Actualizar

Los campos de metadatos siempre están presentes. No contiene el atributo rules.

{
  "metadata": {
    "rule_id": "rule_4",
    "feature_id": "member-only-discount",
    "environment_id": "prod",
    "collections": [
      {
        "collection_id": "blue-charge"
      },
      {
        "collection_id": "web-app"
      }
    ]
  },
  "changes": {
    "rollout_percentage": {
      "new_value": 100,
      "old_value": 50
    },
    "rule_name": {
      "new_value": "My Rule 4",
      "old_value": "Rule 4"
    },
    "value": {
      "new_value": 56,
      "old_value": 12
    }
  }
}

Suprimir

{
  "environment_id": "prod",
  "feature_id": "member-only-discount",
  "rule_id": "rule_4",
  "collections": [
    {
      "collection_id": "blue-charge"
    }
  ]
}
Propiedades

Tipo de suceso: com.ibm.cloud.apprapp.feature_flags.properties

Crear

Contiene el atributo adicional environment_id. No contiene el atributo segment_rules.

{
  "name": "Deployment replicas",
  "property_id": "deployment-replicas",
  "description": "Replicas for springboot server",
  "tags": "v1",
  "type": "NUMERIC",
  "value": 5,
  "collections": [
    {
      "collection_id": "blue-charge"
    },
    {
      "collection_id": "web-app"
    }
  ],
  "environment_id": "prod"
}

Actualizar

Los campos de metadatos siempre están presentes. No contiene el atributo segment_rules.

{
  "metadata": {
    "environment_id": "prod",
    "property_id": "replicas",
    "collections": [
      {
        "collection_id": "blue-charge"
      },
      {
        "collection_id": "web-app"
      }
    ]
  },
  "changes": {
    "description": {
      "old_value": "old description",
      "new_value": "new description"
    },
    "value": {
      "old_value": 3,
      "new_value": 2
    },
    "name": {
      "old_value": "Replicas",
      "new_value": "Replicas for springboot server"
    },
    "tags": {
      "old_value": "v1",
      "new_value": "version: 1.1, pre-release"
    }
  }
}

Suprimir

{
  "property_id": "my-hostname-port"
}
Segmentos

Tipo de suceso: com.ibm.cloud.apprapp.feature_flags.segments

No contiene el atributo rules.

Crear

{
  "name": "IBMers",
  "segment_id": "ibmers",
  "description": "List of IBMers",
  "tags": "internal,v1"
}

Actualizar

No contiene el atributo rules.

{
  "metadata": {
    "segment_id": "ibmers"
  },
  "changes": {
    "description": {
      "old_value": "List of IBMers",
      "new_value": "IBMers list"
    },
    "tags": {
      "old_value": "v-3",
      "new_value": "in,cn"
    }
  }
}

Suprimir

{
  "segment_id": "ibmers"
}
Gitconfigs

Tipo de suceso: com.ibm.cloud.apprapp.feature_flags.gitconfigs

Crear

{
  "collection_id": "blue-charge",
  "environment_id": "prod",
  "git_branch": "main",
  "git_config_id": "test",
  "git_config_name": "test",
  "git_file_path": "backup.json",
  "git_url": "git_project_url"
}

Actualizar

{
  "metadata": {
    "collection_id": "blue-charge",
    "environment_id": "prod",
    "git_config_id": "test"
  },
  "changes": {
    "git_file_path": {
      "old_value": "backup.json",
      "new_value": "bcdr-apr-2026.json"
    },
    "git_config_name": {
      "old_value": "new test",
      "new_value": "test"
    }
  }
}

Suprimir

{
  "git_config_id": "test"
}
Originconfigs

Tipo de suceso: com.ibm.cloud.apprapp.feature_flags.originconfigs

Actualizar

{
  "changes": {
    "allowed_origins": {
      "old_value": "[https://www.bluecharge.com, https://blog.hubspot.com, http://localhost:3000]",
      "new_value": "[https://www.bluecharge.com, https://blog.hubspot.com, http://localhost:3000, https://feature-rbk-5270.release-builder-kit.nonprod.xyz.com, http://localhost:8013]"
    }
  }
}
Integraciones

Tipo de suceso: com.ibm.cloud.apprapp.feature_flags.integrations

Conectado y desconectado

{
  "integration_id": "lckkhp34t",
  "integration_type": "EVENT_NOTIFICATIONS",
  "metadata": "{\"event_notifications_endpoint\": \"https://us-south.event-notifications.cloud.ibm.com\", \"event_notifications_source_id\": \"crn:v1:bluemix:public:apprapp:br-sao:a/dc420e985bb849d6b8352f71dac26ab8:c6d52ad4-adaa-492b-941b-daa9e8d63d3a::\", \"event_notifications_instance_crn\": \"crn:v1:bluemix:public:event-notifications:us-south:a/dc420e985bb849d6b8352f71dac26ab8:eae2796f-510b-4ffd-b534-6de0d2b916a8::\"}"
}
Gitconfig promover

Tipo de suceso: com.ibm.cloud.apprapp.feature_flags.gitconfig_promote

{
  "metadata": {
    "collection_id": "blue-charge",
    "environment_id": "prod",
    "git_config_id": "test"
  },
  "changes": {
    "git_commit_id": "897fba998c600c1198a0786a96156",
    "git_commit_message": "custom config data written from App config instance",
    "last_sync_time": "2026-03-04T23:47:16Z"
  }
}
Restauración de Gitconfig

Tipo de suceso: com.ibm.cloud.apprapp.feature_flags.gitconfig_restore

No contiene el atributo changes.

{
  "metadata": {
    "collection_id": "blue-charge",
    "environment_id": "prod",
    "git_config_id": "test"
  }
}