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.
| 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.
-
Nella console, fare clic sull'icona Menu di navigazione
> Progetti.
-
Seleziona il progetto che desideri connettere a Event Notifications.
-
Fare clic su Gestione > Integrazioni.
-
Nella sezione dell'istanza connessa, fare clic su Connetti.
-
Aggiungere un nome alla connessione e facoltativamente fornire una descrizione.
-
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.
- Per concedere l'accesso tra i progetti e Event Notifications, fai clic su Authorize.
- Seleziona Event Notifications come servizio di destinazione.
- Dall'elenco di istanze, selezionare l'istanza del servizio Event Notifications che si desidera autorizzare.
- Selezionare il ruolo Gestore origine eventi.
- Fare clic su Rivedi.
- Fai clic su Assegna.
-
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à | 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. |