1 of 8

GitHub Checks API Plugin for Jenkins

GSoC 2020 Phase 1 Presentation

by Kezhi Xiong (GitHub: @XiongKezhi)

Mentors:

Ullrich Hafner

Tim Jacomb

2 of 8

01

A highly customized way to integrate CI tools or make reports for PR:

From https://developer.github.com/apps/quickstart-guides/creating-ci-tests-with-the-checks-api

  • Status
    • Queued
    • In Progress
    • Completed
  • Conclusion
    • Success
    • Failed
    • Neutral
    • Canceled
    • Timed Out
  • Annotations
    • Make warnings / notices on specific lines of code

  • Actions
    • Re-run
    • Automatic Formatting / Fixation

Introduction of GitHub Checks API

3 of 8

Motivation of this project

02

What Jenkins is capable of now -- Warnings Plugin, Code Coverage API Plugin ...

How Jenkins is integrated now -- GitHub Status API

  • Only a status and a short message

GIF from Jeff’s slide on GSoC 2018 mentor summit

4 of 8

Motivation of this project

02

How about integrating GitHub with them?

Source Code View from Warnings Plugin

GitHub Check Run Annotations

5 of 8

Features from phase 1

03

A General API

Prepared for the similar concept in different platforms like GitHub, GitLab, etc.

An Implementation for GitHub Checks API

On code quality, we tried to:

  • keep the API simple with its only responsibility: collect parameters from users
  • keep a consistent style when using different parts of the API
  • keep the API well-documented and annotated to avoid misuse
  • keep each method testable and reach more than 90% code coverage

6 of 8

Demo

04

7 of 8

Q&A

8 of 8

Thanks!