Limitation de l'outil
Dans Vélocité de changement DevOps, lorsqu'un outil est limité, le traitement des nouveaux événements est retardé jusqu'à l'expiration de la limitation et que l'outil passe à l'état Limité. Cette fonction est disponible pour Azure DevOps, GitHub et GitLab.
Lorsque l'outil est limité, vous recevez un message d'erreur.
État Limité
L'état Limité indique que l'outil n'autorise pas les demandes d'API à obtenir des données, car elles ont atteint ou dépassé une certaine limite d'utilisation. La réponse d'API présente une limite de débit ou un trop grand nombre d'erreurs de demande se produisent. Dans ce cas, l'outil DevOps passe à l'état Limité.
Pourquoi cela se produit-il ?
Certains outils limitent le nombre de demandes d'API pouvant être effectuées dans un laps de temps spécifique. Cette limite permet d'éviter les abus et les attaques par déni de service et garantit que l'API reste disponible pour tous les utilisateurs.
Lorsque cela se produit, l'outil DevOps passe à l'état Limité et les événements entrants successifs ne sont pas traités tant que la limite de débit imposée par l'outil n'est pas supprimée. En attendant, les événements entrants sont à l'état Différé. Une fois la limitation expirée, le traitement des événements reprend.
Comment réinitialiser la limite ?
En règle générale, l'API de l'outil fournit des informations sur le délai d'imposition de la limite de débit. Ce délai indique l'heure de réinitialisation de la limite. Ces informations sont utilisées pour reprendre les demandes d'API de cet outil, si certains événements entrants ou certaines demandes d'importation de détection ou d'historique sont en attente.
Si un outil n'indique pas le délai de réinitialisation de la limite, la valeur par défaut, qui est de 15 minutes, est appliquée. Vous pouvez modifier la valeur par défaut à l'aide de la propriété Default throttle reset time in minutes from current time (sn_devops.throttle.reset.time.default), à partir de la page des propriétés DevOps.
Où consulter l'état de limite et l'état de réinitialisation ?
La table État de la connexion de l'outil (sn_devops_tool_connection_status) contient des informations relatives à la limitation de l'outil. Elle comporte des colonnes telles que Outil, Délai de réinitialisation de la limite et Limite active, qui indiquent quel outil est soumis à une limite, quand cette limite est réinitialisée et si la limite est active ou non.
L'erreur REST_RATE_LIMIT_ERROR est consignée dans les journaux d'erreurs DevOps. De plus, l'outil soumis à une limite est à l'état Limité.