Utiliser un événement pour démarrer une CodePipeline exécution - CodeArtifact

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.

Utiliser un événement pour démarrer une CodePipeline exécution

Cet exemple montre comment configurer une EventBridge règle Amazon afin qu'une AWS CodePipeline exécution démarre lorsqu'une version de package est publiée, modifiée ou supprimée dans un CodeArtifact référentiel.

Configuration EventBridge des autorisations

Vous devez ajouter des autorisations EventBridge à utiliser CodePipeline pour invoquer la règle que vous créez. Pour ajouter ces autorisations à l'aide de AWS Command Line Interface (AWS CLI), suivez l'étape 1 de la section Créer une règle d' CloudWatch événements pour une CodeCommit source (CLI) dans le guide de AWS CodePipeline l'utilisateur.

Création de la EventBridge règle

Pour créer la règle, utilisez la put-rule commande avec les --event-pattern paramètres --name et. Le modèle d'événement spécifie des valeurs qui sont comparées au contenu de chaque événement. La cible est déclenchée si le schéma correspond à l'événement. Par exemple, le modèle suivant correspond CodeArtifact aux événements du myrepo référentiel du my_domain domaine.

aws events put-rule --name MyCodeArtifactRepoRule --event-pattern \ '{"source":["aws.codeartifact"],"detail-type":["CodeArtifact Package Version State Change"], "detail":{"domainName":["my_domain"],"domainOwner":["111122223333"],"repositoryName":["myrepo"]}}'

Création de la cible de la EventBridge règle

La commande suivante ajoute une cible à la règle afin que lorsqu'un événement correspond à la règle, une CodePipeline exécution soit déclenchée. Pour le RoleArn paramètre, spécifiez l'Amazon Resource Name (ARN) du rôle créé précédemment dans cette rubrique.

aws events put-targets --rule MyCodeArtifactRepoRule --targets \ 'Id=1,Arn=arn:aws:codepipeline:us-west-2:111122223333:pipeline-name, RoleArn=arn:aws:iam::123456789012:role/MyRole'