►
From YouTube: Jenkins Configuration-as-Code: Office Hours
Description
Let's talk Jenkins Configuration as Code
- current issues
- hot topics
- plans for the future
On Jul 11 we will also have a discussion about the Simple Pull Request Job project, which uses the JCasC engine to define Pipeline as YAML.
Meeting is open to anyone who wants to join.
A
Jenkins
configuration
as
code
status
call.
We
have
regular
calls
every
two
weeks
in
order
to
sync
up
regarding
project
status
and
I'm
going
activities.
If
you're
interested
to
get
more
information
about
the
current
projects,
you
can
just
go
to
our
resources,
just
a
second
to
a
screen
share:
okay,
so
yeah
what
you
can
see
that
we
have
a
Jenkins
configuration
as
co-channel,
where
we
have
discussions
and
the
way
we
can
discuss
all
topics
and
we
post
participants
links
to
the
status
updates
there.
A
So,
if
you
want
to
join,
you
can
just
join
the
channel
and
participate
in
the
discussions
and
regarding
status
notes.
We
have
a
Google
Doc
for
all
kinds
of
discussions
and
meeting
notes,
so
I
will
put
that
into
the
chat
again
to
the
today's
meeting
notes
and
we
will
be
updating
them
during
the
session.
A
A
A
B
B
We
also
have
some
pending
discussion
on
backward
compatibility
that
will
need
to
be
addressed
at
some
point
and
most
recent
additions
were
to
introduce
rest
and
rest
api
and
CLI.
So
one
can
push
configuration
and
check
for
configuration,
so
validate
confusion,
fight
before
get
applied,
which
probably
is
something
that
could
help
in
in
this
backward
compatibility
issue.
B
So
sometimes
you
can
just
get
your
config
being
broken
because
you
updated
a
plug-in
or
something
like
that,
so
that
exactly
so
some
driver
and
mod
that
will
report
at
least
people
that
the
country
ation
is
broken
and
I'm
investigating
ways
to
offer
some
diagnostic,
some
automated
diagnostic,
so
that
gks
could
be
able
to
say
that
this
attribute
is
unsupported
and
should
be
at
least
level
in
the
geometry,
because
it
can't
detect
that
this
attribute
execs.
It
is
somewhere
else.
That's
that's
something
that
I
I
really
would
like
to
see
not
trivial.
But
let's
write.
C
Yeah
I
have
been
on
vacation,
so
I
haven't
done
much
since
last
office.
Hours,
meeting,
I'm,
just
I've
done
a
bit
of
documentation,
work
and
they're,
trying
out
the
getting
that
the
documentation
for
the
plug
installation
in
so
I've
just
been
doing
a
bit
of
documentation.
I
haven't
done
much
work
since
last.
C
A
A
Integrator
API
to
a
separate,
plugin
and
I
think
it
would
be
the
next
thing.
I
will
be
working
on
I'm,
also
working
on
record
compatibility
page.
So
as
we
discussed
before
we,
you
rather
need
something
in
order
to
demonstrate
at
the
current
status
of
support,
I've
started
from
wiki
page
immediately.
She
didn't
work
well
because
yeah
actually
I
can
just
show
it
gently.
Cia
configuration
is
good
plug-in
so
yeah
here
I
have.
A
Compatibility
be
okay,
so
I've
started
from
classic
a
wiki
page.
We
had
for
compatibility
issues.
So
probably
you
have
already
seen
wagons
affected
by
the
200,
so
just
a
long
long
list
of
all
wishes
with
fixes.
So
it's
a
kind
of
landing
page
for
users
who
want
to
understand
what
they
need
to
update.
It,
cetera
I,
wanted
to
create
something
for
Jake
asked,
but
before
doing
that,
I
wanted
to
automate
the
process
a
bit.
A
So
instead
of
that
having
some
jitter
queries
or
whatever
in
order
to
simplify
the
thing-
and
this
is
the
first
result
and
by
the
teacher
equities,
I-
don't
work
reliably
in
our
controls
page.
So
I
worked
a
bit
with
Danielle
back
in
order
to
create
new
released
s
field
and
yeah,
currently
I'm
trying
to
introducing
new
dashboard
for
that.
A
Second,
okay,
so
something
like
that
so
far,
it
doesn't
look
pretty
but
yeah.
The
main
advantage
sure
that
you
don't
need
to
do
it
anything
excepting
setting
one
Jake,
ask
compatibility
label
and
here
obviously
I'll
try
to
refactor
it
to
make
it
better
so
yeah,
it's
what
I
want
to
finalize
by
the
end
of
this
week.
So
we
have
it
for
the
release
candidate,
maybe
wiki
or
maybe
some
automated
think
by
JIRA
TBD.
A
A
C
A
So
the
main
idea
of
the
plugin
is
to
have
pipeline
multi
branch,
in
definition
a
CMO,
and
yet,
in
order
to
do
that,
we
decided
to
use
some
bits
of
Jake
asked
and
the
word
from
what
I
see
a
bishop
tried
to
dis
his
keys,
and
he
has
a
little
bit
reported
few
related
issues
about
the
plugin.
So,
for
example,
logic
has
compatibility
in
JIRA,
test,
publisher,
etc.
The
use
case
is
pretty
specific.
It's
not
exactly
system
configurations
code
right
now.
A
B
A
A
C
If
you
look
at
the
milestone
right-
yes,
there
is
only
there
is
form,
must
must
have
issues
and
we
need.
We
ever
need
to
move
them
out
of
there,
I've
stolen
or
close
them
before
you
into
release
your
way
and
you're.
Waiting
on
that
compatibility,
dashboard
and
you
plan
to
have
that
done
right
within
the
lease.
So
that's
one
pound
mm-hmm,
then
there's
the
issue
277
with
the
Magna
tension
points
API
as
beta
and.
C
A
C
A
Yes,
so
one
of
the
issues
we
hit
with
that
recently
compatibility
for
global
configuration
things.
So
the
issue
is
after
free
plugin,
there
was
global
configuration
section,
but
it
was
moved
from
one
category
to
another
and
the
default
it
breaks.
Compatibility
with
Jake
asked
you
to
configuration
outside
Jenkins
element.
Oh,
it's
not
a
bloated
for
the
release,
but
yet
guess
this
is
a
topic
which
is
somewhat
related.
A
A
So
the
main
problem
of
this
patch
that
it
just
skips
category
check.
So
it
means
that
you
can
apply
a
global
configuration
to
each
could
be
boring,
independent
of
a
way
it's
located.
It's
perfectly
fine
from
the
compatibility
point
of
view,
but
on
the
other
hand
it
doesn't
allow
similar
symbols
in
different
categories.
So
it
might
be
a
mission.
B
A
A
A
A
B
C
And
then
the
last
must-have
issue
right:
that's
the
users
should
be
warned
about
invalid
condition,
but
I
guess
that
ties
into
the
the
rest
thingy.
You
guys
have
been
working
on
where
you
can
submit
a
partial
configuration
as
a
funny
guy.
A
A
Yeah
yeah
I
think
that
even
if
it's
the
driver-
and
we
can
formally
close
for
this
ticket
but
yeah
if
the
dry
run
happens
automatically,
it
could
improve
the
verification
flow
a
lot.
But
you
know
in
this
case
it
doubles
the
execution
time
or
maybe
not
doubles,
but
you
really
impact
of
execution
time,
but.
A
C
C
C
B
Are
actual
implementation
is
based
at
the
lower
level,
as
Europe
limitation
is
based
on
running
the
configuration
with
a
drive,
try
one
flag
so
that
we
don't
actually
applies
the
resulting
configuration,
as
this
is
only
used
to
avoid
contribution,
but
at
the
higher
level
you
have
to
explicit
metals.
Okay,.
C
A
A
A
A
A
C
A
A
A
So
I
really
think
any
other
stories
in
the
release:
candidate,
I.
C
Think
it's
good
and
one
thing
I
notice
is
that
we
actually
we
actually,
we
actually
did
it
more
like
the
camp
and
approached
a
couple
of
issues
got
ejected
with
the
in
own
thing
and
and
the
Maven
installer
things
also
got
added.
So
we've
we
put
in
more
more
work
in
the
release
Kennedy
than
we
actually
planned.
Yeah.
C
A
Yeah,
that's
right
so
yeah
guys
if
you
want
to
have
something
to
be
added
to
the
scope
just
edit
to
the
milestone.
So
it
was
quite
a
penny.
At
least
we
created
the
first
median
Chris
Evelina
in
June,
so
yeah.
The
plan
may
have
changed
since
that.
So
if
you
see
any
other
issues
to
be
resolved
for
the
release
candidate
and
probably
more
important
for
the
final
release,
just
them
two
milestones.
A
C
A
A
C
A
A
C
A
C
D
C
A
Yeah
yeah
so
I
guess
we
just
try
to
close
these
things
us
up
and
then
which
one
we
ship,
because
yeah
I
think
the
main
you
think
for
release.
Kennedy
is
rather
promotion,
I'm,
not
sure
whether
we
really
need
to
eat
or
not,
but
yeah
generally
having
Jenny
say
your
announcement
like
a
blog
post
is
something
we
could
benefit
from
when
all
these
compatibility
pages
are
ready
so
that
we
can
start
processing
the
feedback
from
the
field
and
undressing
bit
yeah.
A
Because
one
of
the
major
issues
we
have
a
headcase
plugin
compatibility
because
yep
even
now
is
just
so.
We
have
created
a
Lib
label.
We
already
have
something
like
12
tickets
there,
but
they
are
mostly
related
to
Jake
asked
itself.
Yeah
I
think
that
we
will
hit
her
no
plugins,
which
need
to
be
updated.
So
we
have
luckily
plug-in,
has
been
already
updated.
A
bit
ownership
plug-in
artifact
manager,
s3
reported
by
batiste
for
the
a
Jenkins
essentials
project.
C
Is
this
some
of
this
some
of
the
things
that
I
might
be
able
to
like
submit
pull
requests
for?
Can
you
can
you
can
you
can
you
wanna
know?
Can
you
put
the
link
in
the
message
box
or
they
feel
that
you
created,
so
that
would
mean
they
they
that
you
reissue
Pinda.
Can
you
put
that
in
a
day
out
check?
Oh,
yes,
oh
yeah,
I.
C
A
C
A
It
would
be
much
easier
it
Aquarius
worked
on
in
weekend,
but
they
don't
oh
wow
yeah,
so
I
will
threaten
by
the
dashboard.
Here.
That's
why
I've
started
created
at
Creighton
cabbage,
but
in
Jenkins,
JIRA,
okay,
okay,
so
Jake
as
compatibility
so
likely
I
will
start
from
just
putting
it
there,
which
yeah.
Probably
it's
not
a
100%
approach
because
hey
we
still
have
plugins
which
do
not
use
Judah
as
a
main
but
trigger
so,
for
example,
docker
plug-in
mainly
uses
github
issues
and
there
are
search
plugins
so
likely.
A
A
A
A
A
D
D
D
So
in
here
what
I
am
doing
is
if
a
step,
if
user
provide
only
one
parameter,
then
it
will
be
a
default
parameter
and
I
am
using
configurator
dot
get
data
bound.
Constructor
and
I
am
passing
the
class
of
that
step
so
that
I
will
get
a
constructor
and
then
I
am
just
using
concertedly
instance
to
create
object
for
that
step,
and
then
I
will
call
snippet
tiger
dot
the
object
to
be
function
to
create
a
snippet
for
that.
D
If
we
need
turn
creator
object,
we
need
to
pass
a
mapping
object.
Asti
node
object
in
configurator
dot,
config
function,
so
I
am
building
a
mapping
object
to
the
parameters
from
the
parameters
that
way
I
will
get
from
the
vinyl
file.
So
these
three
functions
do
mapping
for
scared
of
marine
who
sit
and
do
nothing
or
map
are
doing
that.
One
way.
D
And
then
I
am
just
using
I
will
get
a
configurator
from
controller
to
look
up
and
pass.
I
will
pass
the
class
of
the
object.
Then
I
will
get
controller
and
I
will
call
the
consulate
or
console
and
pass
the
mannequin
object
so
that
I
will
get
a
step
object
and
then
again
I
will
use
an
appetizer
dot
of
the
two
GUI
to
get
the
snippet
of
that
step
and
I
guess
it
in
the
pipeline
network
code
appropriately
yeah.
So
this
is
how
I
am
using
Jake
as
plugin
for
this
to
generate
snippets
for
steps.
A
D
Yes,
as
already
mentioned,
I
got
some
problem
with
nm
classes
and
they
do
the
computer
dot.
Lookups
method
was
returning
null
for
for
a
Java,
util
dot,
concurrent
time
units
class,
that
is
a
new
class
and
yeah
I,
have
created
a
facial
fallback
also
here
and
I.
Think
it's
been
fixed
by
Nicolas
in
PR
and
one
more
issue.
I
got.
D
D
D
A
A
problem
for
many
old
plugins,
so
I
mean
hot
some
course.
Maybe
before
1.2
hundred
or
so
I
didn't
have
read
the
data
binding
PP
guys
so
like
in
developers
we're
implementing
processing
of
JSON
objects
on
their
own
yep.
It
has
changed
years
ago,
but
we
still
have
this
code
in
some
plugins
yeah
I.
Guess
it's
not
a
problem
for
your
project,
but
here
for
Jake
asked
project.
It's
like
a
problem
when
the
same
happens
in.
A
D
A
A
C
I'm,
from
my
point
of
view,
it's
a
I
need
and
II
just
no
more.
What
well?
How
does
this?
What
what
happened
for
the
simple
plug-in?
What
are
you?
Are
you
using
this
Yambol?
Is
it
something
you
are
you
putting
into
the
configuration
of
the
plug-in
or
are
you
can
you?
Can
you
show
us
an
example
of
what
how
this
ties
into
Jake
ask
how
it's
working,
because
I'm
like
I'm,
not
sure
what
it,
what
a
problem
you're
solving
at
the
moment.
D
Yeah,
so
the
meaning
of
these
plugins
to
define
the
job
or
adequately
a
pipeline
as
easy
I
am
biml,
so
what
I
am
doing
for
that
is
I
have
all
these
things
and
defined
here
classes
for
all
of
these
things
here
and
when
I
parse.
This
Vimal
I
will
get
all
the
all
the
contribution
in
this
class
Vimal
pipeline.
D
B
D
A
From
user
perspective,
the
idea
that
you
have
a
repository
currently
you
can
define
jenkins
file,
which
is
a
definition
for
pipeline
which
can
be
used
in
multiple
range
to
create
automatic
CI
CD,
for
you
ranges,
and
the
idea
was
to
have
something
like
that
for
young
definitions.
So
it's
a
kind
of
holy
war.
Some
people
like.
A
Gamma
law
or
the
modeling
languages,
some
people
just
picture
programming
languages,
and
yet
the
idea
of
this
plugin
was
told
for
a
llamo
engine
which
allows
configuring
jobs
easily.
So
yeah,
that's
what
has
been
created
and
yeah
before
that
there
were
several
reference
implementations.
For
example,
Nicola
has
created
a
code
ship
plug
in
and
there
you
go
other
yellow-based
plugins,
oh
yeah.
This
is
an
implementation
which
also
introduces
such
multi
branch
definition,
but
as
llamo
and
the
Yamal
gets
converted
to
declarative
pipeline
now,
ok.
C
D
C
D
A
C
C
A
Right,
so
they
do
that
the
plug-in
will
have
its
own
extensibility
engine,
but
using
Jake
asked
looks
like
a
good
option
to
support
the
white
number
of
steps
out
of
the
box,
and
we
yeah
what
I
especially
like
about
this
approach
and
that
it
gives
combination
of
Jake
asked
and
pipeline
snippet
generator
so
that
we
integrate
two
tools
together
in
order
to
convert
e-journals
to
pipeline,
looks
pretty
promising
as
an
approach
so
far
so
object.
How
many
plugins
have
you
tried
so
far?
I.
A
A
A
D
A
C
A
A
C
A
Yeah
and
we
we
can
follow
up
later,
but
you
personally
I
think
that
this
approach
is
helpful
yeah
if
it
flies
well.
One
of
the
things
we
could
consider
for
simple
request.
Job
plugin
is
to
offer
configurator
for
steps.
So
currently
Jake
asked
plugin
uses
it
uses
job
Bissell
to
generate
jobs,
but
one
of
the
possible
options
would
be
to
have
another
configurator
powered
by
Jacob
by
a
simple
pull
request:
job
plugin.
So
it
would
build
possible
to
define
simple
jobs
as
yummo
directly
in
jenkins,
Tiamo
or
maybe
included
claims.
A
A
C
D
A
It's
probably
not
replacing
because
the
job
they
silly
is
much
more
flexible
because
it's
new
job
do
you
say:
yeah
yeah
for
simple
declarative
for
syntax,
it's
something
which
could
be
viable
because
yeah,
defining
multi
branch
pipelines
in
Jake
ask
is
problematic.
For
example,
recently
we
had
an
issue
with
retriggered
and
Co
for
all
bills
because
they
was
no
job
ID.
So
something
like
that
retained
right
in
the
guidelines.
So
there
was
a
patch
to
the
documentation
about
maybe
having
a
specialized
engine
would
be
useful.
Just
a
second
I
will
find
this
patch.
A
A
Okay,
yeah
so
yeah
thanks
for
your
presentation
and
if
somebody
is
interested
tomorrow,
we
will
have
a
Jenkins
online
meetup
about
google
Summer
of
Code
and
Abhishek
will
be
doing
a
full
demo
of
the
project.
So
if
somebody
has
any
feedback
or
questions,
please
feel
free
to
join
this
meeting
and
we
will
talk
more
about
the
current
status
and
then
probably
jakers
configurations
as
well.
C
A
Okay
mm-hmm,
so
it
gets
a
bit
c2fo
today
them
so
thanks
to
everybody
for
participating
or
for
watching
the
status
update,
and
you
join
us
in
two
weeks.
Hopefully,
we'll
have
four
in
this
candidate
by
this
time,
so
it
will
be
much
more
open
in
terms
of
plug-in
integration,
feedbacks
and
even
now,
if
you
try
alpha
version,
if
you
see
something
please
report
issues,
we
will
try
to
take
a
look:
okay,
thanks
again
and
yes
seal
so
I'm
stopping
the
broadcast.