Closed5

Github Notificationsのsubjectプロパティの仕様に関する考察

かいものかいもの

close 済みのIssueの通知をnotificationsから消すためにがんばる

$ gh api notifications

によって得られるResponseはここにあるように、

[
subject: {
  title:<notificationのタイトル>,
  url: <notificationの通知の要因となったもののURL>,
  type: ???,
  latest_comment_url: string
},
url: <notificationの押下時のリンク先>
]

重要なとこだけ洗い出すと👆こんな感じ

かいものかいもの

[].subject.typeの値がIssueとかPullRequestが入っておりどうやらenumっぽいけど
Responseのスキーマを見るとstring

かいものかいもの

裏付けとして、受け取った通知の中で
Issueにはurlがあるが、CheckSuiteには含まれない。
ObjectsのFieldsもそれに対応している

subject:{
   type: Issue,
   url: https://...
}
subject: {
  type: CheckSuite,
  url: null
}
かいものかいもの

Issueだったらsubjce.urlをリダイレクトして、そのレスポンスの.stateを見て判断する

Objectsの全部がNotificationsのsubjectに現れるわけではないが、排除しきれないため
全通りをまきとるような実装が必要 or 部分的に対応する(<-多分こっち)

このスクラップは2024/03/04にクローズされました