生涯未熟

生涯未熟

プログラミングをちょこちょこと。

GitHub APIでissueを連続作成してたらGraphQL error: was submitted too quicklyで怒られた

所属チームではスクラムを導入していて、スプリントプランニング時に作成されたマイルストーンに対してリリースタスクなど毎回同じタスクissueを作成していました。
これはトイルだなぁとなって、GitHub API v4を使って複数のマイルストーンに数個のissueを作成するスクリプトを書きました。

運用は上手くいっていたように見えたのですが、ある時いつもより多めのマイルストーンを作成してから実行した際にタイトルにもある「GraphQL error: was submitted too quickly」でエラーとなり、issueが作成されないといった事態が起きました。
APIリミットも十二分に残っていたので「アレー?」と思いつつも調査してみると以下のようなissueが👀

github.com

全く同じ状況だなーと思って読んでいると、GitHubの中の人が「表に出ているAPIリミットとは別に、一部のリソース作成に関してはユーザーから不可視な内部リミットが存在する」とコメントしていました。
それじゃどうしたらいいのか?ですが、中の人曰く「エラーを監視しつつ、エラーが出たら数分から1時間待機してから実行し直してね」とのこと・・・うーむ🤔

他のユーザーからはリミット上限を上げてくれ、こういったオプションを作成するといいんじゃないか?(ghの文脈で)など伝えているのですが、未だに解決には至っていないようです・・・かなしい。

[追記: 2024-03-27]

24s毎の作成なら内部レートに抵触しなかったというコメントが。1sの待ち時間を設けるのがドキュメントでは推奨されているが、時間あたりレートに引っかかっちゃうよね、ということらしい🤔

github.com