Concetti di notifica - Console Strumenti di sviluppo

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Concetti di notifica

La configurazione e l'utilizzo delle notifiche risultano più semplici se si comprendono i concetti e i termini. Di seguito sono riportati alcuni concetti che occorre conoscere quando si utilizzano le notifiche.

Notifiche

Una notifica è un messaggio che contiene informazioni sugli eventi che si verificano nelle risorse utilizzate da te e dagli sviluppatori. Puoi configurare le notifiche in modo che gli utenti di una risorsa, ad esempio un progetto di compilazione, un repository, un'applicazione di distribuzione o una pipeline, ricevano e-mail sui tipi di eventi specificati in base alla regola di notifica creata.

Le notifiche per AWS CodeCommit possono contenere informazioni sull'identità utente, ad esempio il nome visualizzato o un indirizzo e-mail, tramite l'uso di tag di sessione. CodeCommit supporta l'uso di tag di sessione, che sono attributi di coppia chiave-valore che vengono passati quando si assume un ruolo IAM, si utilizzano credenziali temporanee o si esegue la federazione di un utente in AWS Security Token Service (AWS STS). È inoltre possibile associare tag a un utente IAM. CodeCommit include i valori per displayName e emailAddress nel contenuto delle notifiche se tali tag sono presenti. Per ulteriori informazioni, vedi Utilizzo dei tag per fornire ulteriori informazioni sull'identità in CodeCommit.

Importante

Le notifiche includono informazioni specifiche del progetto, ad esempio lo stato delle compilazioni e delle distribuzioni, le righe di codice con commenti e le approvazioni della pipeline. Il contenuto delle notifiche potrebbe cambiare man mano che vengono aggiunte nuove caratteristiche. Come best practice per la sicurezza, è necessario esaminare regolarmente i destinatari delle regole di notifica e gli iscritti agli argomenti Amazon SNS. Per ulteriori informazioni, consulta Comprendere contenuti e sicurezza delle notifiche.

Regole di notifica

Una regola di notifica è una risorsa AWS creata per specificare quando e dove vengono inviate le notifiche. Definisce:

  • Le condizioni in base alle quali viene creata una notifica. Queste condizioni sono basate su eventi scelti dall'utente, che sono specifici per il tipo di risorsa. I tipi di risorse supportati includono progetti di compilazione in AWS CodeBuild, applicazioni di distribuzione in AWS CodeDeploy, pipeline in AWS CodePipeline e repository in AWS CodeCommit.

  • Le destinazioni a cui viene inviata la notifica. Puoi specificare fino a 10 destinazioni per una regola di notifica.

Le regole di notifica sono rivolte a singoli progetti di compilazione, applicazioni di distribuzione, pipeline e repository. Le regole di notifica dispongono di nomi descrittivi definiti dall'utente e Amazon Resource Name (ARN). Le regole di notifica devono essere create nella stessa regione AWS in cui esiste la risorsa. Ad esempio, se il progetto di compilazione si trova nella regione Stati Uniti orientali (Ohio), anche la regola di notifica deve essere creata nella regione Stati Uniti orientali (Ohio).

Puoi definire fino a 10 regole di notifica per una risorsa.

Eventi

Un evento è una modifica dello stato di una risorsa che desideri monitorare. Ogni risorsa dispone di un elenco di tipi di eventi tra cui puoi scegliere. Quando configuri una regola di notifica su una risorsa, specifichi gli eventi che causano l'invio delle notifiche. Ad esempio, se configuri le notifiche per un repository in CodeCommit e selezioni Created (Creato) per Pull request (Richiesta pull) e Branches and tags (Rami e tag), una notifica viene inviata ogni volta che un utente nel repository crea una richiesta pull, un ramo o un tag Git.

Tipi di dettaglio

Quando crei una regola di notifica, puoi scegliere il livello di dettaglio o il tipo di dettaglio incluso nelle notifiche (Full (Completo) o Basic (Di base)). L'impostazione Full (Completo) (valore predefinito) include tutte le informazioni disponibili per l'evento nella notifica, incluse le informazioni avanzate fornite dai servizi per eventi specifici. L'impostazione Basic (Di base) include solo un sottoinsieme delle informazioni disponibili.

Nella tabella seguente sono elencate le informazioni avanzate disponibili per i tipi di eventi specifici e vengono descritte le differenze tra i tipi di dettaglio.

Servizio Evento Full (Completo) include Basic (Di base) non include

CodeCommit

Commenti sui commit

Commenti sulle richieste pull

Tutti i dettagli dell'evento e il contenuto del commento, comprese eventuali risposte o thread di commento. Include anche il numero di riga e la riga di codice su cui è stato fatto il commento.

Il contenuto del commento, il numero di riga, la riga di codice o qualsiasi thread di commento.

CodeCommit

Richiesta pull creata

Tutti i dettagli dell'evento e il numero di file aggiunti, modificati o eliminati nella richiesta pull in relazione al ramo di destinazione.

Nessun elenco di file o dettagli sul fatto che il ramo di origine della richiesta pull abbia aggiunto, modificato o eliminato i file.

CodePipeline

Approvazione manuale necessaria

Tutti i dettagli dell'evento e i dati personalizzati (se configurati). La notifica include anche un collegamento all'approvazione richiesta nella pipeline.

Nessun collegamento o dato personalizzato.

CodePipeline

Esecuzione dell'operazione non riuscita

Esecuzione della pipeline non riuscita

Esecuzione della fase non riuscita

Tutti i dettagli dell'evento e il contenuto del messaggio di errore per l'errore.

Nessun contenuto di messaggio di errore.

Targets (Destinazioni)

Una destinazione è una posizione per la ricezione delle notifiche dalle regole di notifica. I tipi di destinazione consentiti sono argomenti Amazon SNS e client AWS Chatbot configurati per i canali Slack o Microsoft Teams. Qualsiasi utente che ha effettuato l'iscrizione alla destinazione riceve le notifiche sugli eventi specificati nella regola di notifica.

Se si desidera estendere la copertura delle notifiche, è possibile configurare manualmente l'integrazione tra le notifiche e AWS Chatbot in modo che le notifiche vengano inviate alle chat room Amazon Chime. È quindi possibile scegliere l'argomento Amazon SNS configurato per il client AWS Chatbot come destinazione per la regola di notifica. Per ulteriori informazioni, consulta Per integrare le notifiche con AWS Chatbot e Amazon Chime.

Se come destinazione si sceglie di utilizzare un client AWS Chatbot, è innanzitutto necessario creare il client in AWS Chatbot. Quando si sceglie un client AWS Chatbot come destinazione per una regola di notifica, per tale client AWS Chatbot viene configurato un argomento Amazon SNS con tutte le policy necessarie per l'invio delle notifiche al canale Slack o Microsoft Teams. Non è necessario configurare argomenti Amazon SNS esistenti per il client AWS Chatbot.

Puoi scegliere di creare un argomento Amazon SNS come destinazione come parte della creazione di una regola di notifica (scelta consigliata). Puoi inoltre scegliere un argomento Amazon SNS esistente nella stessa regione AWS della regola di notifica, ma devi configurarlo con la policy richiesta. L'argomento Amazon SNS utilizzato per una destinazione deve trovarsi nell'account AWS. Deve inoltre trovarsi nella stessa regione AWS della regola di notifica e della risorsa AWS per la quale è stata creata la regola.

Ad esempio, se crei una regola di notifica per un repository nella regione Stati Uniti orientali (Ohio), l'argomento Amazon SNS deve esistere anche in tale regione. Se crei un argomento Amazon SNS durante la creazione di una regola di notifica, l'argomento viene configurato con la policy necessaria per consentire la pubblicazione degli eventi nell'argomento. Questo è il metodo migliore per lavorare con le destinazioni e le regole di notifica. Se scegli di utilizzare un argomento già esistente o di crearne uno manualmente, è necessario configurarlo con le autorizzazioni richieste prima che gli utenti ricevano le notifiche. Per ulteriori informazioni, consulta Configura gli argomenti di Amazon SNS per le notifiche.

Nota

Se desideri utilizzare un argomento Amazon SNS esistente invece di crearne uno nuovo, in Targets (Destinazioni), scegli il relativo ARN. Assicurati che l'argomento disponga delle policy di accesso appropriate e che l'elenco degli iscritti contenga solo gli utenti autorizzati a visualizzare le informazioni sulla risorsa. Se l'argomento Amazon SNS è stato usato per le notifiche CodeCommit prima del 5 novembre 2019, conterrà una policy che consente a CodeCommit di pubblicare e che contiene autorizzazioni diverse da quelle richieste per AWS CodeStar Notifications. L'utilizzo di questi argomenti è sconsigliato. Se desideri utilizzarne uno per l'esperienza, è necessario aggiungere la policy richiesta per AWS CodeStar Notifications oltre a quella che esiste già. Per ulteriori informazioni, consulta Configura gli argomenti di Amazon SNS per le notifiche e Comprendere contenuti e sicurezza delle notifiche.

Notifiche e AWS CodeStar Notifications

Come caratteristica della console Strumenti per sviluppatori, le notifiche hanno una propria API, ovvero AWS CodeStar Notifications. Hanno anche un proprio tipo di risorsa AWS (regole di notifica), autorizzazioni ed eventi. Gli eventi per le regole di notifica vengono registrati in AWS CloudTrail. Le operazioni API possono essere consentite o negate tramite le policy IAM.

Eventi per regole di notifica su repository

Categoria Eventi ID evento

Commenti

Sui commit

Su richieste pull

codecommit-repository-comments-on-commits

codecommit-repository-comments-on-pull-requests

Approvazioni

Stato modificato

Sostituzione delle regole

codecommit-repository-approvals-status-changed

codecommit-repository-approvals-rule-override

Richiesta pull

Creato

Origine aggiornata

Stato modificato

Unito

codecommit-repository-pull-request-created

codecommit-repository-pull-request-source-updated

codecommit-repository-pull-request-status-changed

codecommit-repository-pull-request-merged

Rami e tag

Creato

Deleted (Eliminato)

Aggiornato

codecommit-repository-branches-and-tags-created

codecommit-repository-branches-and-tags-deleted

codecommit-repository-branches-and-tags-updated

Eventi per regole di notifica su progetti di compilazione

Categoria Eventi ID evento

Stato di compilazione

Failed (Non riuscito)

Riuscito

In corso

Stopped (Arrestato)

codebuild-project-build-state-failed

codebuild-project-build-state-succeeded

codebuild-project-build-state-in-progress

codebuild-project-build-state-stopped

Fase di compilazione

Errore

Success (Riuscito)

codebuild-project-build-phase-failure

codebuild-project-build-phase-success

Eventi per le regole di notifica sulle applicazioni di implementazione

Categoria Eventi ID evento

Distribuzione

Failed (Non riuscito)

Riuscito

Avviato

codedeploy-application-deployment-failed

codedeploy-application-deployment-succeeded

codedeploy-application-deployment-started

Eventi per regole di notifica su pipeline

Categoria Eventi ID evento

Esecuzione dell'operazione

Riuscito

Failed (Non riuscito)

Annullato

Avviato

codepipeline-pipeline-action-execution-succeeded

codepipeline-pipeline-action-execution-failed

codepipeline-pipeline-action-execution-canceled

codepipeline-pipeline-action-execution-started

Esecuzione della fase

Avviato

Riuscito

Ripristinato

Annullato

Failed (Non riuscito)

codepipeline-pipeline-stage-execution-started

codepipeline-pipeline-stage-execution-succeeded

codepipeline-pipeline-stage-execution-resumed

codepipeline-pipeline-stage-execution-canceled

codepipeline-pipeline-stage-execution-failed

Esecuzione pipeline

Failed (Non riuscito)

Annullato

Avviato

Ripristinato

Riuscito

Sostituito

codepipeline-pipeline-pipeline-execution-failed

codepipeline-pipeline-pipeline-execution-canceled

codepipeline-pipeline-pipeline-execution-started

codepipeline-pipeline-pipeline-execution-resumed

codepipeline-pipeline-pipeline-execution-succeeded

codepipeline-pipeline-pipeline-execution-superseded

Approvazione manuale

Failed (Non riuscito)

Necessario

Riuscito

codepipeline-pipeline-manual-approval-failed

codepipeline-pipeline-manual-approval-needed

codepipeline-pipeline-manual-approval-succeeded