This blog post is about our phase 3 progress on GitHub Checks API Project, you can find our previous blog posts for phase 1 and phase 2.
At the end of this summer, the GSoC journey for GitHub Checks API Project comes to an end as well. In this blog post, I’ll show you our works during the last month:
-
Pipeline Support
-
Rerun Request Support
-
Git SCM Support
-
Documentation
All the above features will be available in our planned 1.0.0 version of Checks API Plugin and GitHub Checks Plugin.
Pipeline Support
The pipeline support allows users to directly publish checks in their pipeline script without depending on any other consumers.
The check in the above screenshot is published by script:
publishChecks name: 'pipeline check', title: 'pipeline ', summary: '# A pipeline check example',
text: "## This check is published through the pipeline script",
detailsURL: 'https://ci.jenkins.io'
If you want to publish checks to GitHub, please install the GitHub implementation and refer to the GitHub API documentation for the requirements for each field. A default value (build link) for detailsURL
will be provided automatically.
This feature can be useful when many stages exist in your pipeline script and each takes a long time: you can publish a check for each stage to keep track of the build.
Rerun Request Support
The rerun request allows GitHub users to rerun the failed builds. When a build failed (which leads to a failed check), a Re-run
button will be added automatically by GitHub.
By clicking the Re-run
button, Jenkins will reschedule a build for the last commit of this branch.
Since all checks of a commit are produced by a single build, you don’t have to rerun all failed checks, just rerun any one of the failed check will refresh all checks.
Git SCM Support
Thanks to Ullrich's great help, the GitHub Checks Plugin now supports Git SCM. This means now you can publish checks for your freestyle project or any other projects that use Git SCM.
Document
Consumers Guide and Implementation Guide are now available. As a Jenkins developer, you can now start consuming our API or even providing an implementation for other SCM platforms beside GitHub.
Acknowledgment
The whole GitHub Checks API project is started as a Google Summer of Code project. Much appreciate my mentors (Tim and Ullrich) for their great help during the whole summer. Also huge thanks to the Jenkins GSoC SIG and the whole community for the technique support and resources.