Skip to content

Commit 97ee685

Browse files
committed
Implement API for check run annotations
1 parent 67b43de commit 97ee685

File tree

3 files changed

+105
-0
lines changed

3 files changed

+105
-0
lines changed

src/github3/checks.py

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -245,6 +245,28 @@ def check_runs(self):
245245
)
246246

247247

248+
class CheckRunAnnotation(models.GitHubCore):
249+
250+
class_name = "CheckRunAnnotation"
251+
CUSTOM_HEADERS = {"Accept": "application/vnd.github.antiope-preview+json"}
252+
253+
def _repr(self):
254+
return "<{s.class_name} [{s.path}:{s.start_line}-{s.end_line}]>".format(
255+
s=self
256+
)
257+
258+
def _update_attributes(self, note):
259+
self.path = note["path"]
260+
self.start_line = note["start_line"]
261+
self.end_line = note["end_line"]
262+
self.start_column = note["start_column"]
263+
self.end_column = note["end_column"]
264+
self.annotation_level = note["annotation_level"]
265+
self.title = note["title"]
266+
self.message = note["message"]
267+
self.raw_details = note["raw_details"]
268+
269+
248270
class CheckRunOutput(models.GitHubCore):
249271

250272
class_name = "CheckRunOutput"
@@ -260,6 +282,23 @@ def _update_attributes(self, output):
260282
def _repr(self):
261283
return "<{s.class_name} [{s.title}]>".format(s=self)
262284

285+
@decorators.requires_app_installation_auth
286+
def annotations(self):
287+
"""Retrieve the annotations for a check run.
288+
289+
:returns:
290+
the annotations for this check run
291+
:rtype:
292+
:class:`~github3.checks.CheckRunAnnotations`
293+
"""
294+
url = self._build_url(base_url=self.annotations_url)
295+
return self._iter(
296+
-1,
297+
url,
298+
CheckRunAnnotation,
299+
headers=CheckRunAnnotation.CUSTOM_HEADERS,
300+
)
301+
263302

264303
class CheckRun(models.GitHubCore):
265304
"""The :class:`CheckRun <CheckRun>` object.

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy