Concepts de notification - Console Outils pour développeur

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Concepts de notification

Vous trouverez la configuration et l'utilisation des notifications plus simples si vous comprenez les concepts et les termes. Voici quelques concepts à connaître lorsque vous utilisez les notifications.

Notifications

Une notification est un message qui contient des informations sur les événements qui se produisent dans les ressources que vous et vos développeurs utilisez. Vous pouvez configurer des notifications afin que les utilisateurs d'une ressource, comme un projet de génération, un référentiel, une application de déploiement ou un pipeline, reçoivent des e-mails sur les types d'événements que vous spécifiez en fonction de la règle de notification que vous créez.

Les notifications pour AWS CodeCommit peuvent contenir des informations sur l'identité de l'utilisateur, telles qu'un nom complet ou une adresse e-mail, grâce à l'utilisation de balises de session. CodeCommit prend en charge l'utilisation de balises de session, qui sont des attributs de paire clé-valeur que vous transmettez lorsque vous assumez un rôle IAM, utilisez les informations d'identification temporaires ou fédérez un utilisateur dans AWS Security Token Service (AWS STS). Vous pouvez également associer des balises à un utilisateur IAM. CodeCommit inclut les valeurs pour displayName et emailAddress dans le contenu de notification si ces balises sont présentes. Pour plus d'informations, consultez Utilisation de balises pour fournir des informations d'identité supplémentaires dans CodeCommit.

Important

Les notifications incluent des informations spécifiques au projet, telles que les statuts de génération et de déploiement, les lignes de code contenant des commentaires et les approbations de pipeline. Le contenu des notifications peut changer à mesure que de nouvelles fonctionnalités sont ajoutées. En tant que bonne pratique en matière de sécurité, vous devriez examiner régulièrement les cibles des règles de notification et les abonnés de la rubrique Amazon SNS. Pour de plus amples informations, veuillez consulter Présentation du contenu des notifications et de la sécurité.

Règles de notification

Une règle de notification est une ressource AWS que vous créez pour spécifier quand et où les notifications sont envoyées. Elle définit :

  • Les conditions dans lesquelles une notification est créée. Ces conditions sont basées sur les événements que vous choisissez, qui sont spécifiques au type de ressource. Les types de ressources pris en charge incluent les projets de génération dans AWS CodeBuild, les applications de déploiement dans AWS CodeDeploy, les pipelines dans AWS CodePipeline et les référentiels dans AWS CodeCommit.

  • Les cibles auxquelles la notification est envoyée. Vous pouvez spécifier jusqu'à 10 cibles pour une règle de notification.

Les règles de notification sont étendues aux projets de construction individuels, aux applications de déploiement, aux pipelines et aux référentiels. Les règles de notification ont des noms conviviaux définis par l'utilisateur et des noms ARN (Amazon Resource Name). Les règles de notification ne peuvent être créées que dans la même région AWS que celle où la ressource existe. Par exemple, si votre projet de génération se trouve dans la région USA Est (Ohio), votre règle de notification doit également être créée dans la région USA Est (Ohio).

Vous pouvez définir jusqu'à 10 règles de notification pour une ressource.

Événements

Un événement est un changement d'état sur une ressource que vous souhaitez surveiller. Chaque ressource possède une liste de types d'événements que vous pouvez choisir. Lorsque vous configurez une règle de notification sur une ressource, vous spécifiez les événements qui entraîneront l'envoi de notifications lorsqu'ils se produiront. Par exemple, si vous configurez des notifications pour un référentiel dans CodeCommit et que vous sélectionnez Created (Créé) pour Pull request (Demande d'extraction) et Branches and tags (Branches et balises), une notification est envoyée chaque fois qu'un utilisateur de ce référentiel crée une demande d'extraction, une branche ou une balise Git.

Types de détails

Lorsque vous créez une règle de notification, vous pouvez choisir le niveau de détail ou le type de détail inclus dans les notifications (Total ou Basique). Le paramètre Total (valeur par défaut) inclut toutes les informations disponibles pour l'événement dans la notification, y compris toute information améliorée fournie par les services pour des événements spécifiques. Le paramètre Basique inclut uniquement un sous-ensemble des informations disponibles.

Le tableau suivant répertorie les informations améliorées disponibles pour des types d'événements spécifiques et décrit les différences entre les types de détails.

Service Événement L'option Total inclut L'option Basique n'inclut pas

CodeCommit

Commentaires sur les validations

Commentaires sur les demandes d'extraction

Tous les détails de l'événement et le contenu du commentaire, y compris les réponses ou les fils de commentaires. Il comprend également le numéro de ligne et la ligne de code sur laquelle le commentaire a été fait.

Le contenu du commentaire, numéro de ligne, ligne de code, ou tout fil de commentaires.

CodeCommit

Demande d'extraction créée

Tous les détails de l'événement et le nombre de fichiers ajoutés, modifiés ou supprimés dans la demande d'extraction par rapport à la branche de destination.

Aucune liste de fichiers ni aucun détail indiquant si la branche source de la requête d'extraction a ajouté, modifié ou supprimé des fichiers.

CodePipeline

Approbation manuelle requise

Tous les détails de l'événement et les données personnalisées (si configurées). La notification comprend également un lien vers l'approbation requise dans le pipeline.

Pas de données personnalisées ou de lien.

CodePipeline

Échec de l'exécution de l'action

Échec de l'exécution du pipeline

Échec de l'exécution de la phase

Tous les détails de l'événement et le contenu du message d'erreur pour l'échec.

Pas de contenu du message d'erreur.

Cibles

Une cible est un emplacement où recevoir des notifications à partir de règles de notification. Les types de cible autorisés sont les rubriques Amazon SNS et les clients AWS Chatbot configurés pour les canaux Slack ou Microsoft Teams. Tout utilisateur abonné à la cible reçoit des notifications sur les événements que vous spécifiez dans la règle de notification.

Si vous souhaitez étendre la portée des notifications, vous pouvez configurer manuellement l'intégration entre les notifications et AWS Chatbot afin que les notifications soient envoyées aux salles de discussion Amazon Chime. Vous pouvez ensuite choisir la rubrique Amazon SNS configurée pour ce client AWS Chatbot comme cible de la règle de notification. Pour de plus amples informations, veuillez consulter Pour intégrer les notifications avec AWS Chatbot et Amazon Chime.

Si vous choisissez d'utiliser un client AWS Chatbot comme cible, vous devez d'abord créer ce client dans AWS Chatbot. Lorsque vous choisissez un client AWS Chatbot comme cible pour une règle de notification, une rubrique Amazon SNS est configurée pour ce client AWS Chatbot avec toutes les stratégies requises pour que les notifications soient envoyées au canal Slack ou Microsoft Teams. Vous n'avez pas à configurer les rubriques Amazon SNS existantes pour le client AWS Chatbot.

Vous pouvez choisir de créer une rubrique Amazon SNS en tant que cible dans le cadre de la création d'une règle de notification (recommandé). Vous pouvez également choisir une rubrique Amazon SNS existante dans la même région AWS que la règle de notification, mais vous devez la configurer avec la stratégie requise. La rubrique Amazon SNS que vous utilisez pour une cible doit se trouver dans votre compte AWS. Elle doit également se trouver dans la même région AWS que la règle de notification et la ressource AWS pour laquelle la règle a été créée.

Par exemple, si vous créez une règle de notification pour un référentiel dans la région USA Est (Ohio), la rubrique Amazon SNS doit également exister dans cette région. Si vous créez une rubrique Amazon SNS dans le cadre de la création d'une règle de notification, la rubrique est configurée avec la stratégie requise pour autoriser la publication d'événements dans la rubrique. C'est la meilleure méthode pour travailler avec des cibles et des règles de notification. Si vous choisissez d'utiliser une rubrique déjà existante ou d'en créer une manuellement, vous devez la configurer avec les autorisations requises avant que les utilisateurs ne reçoivent des notifications. Pour de plus amples informations, veuillez consulter Configurer une rubrique Amazon SNS pour les notifications.

Note

Si vous souhaitez utiliser une rubrique Amazon SNS existante au lieu d'en créer une nouvelle, dans Targets (Cibles), choisissez son ARN. Assurez-vous que la rubrique dispose de la stratégie d'accès appropriée et que la liste d'abonnés contient uniquement les utilisateurs autorisés à voir des informations sur le pipeline. Si la rubrique Amazon SNS est une rubrique qui a été utilisée pour les notifications CodeCommit avant le 5 novembre 2019, elle contient une stratégie qui permet à CodeCommit publier sur cette rubrique et qui contient des autorisations différentes de celles requises pour AWS CodeStar Notifications. L'utilisation de ces rubriques n'est pas recommandée. Si vous souhaitez utiliser une rubrique créée pour cette expérience, vous devez ajouter la stratégie requise pour AWS CodeStar Notifications en plus de celle qui existe déjà. Pour plus d'informations, consultez Configurer une rubrique Amazon SNS pour les notifications et Présentation du contenu des notifications et de la sécurité.

Notifications et AWS CodeStar Notifications

Bien que ce soit une fonction de la console Outils pour développeurs, les notifications possèdent leur propre API, AWS CodeStar Notifications. Il a également son propre type de ressource AWS (règles de notification), ses autorisations et ses événements. Les événements des règles de notification sont enregistrés dans AWS CloudTrail. Les actions d'API peuvent être autorisées ou refusées via les stratégies IAM.

Événements pour les règles de notification sur les référentiels

Catégorie Événements ID d'événement

Commentaires

Sur les validations

Sur les demandes d'extraction

codecommit-repository-comments-on-commits

codecommit-repository-comments-on-pull-requests

Approbations

Statut modifié

Remplacement de la règle

codecommit-repository-approvals-status-changed

codecommit-repository-approvals-rule-override

Demande d'extraction

Créé

Source mise à jour

Statut modifié

Fusionnée

codecommit-repository-pull-request-created

codecommit-repository-pull-request-source-updated

codecommit-repository-pull-request-status-changed

codecommit-repository-pull-request-merged

Branches et balises

Créé

Supprimé

Mis à jour

codecommit-repository-branches-and-tags-created

codecommit-repository-branches-and-tags-deleted

codecommit-repository-branches-and-tags-updated

Événements pour les règles de notification sur les projets de génération

Catégorie Événements ID d'événement

État de génération

Échec

Réussi

En cours

Arrêté(e)

codebuild-project-build-state-failed

codebuild-project-build-state-succeeded

codebuild-project-build-state-in-progress

codebuild-project-build-state-stopped

Phase de génération

Échec

Réussite

codebuild-project-build-phase-failure

codebuild-project-build-phase-success

Événements pour les règles de notification sur les applications de déploiement

Catégorie Événements ID d'événement

Déploiement

Échec

Réussi

Démarré(e)

codedeploy-application-deployment-failed

codedeploy-application-deployment-succeeded

codedeploy-application-deployment-started

Événements pour les règles de notification sur les pipelines

Catégorie Événements ID d'événement

Exécution de l'action

Réussi

Échec

Annulé

Démarré(e)

codepipeline-pipeline-action-execution-succeeded

codepipeline-pipeline-action-execution-failed

codepipeline-pipeline-action-execution-canceled

codepipeline-pipeline-action-execution-started

Exécution de l'étape

Démarré(e)

Réussi

Reprise

Annulé

Échec

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

Exécution du pipeline

Échec

Annulé

Démarré(e)

Reprise

Réussi

Remplacé

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

Approbation manuelle

Échec

Nécessaire

Réussi

codepipeline-pipeline-manual-approval-failed

codepipeline-pipeline-manual-approval-needed

codepipeline-pipeline-manual-approval-succeeded