Abilitazione delle notifiche eventi per i progetti

In qualità di amministratore di progetti, è possibile inviare notifiche di eventi in progetti ad altri utenti o destinazioni umane, utilizzando email, SMS o altri canali di distribuzione supportati. Potresti voler inviare queste notifiche di eventi ad altre applicazioni per creare la logica utilizzando la programmazione basata su eventi utilizzando, ad esempio, i webhook. Ciò è reso possibile dall'integrazione tra i progetti e IBM Cloud® Event Notifications.

Per inviare informazioni a Event Notifications, devi connettere la tua istanza dei progetti a Event Notifications. Per ulteriori informazioni sull'utilizzo di Event Notifications, vedi Introduzione a Event Notifications.

Modalità di raccolta e invio degli eventi da parte dei progetti

Quando si verifica un evento di interesse nella tua istanza del progetto, i progetti comunicano con un'istanza Event Notifications connessa per inoltrare una notifica a una destinazione supportata. Gli eventi vengono generati in base ad azioni che gli utenti eseguono all'interno del progetto. Ad esempio, se la convalida di una configurazione ha esito positivo, viene generato un evento per notificare agli utenti questa azione.

Eventi per progetti

La tabella seguente elenca gli eventi dei progetti.

Azioni che generano notifiche di eventi nei progetti
Tipo di evento Descrizione
check.pipeline.failed Convalida delle modifiche non riuscita. Un evento viene generato quando una convalida ha esito negativo.
config.install-job.failed Le modifiche non sono state distribuite. Un evento viene generato quando una distribuzione dell'architettura non riesce.
config.uninstall-job.failed Eliminazione risorse non riuscita. Un evento viene generato quando l'azione di eliminazione delle risorse di configurazione non riesce.
check.pipeline.ready Le modifiche richiedono approvazione. Un evento viene generato quando le ultime modifiche richiedono l'approvazione.
config.version.available È disponibile un aggiornamento della versione. Un evento viene generato quando è disponibile una nuova versione di un'architettura distribuibile.
config.defn.updated Le modifiche sono pronte per essere distribuite. Un evento viene generato quando una configurazione viene aggiornata nel progetto.
config.install-job.succeeded Distribuzione completata. Un evento viene generato quando una configurazione viene distribuita correttamente.
config.uninstall-job.succeeded Eliminazione delle risorse completata. Un evento viene generato quando le risorse distribuite vengono eliminate correttamente.

Abilitazione delle notifiche

Gli eventi generati da un'istanza del servizio Progetti IBM Cloud possono essere inoltrati a un'istanza del servizio Event Notifications disponibile nello stesso account.

Connessione a Event Notifications nella console

Prima di poter abilitare le notifiche per i progetti, assicurarsi di avere un'istanza del servizioEvent Notifications che sia nello stesso account dell'istanza dei progetti. Quindi, è possibile connettersi al servizio Event Notifications da Gestione > Integrazioni nel progetto.

  1. Nella console, fare clic sull'icona Menu di navigazione icona Menu di navigazione > Progetti.

  2. Seleziona il progetto che desideri connettere a Event Notifications.

  3. Fare clic su Gestione > Integrazioni.

  4. Nella sezione dell'istanza connessa, fare clic su Connetti.

  5. Aggiungere un nome alla connessione e facoltativamente fornire una descrizione.

  6. Seleziona il gruppo di risorse e l'istanza del servizio Event Notifications che vuoi collegare.

    Se un'autorizzazione IAM tra i progetti e Event Notifications non esiste nel tuo account, viene visualizzata una finestra di dialogo. Seguire le richieste per concedere l'accesso tra i servizi.

    1. Per concedere l'accesso tra i progetti e Event Notifications, fai clic su Authorize.
    2. Seleziona Event Notifications come servizio di destinazione.
    3. Dall'elenco di istanze, selezionare l'istanza del servizio Event Notifications che si desidera autorizzare.
    4. Selezionare il ruolo Gestore origine eventi.
    5. Fare clic su Rivedi.
    6. Fai clic su Assegna.
  7. Fare clic su Salva.

Connessione a Event Notifications con l'API

Prima di poter abilitare le notifiche per i progetti, assicurarsi di avere un'istanza del servizioEvent Notifications che sia nello stesso account dell'istanza dei progetti. Puoi quindi connetterti a Event Notifications in modo programmatico richiamando l'API dei progetti.

Il seguente esempio mostra una query che puoi utilizzare per registrare i dettagli dell'origine dei tuoi progetti con Event Notifications. Quando richiami l'API, sostituisci le variabili ID e il token IAM con i valori specifici della tua istanza di progetto.

Puoi trovare il valore event_notifications_instance_crn nella console andando alla pagina di elenco delle risorse e facendo clic sulla riga dell'istanza Event Notifications.

[immettere qui l'esempio API]

Una risposta corretta restituisce il valore del CRN della tua istanza del servizio Event Notifications connessa. Per ulteriori informazioni sui parametri di richiesta obbligatori e facoltativi, consulta la documentazione API.

Consegna di notifiche a destinazioni selezionate

Dopo aver abilitato le notifiche per i progetti, crea argomenti e sottoscrizioni in Event Notifications in modo che gli avvisi possano essere inoltrati e consegnati alle destinazioni selezionate.

Per un elenco completo delle destinazioni supportate, vedi la documentazione Event Notifications.

Notifiche email

Puoi utilizzare il servizio emailIBM Cloud come canale di consegna per notifiche di eventi di progetti. Crea una sottoscrizione Event Notifications tra un argomento esistente e il servizio email IBM Cloud per inoltrare i tuoi avvisi a diversi destinatari tramite email.

Un'email da IBM Cloud che contiene informazioni su un evento del progetto è simile al seguente esempio:

Subject: Validation successful for terrafrom-1234567890-a12a triggered by IBMid-12345ABCD1
Body: Validation is complete. Review and approve the validation results to deploy the changes.
    Project Service event details:
    Type: check.pipeline.succeeded
    Target: Config terrafrom-1234567890-a12a for Project example-email-notification-project
    Source: pipelinerun-123ab1ab-1a1a-1a11-1a12-ac1a1a12a12a
    Triggered by: IBMid-12345ABCD1
    Action URL: https://cloud.ibm.com/devops/pipelines/example
    Date: Fri April 10 2023 09:15:08 GMT-0500 (Eastern Standard Time)

Per ricevere informazioni dettagliate su una notifica evento nella tua e-mail, seleziona l'opzione Add notification payload quando crei una sottoscrizione Event Notifications. La tua email visualizza i dettagli del payload di notifica associati all'evento.

Webhook

Puoi configurare una destinazione webhook in modo che una notifica in entrata possa essere utilizzata in modo programmatico da un'applicazione o un servizio. Per ulteriori informazioni sulla configurazione dei webhook, consulta la documentazione diEvent Notifications.

Dettagli payload di notifica

Gli eventi riusciti generati dai progetti contengono vari campi che consentono di identificare l'origine e i dettagli di un evento.

Le notifiche di eventi dai progetti contengono solo proprietà di metadati, come nomi o identificatori di risorse. I dati sensibili, ad esempio le chiavi API o le password, non sono inclusi negli eventi generati.

Le proprietà inviate a Event Notifications variano a seconda del tipo di evento. Ad esempio, se si verifica un evento check.pipeline.succeeded, i progetti inviano un payload di notifica a Event Notifications simile al seguente esempio.

{
      "_id": "a7110265-88e5-4fda-8686-ae4d5bb3f86a",
      "event": "check.pipeline.succeeded",
      "target": "639d4201-8cf9-4e29-b076-5129b6a3f839:1:true",
      "source": "d1542c4b-533c-4276-9272-00ce5134a7a3",
      "triggered_by": "IBMid-test-notification",
      "action_url": "https://cloud.ibm.com/schematics/workspaces/us-south.workspace.projects-service.e7de98e8/jobs?region=us",
      "severity": "INFO",
      "timestamp": "2023-04-10T16:00:43.195Z"
}

Esaminare la seguente tabella per ulteriori informazioni sulle proprietà di notifica eventi.

Proprietà nel payload di una notifica di evento
Proprietà Descrizione
event_sub_type Il sottotipo che corrisponde al tipo di evento che ha attivato una notifica.
event_type Il tipo di evento che ha attivato una notifica.
source_instance_api_url L'endpoint dedicato URL assegnato all'istanza del servizio IBM Cloud Projects.
source_instance_crn Il Cloud Resource Name (CRN) che identifica in modo univoco l'istanza del servizio IBM Cloud Projects.
source_instance_dashboard_url L'indirizzo URL della dashboard del servizio IBM Cloud Projects nella console.
source_service Il nome di visualizzazione del servizio che ha inviato la notifica eventi.