►
From YouTube: GSoC 2021 Git credentials binding 2021 07 13
Description
Jenkins git credentials binding office hours July 13, 2021. Topics included a review of test coverage of the credentials binding, documentation location for the credentials binding, and resolving questions that were raised during code review.
Meeting notes are available at https://docs.google.com/document/d/1gZneYIDWrT5S-1ACG641wfvxs7vnDC0RCYqy-EuuhwY/edit#heading=h.m0lph2u36pvh
A
Welcome
everyone,
it's
git
credentials,
binding
project.
This
is
the
oops
14th
of.
A
A
A
A
A
It's
been
tested
on
centos
7.,
sentos,
eight
debian,
nine
debian
10
debian
testing,
which
is
a
pre-release
of
debian
11.
A
A
Hardware
been
tested
on
amd,
64
arm,
64.
system,
390
mainframe,
so
that's
a
an
ibm,
mainframe
class
piece
of
equipment
and
I
think
I
don't
think
I've
yet
tests
on
powerpc64le.
A
These
are
64-bit
arm
at
aws
and
oracle
cloud.
A
So
does
that
answer
your
question
harshit
in
terms
of
where
we've
been
run
and
where
tests
have
run.
B
A
Any
concerns
there
any
any
worry
about.
Oh
hey.
What
are
we
missing
see?
I
should
probably
double
check.
I
may
have
understated
something
there
just
a
minute:
let's
do
one
more
check.
So
if
we
look
at
the
agent,
so
we
mentioned
freebs,
oh
windows,
I
didn't
mention
windows,
oops,
sorry,
windows,
10
and.
A
A
A
A
And-
and
the
one
that
is
most
of
concern
to
me
is
controller
windows
right
because
there
are
things
that
happen
only
on
the
controller
and
I
haven't
done
an
awful.
I
haven't
done
any
testing
of
the
code
running
on
a
windows,
controller.
C
B
A
Great
okay,
one
of
the
concerns
for
well
yeah,
so
very
good.
B
A
Well,
the
I
would,
I
would
phrase
it
differently.
Sc
linux
is
an
interesting,
interesting
concept,
because
what
that
is
is
that's
centos
red,
let's
call
it
red
hat
or
oracle
linux
configured
with
se
linux
and
the
answer
there
is
it's
known
to
not.
The
plugin
itself
is
known
to
not
run
well
on
se
linux.
A
A
I
forget
who,
from
one
of
the
a
major
jenkins
contributor
but
dev,
work
in
progress
to
improve
the
plugin
on
se
linux,
but
it's
it's
very
much
in
progress
and
I
don't
actually
intend
to
install
or
configure
sc
linux
because
I
don't
have
use
for
it
and
I
don't
know
well.
I
know
that
in
the
last
15
years
there
haven't
been
that
many
users
using
it
because
if
there
had
been
there
would
have
been
an
awful
lot
of
complaining.
D
So
so,
do
you
propose
that
we
we
release
it
and
then
see
if
yeah.
A
A
Yeah
so,
for
instance,
I
can
give
you
other
examples
of
things
where
places
where
we
haven't
run
it.
We
have,
it
run
on
it,
run
it
on
and
let's
see
so,
we
haven't
run
it
on
a.
A
On
power
pc
or
on
hp's
hpes,
what
do
they
call?
It
fault
resilient
linux
and
I
forget
the
name
of
it
or
fault
resilient
unix
clone.
How
embarrassing?
What
is
the
name
of
that
operating.
A
A
A
I
I
think
we,
I
think,
even
if
we
couldn't
safely
assume
it,
we
have
to
assume
it
because
without
without
access
to
the
hardware,
there's
no
way
to
test
it.
As
far
as
I've
seen,
I
had
never
tested
these
hpe
non-stop
servers
and
had
not
tested
powerpc
until
like
18
months
ago,
but
had
never
tested
non-stop,
and
it
works
just
great
for
randall.
So
so
java
is
surprisingly
portable
across
platforms.
A
A
Okay
yeah,
my
my
concern
was
we'll
talk
about
mine
in
test
results.
Mine
was
not
so
much
with
platforms
or
operating
systems.
Those
those
are
working
great.
It's
cases
where
users
may
make
a
a
configuration
mistake
and
the
configuration
mistake
causes
the
the
code
to
not
behave
well
and
and
not
necessarily
to
give
a
a
warning
message
to
tell
them
what
happened,
what
they,
what
mistake
they
made.
A
A
For
me,
I
wanted
it
in
the
pipeline
section,
in
addition,
just
because
I
think
that
it's
a
it's
a
great
addition
to
pipelines.
I
know
it's
more
than
pipelines.
You
can
also
use
it
with
freestyle
and
I've
confirmed
it
works
great
with
freestyle,
but
I
like
it
with
pipelines
because
we
talk
about
pipelines
in
the
documentation.
We
talk
about
multi-branch
and
then
we
add
one
more
section
here
on
using
get
advanced
git
functionality
with
our
git
credentials,
binding
for
advanced
functionality
in
pipelines,
and
then
we
give
some
good
examples
there
of
hey.
A
A
B
A
Yes,
okay,
good,
so
here
are
some
examples.
So
jenkins
3860
asks
for
hey.
The
git
plug-in
is
doing
strange
things
with
sub-modules,
and
that
is
that
is
absolutely
the
truth.
It
is
it
does
what
it
does
with
sub-modules,
I
think,
is,
is
flawed
and
a
mistake
doesn't
handle
sub-modules
with
spaces
in
it.
Somebody
else
asks
for
hey
I'd
like
to
use
the
ability
have
the
ability
to
clone
with
the
shallow
sense
option.
A
A
D
D
A
A
C
A
A
A
C
A
To
the
email
that
way,
and
actually,
if
you'll,
do
a
group,
a
reply,
all
that
will
encourage
other
people
to
do
the
same
thing,
because
right
now,
I'm
a
little
worried
that
people
are
not
replying
nearly
enough
and
cara.
Very
much
needs
that
to
happen.
Will
this
presentation
will
be
next
week
and
we're
going
to
start
promoting
it
very
actively.
This.
A
B
No
one,
no,
not
that
one
yeah.
What
a
little
bit
I
was
just
want
to
know
in
aft.
In
the
final
week
of
the
g
shock,
there
will
be
another
g-shock
meetup
by
jenkins,
or
is
this
the
first
and
the
last.
A
So
we've
we've
in
the
past
consistently
had
two
presentations
or
we've
had
presentations.
A
A
B
A
Devops
world
another
presentation
and
that
one
is
what's
called
a
lightning
talk
and
there
it's.
I
believe
it's
5
to
10
minutes.
I
think
it's
10
minutes
rishabh.
Do
you
remember?
Was
it
10
minutes.
D
B
Well,
yeah,
I
have
one
a
little
doubt
that
I
asked
in
the
previous
meeting
as
well
regarding
the
test
case
for
with
authentication
commands.
Do
we
have
to
write
a
test
case
for
without
the
authentication
commands.
A
I
oh
good
good
question.
Okay,
so
let's
take
that
as
a
separate
test
cases
tests
do
we
need
an
automated
test
of
authenticated
operations
right.
A
current
automation.
A
A
A
And
when
I
say
expensive
I
just
mean
it's:
it
tends
to
break.
It
tends
to
waste
time
as
we
try
to
maintain
it
and
doesn't
tell
us
all
the
things
that
interactive
testing
tells
us.
A
A
A
Excellent
well
and
I
loved
I
love
the
additions
you
made
additions
added
have
added
for
declarative.
If
I
remember
a
declarative
pipeline
and
possibly
also
for
scripted.
I
know
I
saw
at
least
one
test
and
possibly
two
that
was
included
in
the
automated
tests
for
pipeline,
so
that
was
brilliant.
Thank
you
very.
A
B
A
A
A
A
A
A
A
A
A
Oh
right?
Okay,
this
is
a
fun
one.
Bitbucket
is
failing
on
the
s390
agent
because
it
can't
resolve
a
host
name,
and
I
checked
and
there's
something
wrong
with
the
hostname
resolution
on
that
on
that
machine.
So,
let's
build
it
now
it
will
skip
s390
there.
We
go
this
time
it
built,
oh,
no,
it
built
on
s390
and
it's
been
fixed
great,
so
mainframe
works.
A
A
So
here's
a
pipeline
definition
with
of
okay,
here's
a
freestyle
job
using
it
another
freestyle
job
using
a
batch
file,
and
then
now
here
is
a
parameterized
pipeline
with
the
credentials
binding
parameterized.
All
of
them.
I've
checked
recently
are
working,
oh
and
that
one
has
shown
a
failure
where.
A
A
D
I
I
have
an
observation
which
I
did
not
so
I
did
not
imagine
that
there
would
be
a
trade-off
of
of
a
potential,
so
we
will
lose
some
people.
We
fail
some
jobs
where
people
are
not
aware
where
the
users
are
not
aware
of
the
gate
tool
and
earlier
when
we
were
resolving
they
get
to
ourselves,
or
at
least
trying
to
do
that.
We
those
cases
would
have
worked.
D
A
A
It
will
generate
that,
but
when
they
use
that
it
will
fail,
even
if
they
put
in
a
valid
credentials
id
this,
not
a
valid
get
tool
will
cause
the
job
to
fail
rather
than
falling
back
and
using
the
default.
And
I
don't
know
in
that
case
if
we
should
fall
back
and
use
the
default,
but
and
there
isn't
a
way
from
the
syntax
generator
any
longer
to
generate
something
that
does
not
have
a
get
tool
name
value.
Even
if
it's
the
empty
string.
D
D
To
fail,
but
at
least
if
the
user-
let's
say
by
mistake
or
without
the
required
context,
added
the
wrong
tool
and
if
the
default
installation
is
available,
those
cases
we
would,
we
would
still
achieve
a
better.
B
Oh
yeah,
sorry,
I
didn't
see
that
so
yeah.
I
heard
the
bishop's
question
and
I
was
saying
the
related
to
the
resolve
git
tool.
It's
like
it
has
no
thing
to
do
with
the
code
I
have
developed.
So
if
we
provide
an
empty
text,
an
empty
input
or
empty
string,
the
it's
the
the
responsibility
of
the
dissolved
tool
method
to
check
it,
I
mean
I'm
just
providing
the
name
everything
has
to
be
under,
but
it
is
all
good
tool.
B
Before
we
were
using,
then
the
that
was
my
code
that
was
using.
That
was,
you
know,
taking
the
responsibility
of
finding
an
appropriate.
C
A
Okay,
so
so,
but
but
even
so,
doesn't
when,
when,
when
you
call
resolve,
get
tool,
it's
giving
back
a
response
right
and
that
response
I
assume,
if
it's
so
here,
we've
got
whoops
here.
We've
got
the
call
to
resolve
git
tool.
A
D
A
Here,
let's
look
at
it,
it
shows
I
put
in
the
get
tool-
name:
oh
okay,
non-existent
tool.
So
there's
there's
one
so
now,
let's
try
it
with,
and
I
assume
that
was
was
calling
into
where
to
go,
calling
into
the
source
code
here
and
that
this
was
likely
returning
null
and
then
that
was
causing
this
to
return
null.
B
D
But
if,
if
the,
if
the
git
tool
name
is
something
which
does
not
exist,
then
it's
going
to.
B
A
B
A
A
B
C
B
B
A
B
A
A
D
But
then
why
would
it
do
so
if,
if
it's
using
the
default
installation
with
an
environment
where
the
installations
have
the
cli
get
tool
installed,.
A
A
A
A
A
D
C
D
I
just
have
a
small
question:
if,
if
we
have
the
time,
I
just
want
to
ask
that
harshit
you're
trying
to
check
if,
if
the,
if
the
installation
type
equals
git,
tool.class
or
not,.
B
D
D
C
B
B
To
the
binding
and
performs
the
operation
and
any
other
type
like
j,
git
or
jake
apache
does
not.
B
B
B
Get
the
line
third
line,
the
yeah
the
code
on
the
line.
38
is
with
the
this
case.
Only
so
so.
If
we,
if
we
look
at
the
git
tool,
name
specific
tool,
object,
then
the-
and
if
we
look
at
the
class,
it
will
show
us
the
tool
dot
class.
But
if
we
perform
this
the
code
on
line
38
and
search
for
the
git
tool
with
the
name,
so
I
say
with
the
name
specified
then
the
class
is
revealed,
so
it
will
tell
us
which
class
it
the
git
tool
is
from.
B
D
I'll
I'll,
probably
I
just
look
more
into
the
ones
I
I
I
understand
what
you're
saying
or
should
I
just
need
to
look
at
the
code
once.
A
B
A
But
actually
this
is
a
great
one
for
us
to
just
we
can.
We
can
use
a
debugger,
because
this
code,
I
believe,
is
executed
inside
the
automated
tests
and
the
automated
tests
pass
in
jet
passing
j
get
apache
and
cli
get
so
we
can
just
watch
it
execute.
So
that's
that's
something.
That's
pretty
easy
to
check
with
a
debugger
to
see.
Okay
is,
is
this
condition
ever
false.
B
A
A
I'm
we've
we've
hit
our
hour
I've.
I
wanted
to
double
check
on
one
more
topic.
Could
both
of
you
spend
another
five
minutes
on
on
this
before
we
end.
B
A
Okay,
there
was
one
code
review
open
question.
It
was
related
to
the
get
client
plug-in
choice
of
the
api
name
in
the
in
the
proposed
change
here.
So
the
proposal
was,
let's
add,
a
new
method
is
cli
get
ver
at
least
and
a
question,
and-
and
it's
got
tests
very,
very
good.
The
question
from
me
and
then
also
from
I
think,
justin
and
richard
had
the
same
question.
Why
not
just
expose
the
existing
method?
Make
it
public
any
insights
you
want
to
offer
there.
B
D
Only
but
my
concern
was
just
not
a
concern,
just
an
observation
that
if
we
are
exposing
it
via
a
rapture,
then
essentially
it
renders
that
protection
package
protection
useless
right.
It
is
public
because
we're
not
doing
we're
not
placing
any
additional
check
or
any
logic
which.
B
One
thing
that
I
was
a
bit
concerned
was
in
the
future:
if
we
need
an
implementation
change,
then
we
could
use
this
method
instead
of
making
everything
in
that
in
the
at
least
version.
So
we
have
the
wrapper
method
and
we
could
modify
it
according
to
our
need
or
we
can
create
another
one
as
well,
but.
D
C
D
A
A
A
A
A
A
A
A
D
A
B
A
B
A
A
This
agent
uses,
what's
called
the
jenkins
swarm
as
a
technique
of
connecting
and
most
of
the
other
agents
use
ssh.
So
I
have
a
wide
variety
of
connections.
I
have
an
intentional
variety
of
connection
types.
I
am
not
using
any
kubernetes
and
I'm
not
using
any
websocket
at
this
point.
So
there
are
still
some
connection
types
that
I'm
not
testing
here,
but
I've,
I'm
intentionally
testing
a
variation
of
different
connection,
types
to
be
sure
that
they're
all
well
behaved.