

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.

# Exécution d'agents personnalisés
<a name="custom-agents-executing-custom-agents"></a>

Vous pouvez exécuter un agent personnalisé à la demande ou configurer des déclencheurs pour l'exécuter automatiquement.

## Gestion d'un agent personnalisé à la demande
<a name="running-a-custom-agent-on-demand"></a>

Vous pouvez exécuter un agent personnalisé immédiatement depuis la page détaillée de l'agent ou via Chat.

**Pour exécuter un agent personnalisé depuis la page détaillée : **

1. Accédez à la ** page ** Agents de votre application Web DevOps Agent.

1. Choisissez l'agent personnalisé que vous souhaitez exécuter.

1. Choisissez ** Exécuter maintenant ** pour exécuter l'agent avec ses instructions configurées.

Pour fournir un contexte supplémentaire pour une exécution spécifique, choisissez la flèche déroulante à côté de ** Exécuter maintenant**, entrez une invite décrivant ce sur quoi l'agent doit se concentrer lors de cette invocation, puis choisissez ** Exécuter avec invite. ** L'invite est transmise à l'agent en tant que contexte supplémentaire à côté de son invite système.

Une fois l'exécution lancée, la nouvelle invocation apparaît dans l'**onglet ** Historique avec le statut « Démarrage en attente ». Choisissez l'invocation pour visualiser sa trajectoire en temps réel.

**Pour exécuter un agent personnalisé à l'aide de Chat : **

Demandez à Chat de gérer l'agent par son nom. Par exemple :

```
Run my weekly-investigation-report agent.
```

```
Run certificate-checker and focus on certificates expiring in the next 7 days.
```

Lorsque vous fournissez un contexte supplémentaire dans le message de discussion, Chat le transmet comme invite pour cette exécution. Si vous ne fournissez pas de contexte supplémentaire, l'agent s'exécute uniquement avec son invite système configurée.

Un agent personnalisé ne peut exécuter qu'une seule invocation à la fois. Si l'agent est déjà en cours d'exécution, vous devez attendre que l'appel en cours soit terminé, expiré ou annulé avant d'en lancer un autre.

## Configuration des déclencheurs
<a name="configuring-triggers"></a>

Les déclencheurs exécutent automatiquement un agent personnalisé en fonction de conditions définies. AWS DevOps L'agent prend en charge deux types de déclencheurs :
+ **Déclencheurs de planification ** : exécutez l'agent à intervalles récurrents à l'aide d'expressions EventBridge-compatible cron ou rate.
+ **Déclencheurs d'événements ** : exécutez l'agent lorsqu'un événement webhook arrive depuis une intégration connectée, en transmettant la charge utile de l'événement comme contexte.

Les deux types de déclencheurs sont créés à partir de l'**onglet ** Déclencheurs de l'agent personnalisé. Pour l'ouvrir, accédez à la ** page ** Agents de votre application Web DevOps Agent, choisissez l'agent personnalisé, puis cliquez sur l'**onglet ** Déclencheurs.

### Création d'un déclencheur de planification
<a name="creating-a-schedule-trigger"></a>

Les expressions de planification utilisent la syntaxe EventBridge-compatible cron ou rate. L'expression doit être de l'un des formats suivants :
+ **Expression de taux ** : s'exécute à un intervalle fixe. Format :`rate(value unit)`. Exemples :
  + `rate(1 hour)`— Toutes les heures
  + `rate(30 minutes)`— Toutes les 30 minutes
  + `rate(7 days)`— Tous les 7 jours
+ **Expression cron ** : s'exécute selon un calendrier spécifique. Format :`cron(minutes hours day-of-month month day-of-week year)`. Exemples :
  + `cron(0 9 ? * MON-FRI *)`— Tous les jours de la semaine à 9h00 UTC
  + `cron(0 0 1 * ? *)`— Le premier jour de chaque mois à minuit UTC
  + `cron(0 */6 ? * * *)`— Toutes les 6 heures

Pour les expressions cron, exactement l'un des jours du mois ou de la semaine doit être `?` (point d'interrogation). Pour plus d'informations sur la syntaxe des expressions de planification, consultez la section Types [ de planification ](https://docs.aws.amazon.com/scheduler/latest/UserGuide/schedule-types.html) dans le guide * de l'utilisateur d'*Amazon EventBridge Scheduler.

**Pour créer un déclencheur de planification : **

1. Cliquez sur le bouton ** \+ ** (créer).

1. Pour Type de ** déclencheur**, choisissez ** Planifier**.

1. Entrez une expression de planification. Un message de confirmation vert apparaît lorsque l'expression est valide.

1. (Facultatif) Pour fournir un contexte supplémentaire pour chaque exécution planifiée, entrez une invite dans le ** champ Invite ** utilisateur (facultatif). L'invite est transmise à l'agent en même temps que son invite système.

1. Choisissez **Créer**.

Une fois créé, le déclencheur apparaît dans la liste indiquant son expression, sa date de création et l'heure d'exécution planifiée suivante.

### Création d'un déclencheur d'événement
<a name="creating-an-event-trigger"></a>

Un déclencheur d'événements exécute l'agent personnalisé lorsqu'un événement webhook arrive depuis une intégration connectée. La charge utile de l'événement est transmise à l'agent en tant que contexte pour cette exécution.

**Prérequis :**

Avant de créer un déclencheur d'événement, vous devez disposer d'une intégration connectée avec un webhook actif dans votre espace agent. Toute intégration avec un webhook actif peut servir de source d'événements. Pour plus d’informations sur la configuration d’intégrations, consultez la section [Invoquer un DevOps agent via Webhook](configuring-integrations-and-knowledge-invoking-devops-agent-through-webhook.md).

**Pour créer un déclencheur d'événement : **

1. Cliquez sur le bouton ** \+ ** (créer).

1. Pour Type de ** déclencheur**, choisissez ** Evénement**.

1. Dans Source d'**événements**, choisissez l'intégration dont les événements du webhook doivent exécuter l'agent. Seules les intégrations avec un webhook actif sont répertoriées.

1. (Facultatif) Pour ** Filter l'expression**, entrez une expression JMESPath pour filtrer et éventuellement transformer la charge utile de l'événement.

1. Choisissez **Créer**.

Si aucune source d'événement n'est répertoriée, soit aucune intégration compatible avec les webhooks n'existe dans l'espace agent, soit les autorisations et ne sont pas disponibles dans votre rôle. `ListAssociations` `ListWebhooks`

**Expressions de filtre : **

Vous pouvez éventuellement spécifier une expression de filtre JMESPath pour contrôler quels événements démarrent l'agent et quel contexte celui-ci reçoit. Les expressions de filtre sont évaluées par rapport à la racine brute de la charge utile de l'événement.
+ **Syntaxe ** — Spécification [ JMESPath ](https://jmespath.org/specification.html)
+ **Longueur maximale ** : 4 096 caractères
+ **Validation ** — Les expressions non valides sont rejetées lorsque vous créez le déclencheur

L'expression du filtre agit à la fois comme une condition et, éventuellement, comme une projection :
+ Lorsque le résultat n'est pas `null` une chaîne vide, un tableau vide ou un objet vide, le déclencheur s'exécute. `false`
+ Lorsque le résultat est booléen `true` (par exemple, un prédicat like`severity == 'critical'`), l'agent reçoit la charge utile brute de l'événement en tant que contexte.
+ Lorsque le résultat est une autre valeur véridique (par exemple, une projection similaire`{sev: severity}`), l'agent reçoit le résultat projeté sous forme de contexte.

AWS DevOps L'agent tronque ce contexte à 10 000 caractères.

Si vous laissez l'expression de filtre vide, l'agent s'exécute sur chaque événement provenant de cette source et reçoit la charge utile brute de l'événement en tant que contexte.

**Note**  
**Une projection dont l'évaluation donne lieu à un objet ou à un tableau vide est considérée comme ne correspondant pas et l'agent ne s'exécute pas. Pour transmettre une valeur éventuellement vide, enveloppez-la dans un objet littéral. Par exemple, `{payload: details}`.

**Exemples d'expressions de filtre : **
+ `severity == 'critical'`— Prédicat : exécute l'agent uniquement lorsque la gravité est critique, en transmettant la charge utile brute de l'événement comme contexte.
+ `{sev: severity}`— Projection : exécute l'agent sur chaque événement, en passant un objet contenant uniquement le champ de gravité comme contexte. Comme un hachage à sélection multiple inclut toujours ses clés, le résultat n'est jamais vide et ne filtre pas.

La forme de la charge utile étant différente pour chaque source, les champs disponibles dépendent de l'intégration. Lorsqu'un événement arrive mais qu'un déclencheur ne s'exécute pas, AWS DevOps l'agent émet une notification expliquant pourquoi. Par exemple, l'avis peut indiquer que l'expression du filtre ne correspond à rien. L'avis répertorie également les champs de niveau supérieur présents dans cette charge utile. Pour de plus amples informations, veuillez consulter [Logs et statistiques vendus](configuring-integrations-and-knowledge-vended-logs-and-metrics.md).

### Création de déclencheurs par programmation
<a name="creating-triggers-programmatically"></a>

Vous pouvez également créer des déclencheurs par programmation à l'aide des AWS SDK. Appelez l'`CreateTrigger`opération du `devops-agent` client, qui nécessite l'`aidevops:CreateTrigger`autorisation. Définissez le type de déclencheur sur `TIME_BASED` et fournissez une condition de planification contenant l'expression de planification et une invite utilisateur facultative.

Vous pouvez également modéliser des déclencheurs basés sur un calendrier en tant que ressources dans`AWS::DevOpsAgent::Trigger`. AWS CloudFormation Un déclencheur fait référence à l'agent personnalisé qu'il exécute. Créez d'abord l'agent. Pour plus d'informations sur le type de `AWS::DevOpsAgent::Trigger` ressource, consultez[Gestion des ressources](about-aws-devops-agent-managing-assets.md).

## Gestion des déclencheurs
<a name="managing-triggers"></a>

L'**onglet ** Déclencheurs affiche tous les déclencheurs configurés pour l'agent personnalisé. Un déclencheur de planification affiche son expression de planification. Un déclencheur d'événement affiche sa source d'événement et, s'il est défini, son expression de filtre. Les deux types indiquent la date de création.

Si l'intégration de la source ou son webhook est supprimé, un déclencheur d'événement reste répertorié mais indique que la source n'est plus disponible et qu'il ne s'exécute pas.

**Suspendre un déclencheur : **

Pour empêcher temporairement un déclencheur d'invoquer l'agent sans le supprimer, désactivez l'interrupteur à bascule situé à côté du déclencheur. L'état du déclencheur passe à Pause et ne s'exécute plus tant qu'il n'est pas réactivé. Réactivez la bascule pour reprendre.

**Supprimer un déclencheur : **

Pour supprimer définitivement un déclencheur, choisissez l'icône de suppression (corbeille) à côté du déclencheur que vous souhaitez supprimer. Confirmez la suppression dans la boîte de dialogue qui apparaît. Les déclencheurs supprimés ne peuvent pas être récupérés.

## Annulation d'une invocation
<a name="canceling-an-invocation"></a>

Vous pouvez annuler une invocation en cours depuis la vue de la trajectoire d'invocation ou via Chat.

**Pour annuler une invocation en cours depuis la vue des trajectoires : **

1. Dans l'**onglet ** Historique, choisissez l'invocation en cours.

1. Choisissez ** Annuler ** en haut de la vue des trajectoires.

**Pour annuler une invocation en cours à l'aide de Chat : **

```
Cancel the running invocation of weekly-health-report.
```

Le statut de l'invocation passe à « Annulé ». Tout travail effectué avant l'annulation est conservé dans la trajectoire. Les appels d'outils qui étaient en cours au moment de l'annulation peuvent toujours être terminés.

## Résultats des appels d'outils
<a name="tool-call-results"></a>

Lors de l'invocation, l'agent personnalisé invoque les outils MCP pour collecter des données, effectuer des actions et produire des sorties. Chaque appel d'outil et son résultat sont enregistrés dans la trajectoire d'invocation.

Les résultats des appels d'outils fournissent une transparence quant à ce que l'agent a fait lors de l'invocation :
+ **Appels d'outils réussis ** : l'outil a renvoyé des données que l'agent utilise pour poursuivre son travail. Par exemple, `query_cloudwatch_logs` renvoie des entrées de journal ou `use_aws` renvoie des réponses d'API.
+ **Échec des appels à l'outil ** : l'outil a renvoyé une erreur. L'agent peut réessayer, essayer une autre approche ou signaler l'échec dans sa sortie.

Vous pouvez inspecter les appels d'outils individuels et leurs résultats dans la trajectoire d'invocation pour comprendre le comportement de l'agent, vérifier qu'il a accédé aux bonnes ressources et résoudre les problèmes liés aux résultats inattendus. Pour plus d'informations sur la visualisation des trajectoires, voir [ Visualisation d'une trajectoire d'invocation. ](custom-agents-managing-custom-agents.md)