ツールスロットリング
DevOps チェンジベロシティでは、ツールが調整されると、調整の有効期限が切れてツールの状態が [調整済み] に変更されるまで、新しいイベントの処理が遅延されます。これは、 Azure DevOps、 GitHub、および GitLab で使用できます。
ツールが調整されると、エラーメッセージが表示されます。
スロットル済みステータス
スロットル状態は、特定の使用制限に達したか超えたため、ツールが API 要求によるデータの取得を許可していないことを意味します。API 応答にレート制限があるか、要求エラーが多すぎます。その場合、DevOps ツールのステータスは [スロットル済み] に変更されます。
なぜこのようなことが起こるのか
一部のツールでは、特定の時間内に実行できる API 要求の数が制限されています。この制限により、悪用やサービス拒否攻撃を防止し、すべてのユーザーが API を引き続き使用できるようになります。
これが発生すると、DevOps ツールのステータスが [スロットル済み ] に変更され、ツールによって課せられたレート制限が削除されるまで、それ以降の受信イベントは処理されません。それまで、受信イベントは [保留] ステータスになります。スロットルの有効期限が切れると、イベントの処理が再開されます。
スロットルをリセットする方法
通常、ツール API は、レート制限が課される期間に関する情報を提供します。これは、スロットルのリセット時間を示します。この情報は、処理待ちの受信イベントまたは検出または履歴インポート要求がある場合に、そのツールの API 要求を再開するために使用されます。
ツールがスロットル リセット時間を提供しない場合は、既定値の 15 分が適用されます。デフォルト値は、DevOps プロパティページからプロパティ Default throttle reset time in minutes from current time (sn_devops.throttle.reset.time.default) を使用して変更できます。
スロットル状態とリセット状態を確認する場所
ツール接続ステータス (sn_devops_tool_connection_status) テーブルには、ツール調整関連情報が含まれています。ツール、スロットルリセット時間、スロットルアクティブなどの列があり、どのツールがスロットル下にあるか、このスロットルがいつリセットされるか、スロットルがアクティブかどうかを示します。
REST_RATE_LIMIT_ERRORは DevOps エラーログに記録されます。また、スロットル下のツールは [スロットル済み ] ステータスになります。