►
From YouTube: Demo: GitHub Checks API Plugin prototype for Jenkins
Description
Kezhi Xiong, a GSoC 2020 student, will show a prototype of the new GitHub Checks API Plugin for Jenkins he is working on during the summer project. There will be a demo of the plugin. Then we will take a look at the current design including the basic logic and API design, anddiscuss ways to contribute and provide feedback about the project.
References:
* Project page: https://www.jenkins.io/projects/gsoc/2020/projects/github-checks/
* Plugin repository: https://github.com/XiongKezhi/checks-api-plugin
* GitHub Checks API: https://developer.github.com/v3/checks/
A
Hi
all
welcome
to
the
jenkins
online
meetup.
Today
we
have
a
demo
session
as
a
part
of
jenkins,
ui,
ux,
hackathon
and
casual
will
present
a
prototype
of
the
github
checks,
api
plugin
for
jenkins.
It's
a
part
of
the
google
summer
of
code
project,
and
this
is
just
the
beginning.
Our
coding
phase
starts
next
week,
but
still
there
is
a
good
prototype
and
let's
see
the
demo
and
let's
discuss
it,
the
floor
is.
A
B
So
I
start
here
on
my
screen
now,
so
can
you
see
my
screen?
Yes,
okay,
so
hello,
everybody,
I'm
koji!
Currently,
I'm
working
on
this
github
checks,
api
plugin
for
this
year's
google
summer
code
project
and
this
this
project
is
still
in
design
during
the
community
bounding
period.
Well,
official
startup,
the
coding
in
the
beginning
of
the
june.
So
so
today
I'm
going
to
show
a
prototype
of
this
project.
B
Now
I'm
here
to
do
this
presentation,
because
I
want
to
invite
more
people
to
join
us
to
tell
us
what
you
want
to
get
from
the
from
this
plugin
and
and
which
will
what
the
api
looks
like
you
want
to
see,
and
that's
it
so
so
here
so
this
is
today's
I'm
going
to
talk
about
so
first.
I
think
we
should
start
by
understanding
how
the
current
drinking-
how
currently
jenkins
is
interest,
reacts
with
interacts
with
github.
B
So
here
this
is
the
prs
for
the
jenkins
master,
and
so
let's
open
up
appear
here,
just
for
example,.
B
And
currently,
if,
if
you
use
a
thinking,
that's
ins,
the
integration
for
github
you'll,
see
there
are
some
checks
reported
from
jenkins,
and
currently
this
is
achieved
by
using
the
status
api
and
this
systems.
Api
can
only
need
one
message
for
each
first
check.
So
if
you
want
to
take
a
look
at
the
details,
we
are
going
to
the
jenkins
instance
website,
and
I
think
this
is
a
you're
going
to
the
blue
ocean
plugins
page.
B
These
checks
are
created
by
my
prototype.
Currently
I
would
haven't
provided
any
information
besides
the
names
so
and
the
conclusion
so.
A
B
You
see
the
picture
here
if
we,
if
we
eventually
end
up
in
the
this
plugin,
will
able
to
report
the
wording,
some
like
code
coverages
from
the
jenkins
to
github,
and
it
will
add
some
annotations
for
each
line
of
code.
You'll
say
some
annotations
like
this.
This
is
something
we
want
to
achieve.
Oh
in
the
end.
B
First,
so
before
you
create
check,
get
up
checks,
you
have
to
convert
the
jenkins
into
all
the
guitar
maps.
I
think
this
team
has
achieved
this
in
the
gap
branch
source
api.
I
think
the
plugin
that
you
have
french
source
plugin.
Yes,
I
use.
A
B
Okay,
so
here
is
a
team
implemented
this
get
out
of
authentication
guys.
So
if
you
want
to
create
checks,
we
have
to
convert
jenkins
into
a
getup
github
app
and
here's
something
you
need
to
do
so
if
first,
you
have
to
create
a
github
app
here-
and
you
can
see
here
with
some
permissions
to
access
to
my
repositories,
and
here
I
install
this
and
app
into
my
the
sandbox
repository
and
if
you
want
some
settings.
B
So,
okay,
here
so
normally
it's
the
the
web
hook
to
receive
the
github
events.
Is
this
the
is
this
web
hook
and
don't
forget
to
please
to
add
this
backslash?
I
remember
I
did
a
debugger
for
hours
because
I
just
forget
to
add
this
backslash.
B
So
that's
about
cleanup
apps
here,
I'm
using
the
in
order
to
let
the
github
access
my
jenkins,
I
use,
I
use
a
forward
delivery
on
tool
to
send
the
events
to
my
computer.
So
this
is
the
events
I
received
during
the.
B
B
A
B
And,
and-
and
I
won't
say
that
here
is
something
I
want
to
get
more-
our
information
from
the
users
because
you
can
see
now,
if
you
want
to
configure
the
checks
in
this
changes
file,
you
have
to
just
set
this
safety
taste.
B
If
you
want,
if
you
want
more,
you
have
to
access
the
reports
from
the
other
junkies
plugins,
like
the
warnings,
plugins
code
coverage
plugins
in
order
to
report
these
informations
to
github.
But
if
you
can't
access
this,
these
plugins
reports
in
the
the
the
jenkins
file,
maybe
you're,
just
able
to
create
the
chakras.
B
That
is
something
where
our
my
team
is
still
struggling
with.
B
Most
importantly,
there
are
three
parts
and
three
dependencies,
the
the
plugins
that
my
plugin
is
dependent
on
and
the
first
one
is
the
github
branch
source
api.
We
have
to
use
this
the
scm
api
implemented
by
this
plugin
to
retrieve
the
the
sources
which
we
use,
the
xiaohan
branches
of
the
jenkins
job
and
the
github
github
plugin
is
something
we
used
to
use
to
like
receive
the
events.
B
B
Here
is
the
design
of
currently,
or
so
mostly.
Most
of
the
works
will
focus
on
this
job
listener.
B
This
job
is
class,
so
there
are
three
stages
of
king
king's
round.
Normally,
here
is
when
the
github
creates
the
users
create
a
new
pr
or
comment
either
with
trigger
or
jenkins
to
start
a
job
and
when
the
job
enters
the
crew
and
where
our
our
checks,
our
our
plugin,
will
enumerate
the
consumers
to
create
check
rounds
and
we'll
set.
B
Those
check
runs
include
we'll
talk
about
this
in
detail
later,
when
we,
when
I'm
going
to
go
when
I
talk
about
the
code
and
later
when
this
job
leaves
the
pre
and
the
stars.
B
Where
else
you
also
enumerates
the
consumers
and
to
update
the
check
rounds
in
progress
and
eventually
when
the
job
completes
will
enumerate
the
consumers
to
complete
the
check
runs,
and
at
this
point
we
are
also
to
collect
the
reports
from
other
plugins,
like
from
the
warnings
plugins
from
the
coverage
plugins
to
get
the
reports,
and
then
we
send
these
reports
to
github
and
user
will
see
them.
B
So
so,
let's
here
talk
about
here,
I'm
going
to
talk
about
the
api
we're
going
to
provide.
So
you
see
here
this,
this
checkround
results
extend
the
extension
point
and
so
any
any
plugins.
They
want
to
report
the
informations
report.
The
wordings
to
have
they
just
need
to
you
just
need
to
extend
this
class,
and
so
here
I
I
draw
some
consumers
possible
consumers
of
our
plugin
and
each
of
the
customers
will
create
a
single
check
wrong.
Like
for
warnings
plugin,
we
created
check,
run
for
warnings
plugin
and
for
code
coverage
plugin.
B
Okay,
so
thanks
all
so
here
we
have
two
check
rounds
in
the
same
check,
suit
and
you'll
see
here.
There
are
two
check
around
because
I
extended
extenders
from
the
sorry
for
the
name.
The
check
round
source
is
is
a
is
the
general
result.
I
haven't
changed
the
name
yet
so
so
in
this.
In
this
extension
point
we
provide.
We
just
currently
add
some
abstract
functions
as
like
get
link,
get
output
actions
and
we
like,
like
defer
the
the
conclusions
from
the
build.
B
B
So
here
when
I
start
use
the
this,
normally
it's
well.
The
build
will
trigger
by
the
guitar
prs.
But
now
I
just
I
I
just
use
the
click.
The
button.
B
And-
and
it
will
show
here
so
this
function
is
uninitialized.
We
because
we
listen
to
the
we
extend
the
wrong
listeners
were
able
to
all
be
triggered
when
the
when
the
jenkins
job
starts
so
on
initialize
like
like
it
enters
increase,
we
creates
the
check
rounds
into
into
q
state.
So
here
we
go.
We
just
here.
We
just
retrieve
the
headshot
of
the
of
the
repositories,
and
I
also
can
get
the
repository
names.
B
So,
in
the
after
on
creator
token,
the
next
thing
we
do
is
to
enumerate
the
extension
from
the
check
resources.
If
you
see
here,
our
first
source
is
default,
is
the
default
checker
source
and
in
the
default
source
we
just
provide
the
name
of
the
check
checker.
So
here
we
created
sorry
some
network
problems.
B
There's
some
problems,
I'm
struggling
right
now,
because
if,
if
the
message
just
sometimes,
I
think
I'm
bad
luck
today,
so
this
just
never
mind.
I
started
again.
B
The
the
access
to
github
api
sometimes
fails.
I
don't
know
why
now
there's
something
I'm
struggling
to
solve
now.
B
C
B
B
B
B
B
So
if
we
keep
going
and
now
we
are
going
to
complete
the
check
round
and
complete
the
check
round
here,
we
just
use
some
static
like
set
of
status
to
be
completed,
and
here
we
just
set
the
conclusion
for
success
for
success,
since
it's
just
a
prototype
for
now,
but
it
will
maybe
make
these
parameters
to
be
configurable
by
the
consumers.
Vlogging.
B
And
so
I
guess
we'll
stop
people
here,
and
the
next
thing
I
want
to
talk
about
is
the
parameters
we
can.
We
can
provide
for
his
offer
for
github
check
around
so.
B
So
when
created
check
around
you
can
provide
this
parameters
for
now
in
my
plan,
I'm
just
going
to
split
these
parameters
in
three
groups,
something
something
is
non-configurable
by
the
consumers,
like
the
like
the
headshot,
like
the
detailed
urls
like
the
status
or
start
at
that
time.
B
We'll
do
this
for
our
customers
and
another
group
of
the
parameters
is
the
configurable
ones
and
like
the
copy
group
ones,
I
mean
like
the
name
of
the
check
round
where
we
should
allow
the
consumers
to
custom
the
name
and
also
maybe
some
other
things
like
the
lacking
output
objects
and
the
title:
the
summaries
of
the
of
the
report,
the
annotations
of
each
lines
of
the
code.
These
things
we
need
to
you
know
retrieve
from
the
consumers,
so
this
part
is
configurable.
B
Another
part,
I
think
is,
is
also
configurable
by
the
users,
but
will
provide
some
default
settings.
So
maybe
the
conclusions
if
the
users
didn't
provide
the
conclusions
for
their
our
reports
and
then
we'll
maybe
just
defer
the
the
conclusion
from
the
jenkins
job
the
status.
B
So
yes,
that's
a
that's
basically
about
the
prototype
now.
So
so
any
questions
about
this.
A
One
question
I
had
is
about
dependency
on
the
github
branch
source,
so
do
consider
moving
the
yeah
about
notification,
support
outside
of
github
branch
source
or
they
plan
to
keep
it
there.
Let
him.
A
B
Yes,
it's
we
have
to
use
this
github
branch
source
plugin
in
order
to
retrieve
the
headshot,
because
this
has
implemented
the
scn
api.
So
I
think
we
have
to
use
it.
Does
it
answer
your
question.
A
B
D
Others
hi.
I
had
one
question:
okay,
so
casey,
so
I
I
was
wondering
how
the
implementation
has
been
done.
I
mean
how
is
jenkins
reporting
the
github
checks.
Api
like
is
it
is.
It
has,
has
to
be
specifically
mentioned
in
the
jenkins
file,
or
does
the
plugin
automatically
handles
this.
B
So
here's
some-
you
know
preview
of
this
of
this
api.
You
know
so
like
here.
If
the
so
we
we
should
assume
this
class
has
extended
the
the
treatment
results
extended,
our
our
extension
point.
So
when
the
jobs
when
the
job
finishes,
it
should
have
said
like
said
the
status,
says
the
cheques
and
send
the
summaries
and
ending
them
and
also
check
the
other
tape
at
the
annotations.
B
And,
oh
I'm
sorry,
I
should
sorry
I
I
I
started
all
the
working.
So
there
is
some
check
wrong
results
right.
So,
first,
when
the
jenkins
job
starts
we'll
attach
these
results
to
the
round
through
this
check
run,
result
action.
So
later,
when
other
plugins,
I
have
something
to
report,
they
can
just
get
this
action
from
the
wrong
by
just
the
get
action
function
and
the
method,
and
then
they
can,
they
can
get
the
result,
parts
from
the
action
and
they
can
do
something
changes
in
this
wrong
result.
B
D
D
Code
manager,
scm
is
like
the
stages
of
their
stages
that
they
have
defined
in
the
jenkins
file.
Like
suppose,
there
is
two
states
like
like
build
and
deploy.
They
want
two
stages
in
their
like
scm.
That
says,
build
has
passed
and
deploy,
I
mean
and
all
the
details
related
to
that.
So
so
suppose
this
is
the
scenario
that
I
want
like.
I
want
the
status
of
build
and
deploy
stage,
so
it
do.
D
I
have
to
mention
it
in
my
I
mean
do
I
have
to
specifically
write
a
build
step
to
I
mean
a
pipeline
step
to
provide
the
scm.
The
status
of
that
particular
stage
or
plug-in
will
automatically
handle
that.
B
I
think
most
part
if
the
for
the
consumer
plugins,
I
think
like
like
for
the
awareness
plugins
after
the
like
in
the
build
step,
there
were
some
unlike
in
the
published
step.
They
should
you
know,
report
this
report
change
the
some
properties
in
this
class,
and
so
literally
we
when
we
invoke
these
methods
we
can
get,
but
in
the
pipeline
in
the
pipeline
in
the
jenkins
file.
B
I'm
not
sure
we
can
achieve
that
because
if,
if
we
want
to
report
the
report
information
to
github
we
have
to
in
the
in
the
pipeline,
you
have
to
provide
some
wordings
and
some
wordings
in
the
pipeline.
But
if
you
can't-
and
you
can't
access
the
wordings
in
pipeline
and
then
you
can
report
it
to
our
our
our
plugin,
then
we
can
provide
it
to
to
the
github.
So
the
pipeline
support
will
still
discuss
with
my
mentors
whether
we
can
how
we
can
support
the
pipeline
and
whether
we
should
support
the
pipeline.
D
Yeah
again,
somewhere
does
so
like
all
the
checks
result
sent
through
github
is
done
by
plugin
automatically
like
doing
running
the
job
it
sends
started
and
finished
or
like
other
results,
so
is
it
done
by
plugin
itself,
or
that
has
to
be
mentioned,
needs
to
be
mentioned
separately
in
the
jenkins
side,
like
you
had
written
a
curl
command
in
there,
so
we
have
to
specifically
mention
it
in
the
jenkins
file.
D
Has
implemented
it's
mostly
for
in
the
like
for
the
job
like
when
the
job
started
and
when
the
checked
out
like
for
sem
on
checkout
and
etc
so
like
it
would
be
nice
if
there
would
be
listener
on
each
stages
and
reporting
on
that.
So
I
was
also
wondering
how
is
it
doing
that
if
there
is.
A
A
A
A
So
okay,
should
we
take
the
question
offline.
C
Yeah
I
mean
we
we
can
do.
I
think,
actually,
like
purges
questions,
answered
a
lot
of
the
questions
I
had
as
well.
I
think
what
I'm
missing
kind
of
is
like
an
overall.
What's
the
overall
workflow
like
there's
a
lot
of
technical
details
here
of
implementation,
but
I
have
similar
questions
like:
what's
the
actual,
what
would
a
consumer?
What
would
a
an
end
user
of
jenkins?
C
A
Stuff
yeah,
it
would
be
a
great
addition,
so
there
was
some
items
about
that
mentioned
in
the
original
proposal.
A
So,
if
you're
interested
to
know
more
information,
you
can
find
it
here,
but
yeah
it's
a
proposal
which
is
draft
and
obviously
we
will
see
what
will
be
supported
as
a
part
of
jsoc
later.
But
here
you
can
see
some
deliverables
there
and
I
believe
that
it
was
discussed.
What
kesha
wants
to
implement,
specifically-
maybe
not.
A
C
A
Yeah,
so
let's
just
take
it
offline,
because
yeah
definitely
catcher
has
connectivity
issues
so
yeah
anyway,
thanks
for
this
presentation,
because
it's
definitely
a
great
demo
and
it
provides
a
lot
of
information
about
what's
been
done
in
this
project
and
yeah,
everybody
is
welcome
to
participate.
A
B
B
B
Yes,
and
what
for
the
warnings
plugins,
just
like,
I
showed
the
pr
opened
by
wooli
and
about
the
api
here,
just
going
to
use
the
way
I
designed
like
I
attached
the
results
through
a
round
to
the
attach
the
results
to
to
the
run
through
action,
and
so
during
the
build
steps.
All
the
plugins
are
able
to
access
this
action
and
so
that
access
they
can
access
the
results
and
change
some
properties
in
their
results.
And
we
can
retrieve
the
results
and
at
the
end
of
the
job.
C
A
C
Yeah,
sorry,
I
was
just
it's
maybe
a
kind
of
low-level
jenkins
technical
question
regarding
that
design.
I'm
wondering
if
it's
possible
for
a
plug-in,
for
example,
warnings
or
whatever
is
it
possible
for
them
to
create
an
action
and
then
another
plug-in,
like
the
github
check,
plugin
to
automatically
notice
that
that
action
has
been
created
like
it
connect
listen.
Can
I
plug
in
listen
for
actions
being
created
on
a
run
because.
C
If
there's
like
yeah,
if
you
have
kind
of
like
a
decoupling
there,
where
you
don't
have
to,
I
don't
know
it's
just
a
bit
simpler,
I
don't
know
perhaps
yeah
in
principle.
A
A
D
D
So,
like
the
checks,
api
plugin
would
be
by
default,
doing
some
reporting
to
github,
or
would
it
okay
so
like?
Would
it
only
be
providing
extension
points
or
would
it
also
be
doing
some
default
reporting?
So
what
what?
What
are
the
default
reporting
that
you
are
planning
to.
B
Yes,
the
the
defaults,
the
default
parameters
are
like
the
other
started
at
the
the
time
when
the
job
started
at
and
maybe
the
status
it
will
provide
defaults
at
a
different
stage
of
the
job,
so
it
provides
the
default
like
code
in
progress
and
completed
and
so
and
some
other
things
like
the
conclusions.
B
If
the
the
consumer
plug-in
team
provides
a
conclusion,
then
we
will
get
this
conclusion
from
the
from
the
jobs
results
and,
like
the
job
council
will
outset
the
convolution
as
cancelled
and
if
the
it
fails
and
we
set
the
calculation
to
be
failed.
So
that's
is
currently
about
the
about
the
people's
configuration.
D
A
It's
like
not
so
yeah
thanks
a
lot
for
the
presentation
and
thanks
to
everyone
who
participated,
and
it
was
an
interesting
discussion,
we
will
post
the
recording
on
youtube.