►
From YouTube: 2022 05 16 Pipeline Help
Description
No description was provided for this meeting.
If this is YOUR meeting, an easy way to fix this is to add a description to your video, wherever mtngs.io found it (probably YouTube).
A
Welcome
this
is
pipeline,
help
the
she
code,
africa
contributon
project.
It
is,
may
the
16th
2022.
thanks
very
much
for
joining
topics
on
the
agenda
today.
Questions
and
answers
seems
like
the
most
important
topic
and
sophia
and
afi.
Let's,
let's
put
your
questions
and
and
try
to
find
answers
on
that,
and
then,
if
there's
time
within
the
hour,
we
can
do
other
topics
as
well.
What
what
other
topics
would
you
like
besides
question
and
answers.
B
So
affairs
and
I
worked
over
the
weekend
together
and
we
were
able
to
highlight
contribution.
We
will
be
making
for
this
project
for
all
the
plugins
that
we
listed.
B
Okay,
so
if
we
just
start
with
the
compute
plugins,
we
went
to
on
the
plugin
page
and
discovered
that
there
were
no
there's
not
enough
information
about
the
plugin,
just
an
introduction,
which
you
can
also
see
in
the
git
repo
here.
B
A
B
B
Yes,
this
is
what's
one
of
the
ones
we're
working
on
and
we
discovered
there
is
little
or
no
information
about
the
plug-in
and
just
the
introductory
part
and
would
actually
want
to
have
more
information
there,
but
would
want
an
advice
on
exactly
what
to
do,
because
for
now
we
just
probably
have
so
many
examples
probably
would
like
to
include
some
examples,
but,
unlike
the
git
plugin,
it's
had
a
lot
of
information
and
I
think
if
you
can
maybe
guide
us
on
what
exactly
to
focus
on,
we
can
make
useful
contributions.
A
A
A
And
then
inside
this
folder
I'm
going
to
create
a
new,
and
I
want
to
create
a
new
freestyle,
a
new
pi
free
pipeline
job
first.
So
let's
call
it
call
or
use
build,
build
step
to
call
other
to
to
launch
other
builds.
A
So
here
I'm
going
to
create
a
pipeline
step,
that's
going
to
use
the
build
step
and-
and
I,
whenever
I
create
a
pipeline,
I
like
to
first
be
sure
that
hello
world
works,
so
I'm
doing
the
hello
world,
I'm
building
it
now
and
there
it
is.
It
worked,
and
it
said
hello
world
there's
the
hello
world,
okay,
so
the
the
this
is
a
fake
for
now,
but
we're
going
to
use
the
build
step
to
launch
other
builds
now
the
idea,
then
oh,
let's
make
this
text
more
readable
there.
A
A
A
They
want
to
use
that
other
job
that
they're
going
to
build,
so
they
want
pipeline
that
will
be
launched,
and
I
need
to
get
the
text
of
that
that
way
so
pipeline
that
will
be
launched,
and
now
it
hints
to
me
hey.
This
is
a
job
that
it
recognizes.
So
it
knows
about
that
job
and
I
could
have
made
this
much
less
text.
A
If
I
just
said
pipeline,
it
will
suggest
that
and
I
could
click
it
okay.
So
now
should
we
wait
for
the
job
to
finish.
For
this
time.
Yeah,
let's
say
yes:
do
we
need
a
quiet
period,
I'm
going
to
say
just
for
fun,
so
three
seconds
and
now
I'll
generate
the
pipeline
script
and
that's
what
I
want
to
do
so.
What
I
just
did
is
I've.
I've
generated
a
script
that
says
the
upstream
will
ask
to
launch
the
job
named
pipeline.
A
A
A
So
so
what
the
build
step
did
is
launched
another
job
and
and
now,
if
we,
if
we
do
things
like,
for
instance,
let's
configure
this
one,
make
it
a
little
more
dramatic
we're
going
to,
instead
of
just
echoing
hello
world,
we're
going
to
sleep
for
15
seconds,
we're
gonna
wait
inside
this
job.
So
I'm
going
to
save
that
and
now,
when
I
click
use,
build
step
to
launch
other
I'm
going
to
do
build
now
and
watch
what
happens
here,
notice
that
it
started
one
second
ago
and
six
seconds
in
it
hasn't
finished.
A
A
Sleeping
for
15
seconds
that
15
second
delay
was
weighted
for
by
this
upper
level
job.
So
so
one
of
the
use
cases
that's
good
to
describe
is
in
this
pipeline.
Syntax
generator
wait
for
completion.
What
does
it
mean
and
how
do
we
explain
to
people
why
it
means
that,
and
so
what
wait
to
come
for
completion
means
it's
got.
A
You
may
ask
that
this
pipeline
wait
for
completion
on
the
downstream
build
and
here's
what,
but
then
it
says,
okay
now.
What
is
all
of
this
other
help,
and
this
kind
of
thing
gives
us
lots
of
insights
on
oh
wow.
There
is
a
return
value
that
that
I
could
use.
That
can
give
me
other
examples,
so
not
just
not
just
that:
hey,
let's
explain
what
weight
for
completion
means,
but
now
this
is
giving
me
a
hint-
and
I
could
remember
other
things
about
this.
B
Yes,
I
saw
I
was
going
to
ask
about
those
parameters
that
comes
with
that
weight
for
completion.
I
don't.
A
B
B
A
Good
good,
so
how
would
how
would
these
things?
How
would
these
things
help
a
real
user,
good,
good
question,
exactly
very
good,
okay
and
and
what
what
I
think
you
just
asked
is:
why
would
a
real
user
care
about
build
number
returned
from
a
from
a
weight
and
what's
the
what's
the
case?
What's
the
use
case,
the
story
that
someone
might
care
about
that
one,
I
I
think,
is
what
you're
asking
right.
A
So
so,
let's
let's
talk
about
that
because
I
think
that's
a
good,
that's
a
good
place
to
look
at
these
kind
of
things.
So
so
what
I'm
going
to
do
is
I'm
going
to
try
to
take
what
the
snippet
the
syntax
generator
suggests
here
and
it
says:
hey
the
return
value
of
the
step
can
be
used
to
get
information.
So,
let's,
let's
do.
Let's
get
the
return
value
now
now
you're
going
to
get
the
process
of
switching
from
declarative
to
scripted
pipeline
and
so
build.
A
A
A
We
don't
need
to
wait
15
seconds.
Maybe
we
wait
three,
because
three,
I
can
wait
patiently
for
okay.
So
now
remembering
how
I'm
configured
I'm
going
to
call
that
builds
that
that
build
step
and
remember
its
return
value
in
the
build
result
variable
and
then
I'm
going
to
display
it
to
the
user.
Let's
see
if
this
gives
us
what
we
hope
so
here
it
is,
it
schedules
the
downstream
job
started
building
it.
Now
we
enter
the
three
second
wait
period,
and
here
it
says:
oh,
this
is
what
we
got
back
now.
A
A
So
so,
let's
look
at
that.
One
now
by
saying
configure
it
and
now,
instead
of
build
result,
we're
going
to
say
build
result,
dot,
number,
okay.
So
it's
now
referencing
that
build
result
thing
that
was
returned
from
build
and
looking
at
the
number
field,
and
so
now
I
need
to
make
this.
Oh
no!
No!
I
should
do
it
this
way,
it's
much
easier.
We
can
all
see
it
better.
If
I
do
a
second
echo
statement,
build
number.
A
A
And
it
says:
oh
look
at
this.
It
says
it
failed
and
stopped
the
execution
of
the
upstream
project,
so
the
downstream
failure
that
we'll
see
here
cause
the
upstream
to
fail
again
a
use
case
that
we'd
like
to
describe
what,
if
I
want
to
ignore
the
downstream
failure,
that's
this
propagate
errors,
thing.
A
A
And
this
time
what
it
should
do
is
this
job
will
schedule
the
downstream
start
building
it
wait.
The
three
seconds
see
that
it
failed
and
still
report
it
says
build
result
is
failure.
Build
number
is
seven.
Now,
that's
my
downstream
here.
So
let's
I'm
going
to
build
this
one
now,
just
to
give
us
a
new
number,
so
we're
going
to
build
several
copies
of
this,
just
to
be
sure
that
it's
distinct.
A
B
Yeah
yeah
actually
think
that
else,
meaning
that,
with
the
results
we
get
from
the
downstream
pipeline
viewed,
we
could
actually
like
make
a
make
a
conditional
statement
that
if
this
build
fails,
we
could
run
an
alternative
or
a
backup
build
or
something.
A
Yes,
exactly
very
good
yeah,
you
understood
it
precisely
it's
if,
because
of
because
of
what
I've
done
in
this
example,
here,
where
I
said,
remember,
remember
the
result
of
the
build
that
I
just
called
and
then
I
could
do
a
conditional
based
on
build
result.number
or
build
result,
dot
result,
and
now,
if
I,
if
I,
if
I
don't
want
to
worry
about
that-
and
I
say
if
I
call
a
downstream
job-
and
I
just
want
it
to
fail
everything,
then
I
would
re,
remove
this
propagate
false
or
set
it
to
propagate.
True.
A
Now,
let's
take
out
this
quiet
period
because
again
that
that's
something
that
can
be
explained,
but
in
this
our
particular
example,
we
really
didn't
need
it.
Now.
When
I
build
it's
going
to
immediately
start
it,
and
it
won't
wait
for
three
seconds
looking
for
other
changes,
it
just
starts
immediately.
A
So
as
an
example
in
propagate
errors
and
and
here's
a,
I
think,
they're
both
valid
valid
places-
propagate
errors
for
me-
is
a
little
easier
to
see
how
we
might
add
an
example
here
to
this
text,
where
what
we
would
say
is
the
pipeline.
Syntax
generator
generates
the
following:
when
we,
when
we
disable
propagate
errors,
and
then
you
might
say-
and
we
would
do
this-
because
we
want
the
return
value-
we
want
to
use
the
build
result,
but
we
don't
want
to
block
or
disrupt
execution
of
the
current
job.
A
B
Okay,
so
sorry,
why?
Actually,
like
writing
some
examples?
For
the
issue
to
request?
I
really
couldn't
generate
just
a
syntax
with
credentials
issues
requests
with
credentials.
B
I
was
able
to
do
for
the
custom
headers,
the
multi-part
file
and
the
others.
What
I
couldn't
do
for
the
credentials-
I
don't
know
if
you
could
then
wait.
B
It's
http
request:
plugin.
A
A
A
Okay
there
it
is
so
now
we
want
to
cre,
generate
an
http
request
that
we're
somehow
going
to
use
and
so
that
http
request
we'll
need
the
pipeline
snippet
generator
to
help
us
generate
the
http
request
right,
oh
dear,
do
I
not
even
have
it
installed
on
my
on
my
I?
I
must
not
have
it
installed
just
a
minute:
let's
get
that
plug-in
installed.
A
I
do
not
shame
on
me,
okay,
so
we've
got
to
first
install
the
plugin
http
request,
and
here
it
is
okay,
so
download
now
and
install
after
restart
okay.
So
in
about
30
seconds,
we'll
have
a
a
running
jenkins
with
because
of
how
busy
this
particular
one
that
I'm
running
is.
It
would
take
a
while
so
we'll.
So
what
we
want
to
do,
though,
is
we
need
to.
A
A
What
if
we
tried
there
to
launch
a
build
of,
because
I
happen
to
have
permission
to
do
this-
you
you
may
not,
but
I
have
permission
to
launch
a
build.
So
maybe
what
we
do
is
we
find
a
plugin
that
it's
okay
for
us
to
launch
a
build
on
it
and
that
will
do
that
with
an
http
request.
Oops
wrong
one.
This
one
ci
elastic
access.
A
Okay,
so
we
look
at
the
rest
api
here
and
we're
going
to
use
http
to
make
a
rest.
Api
sk
call
to
schedule
this
build.
So
here's
what
it
says
it
says
to
perform
a
build
post
to
this
url,
and
you
could
do
this
with
your
own
server.
I
just
happen
to
be
using
ci.jenkins.io,
so
this
is
the
url
that
I
need
to
open
with
a
post
request
and
I'll
need
to
use
credentials,
because
if
I
don't
use
credentials,
ci.jenkins.io
will
will
just
discard
my
request.
A
A
A
It's
just
starting
here
we
go
it's
back
very
good,
okay,
so
into
our
folder
and
make
an
http
request.
A
A
A
So
this
says
it's
going
to
say,
hello
world.
It's
going
to
submit
a
post
request
to
cid.jenkins.io
asking
to
build
the
elastic
access
plug-in.
So
let's
go
check
to
see
what
things
are
looking
like
right
now
before
we
start
it,
so
the
elastic
access
plug-in
right
now
is
its
most
recent.
Build
is
number
170.,
so
remember
that
number
170
we're
going
to
save
this
now
and
build
it.
A
A
A
I
don't
see:
oh
here
we
go
authenticate
there
we
go
so
let's
try
this
one
and
now
do
I
have
a
credential
that
I
can
there's
the
jenkins
api
token,
which
I
may
not
already
have
a
credential
here
that
I
can
use
so
I
may
need
to
actually
add
a
credential
for
right
now.
Let's,
let's
just
borrow
one
of
these
and
try
it
so
that
we
have
the
syntax,
but
I
expect
it
will
fail
because
none
of
these
are
for
ci.jenkins.io.
A
A
A
And
it
says
oh
notice,
this
is
different.
Instead
of
forbidden,
it
says
unauthorized,
so
it
got
the
request.
It
saw
that
I
was
trying
to
offer
a
username
or
a
a
credential,
and
it
says
that
credential
is
not
authorized
to
do
this,
so
the
next
step
I'd
need
to
do
is.
I
need
to
create
a
credential
on
ciderjenkins.io.
A
Is
that
no?
No?
No
I'm
wrong!
I'm
my
mistake,
kevin!
You
may
have
to
help
me
here.
I
think
I
need
to
do
configure
yes,
this
is
what
I
want
to
do.
I
want
to
create
a
new
api
token
on
ci.jenkins.io
that
I
can
use
to
to
do
this
work.
So
what
I'm
going
to
do
is
I'm
going
to
click
the
add
new
token
button
and
it
will
then
generate
a
token
for
me.
Show
it
to
me
on
screen
and
then
I
can
paste
it
into
a
new
credential
over
here
on
on
this
dashboard.
A
B
A
A
A
And
now
here,
unfortunately,
the
user
interface
is
confusing
and
I
apologize
for
how
confusing
it
is.
It
is
just
confusing.
What
I
have
to
do
is
find
a
place
where
I
can
click
a
down
arrow.
That
lets
me
add
credentials.
C
A
A
A
So
I
think
what
you
probably
did
was
and-
and
I
sincerely
apologize,
the
ui
for
this
particular
page
is
really
weak.
I
click
add
credentials
and
it
says
I'm
adding
a
credential
at
the
system
level
and
it's
a
global
credential
and
here
here
is
where
I'm
adding
it.
So
this
is,
I
suspect,
probably
where
you
were
adding
it
and
we
could
add
ours
here
as
well.
Let's
just
do
it
this
way
so
that
it's
it's
recorded
there.
So
this
one
I'm
going
to
make
make
some
additional
comments
here.
A
A
Okay
and
now
we're
at
the
point
where
user
mark
wait
was
about
to
click.
This
add
new
token
button,
and
this
is
where
I
apologize.
I
have
to
stop
screen
sharing,
because
otherwise
I
will
show
everyone
and
record
for
everyone
exactly
the
value
of
the
token
and
that
that
would
not
be
good.
So
I'm
going
to
stop
screen
sharing
I'm
going
to
press
the
add
new
token
button,
I'm
going
to
take
the
text
from
that
add
new
token
button
and
I'm
going
to
paste
it
in
here
as
as
this
global
credential.
A
C
A
A
A
So
what
you
see
now
is
here's
this
here's
this
password
that
I
pasted
already
hidden,
I'm
going
to
say:
ok,
I'm
going
to
drag
this
screen
off
and
press
the
save
button
there.
Okay,
now
back
to
my
configure
bringing
this
back
on
screen,
there
is
that
she
code
africa,
token
demo
and
now
what
we
really
want
to
see
is:
where
did
it
go?
And
here
it
is
ci.jenkins.api
top
level
global
api
token
and
there
it
is
and
the
password
is
concealed.
A
A
A
Continuing
downwards
authenticate-
and
here
oh
I'm,
so
glad
look
at
that
marky
waits
top
level
global
api
token
for
okay.
So
now
let's
generate
this
pipeline
script
and
what
we
see
here,
I
can
copy
that
thing
go
back
over
here.
To
my.
A
Okay,
so
this
is
saying
it's
going
to
authenticate.
With
that
api
token
I
just
created,
and
it's
going
to
use
the
elastic
access,
your
access
url,
to
check
where
we
are
on
ci
dot,
jenkins
seno.
Here
it's
still
build
number
170,
so
we
haven't
built
it.
We've
done
a
new
build.
Yet
I'm
going
to
save
this,
build
it,
and
now
this
time,
if
we're
lucky,
it
will
tell
us
hey.
I
used
there's
the
url
here,
it's
using
my
new
credential
good,
it's
sending
the
request
and
it
says
oh
201
is
in
the
accepted
range.
A
So
so
does
that
give
you
a
sense
of
how
we
could
do
a
credential
based
and
now
now
writing
that
in
an
example,
is,
is
probably
easier
than
actually
getting
it
to
work.
The
way
we
just
did
because
the
example
you
just
give
some
arbitrary
text
for
the
credential
id
and
assume
the
user
will
replace
it
with
their
own.
A
So
sophia
and
offi
okay
so
far,
or
is
there
more
that
we
should
discuss
about
how
the
authentication
how
how
to
get
to
this
point?
Because
it
may
be
that
what
we
would
want
to
do
in
a
long-term
thing,
not
for
this
project
but
someday
in
the
future.
We
might
want
a
video
of
this
kind
of
thing
where
we
say:
look:
here's
how
this
is
done,
because
there
are
a
lot
of
steps
to
get
a
credential
out
of
some
other
system
and
into
your
jenkins
controller.
C
B
A
B
Yeah,
thank
you
so
so
far,
we've
actually
got
some
clarity
on
two
major
plugins
that
we
have
issues
with,
and
I
don't
know
if
there
is
time
for
us
to
actually
explore
the
impute
login
the
input
step,
plugin.
A
C
Yeah
sophie
are
you
going
according
to
the
list
that
we
came
up
with.
C
C
It
was
just
also
we
wanted
to
notify
him
that
the
changes
that
he
tried
to
make
the
last
time
that
was
not
reflecting
it
was
because
do
you
remember
it
was
because
he
was
not
referencing
it
in
that
other
file?
Do
you
remember
yeah.
B
Mark
we're
actually
referring
to
the
last
mission
we
had
where
you're
trying
to
have
help
to
caption.
I
think
action
should
be
in
the
input
string,
plugin
and
it
wasn't
showing
so
we're
able
to
figure
it
out
that
rest.
Yes,.
B
A
A
A
A
A
A
And,
and
usually
the
input
is,
is
a
simple
yes
or
no.
Shall
I
go
forward
or
not,
but
but
the
goal
of
this
thing
really
is
to
ask
them
for
four
things
now
now
this
allows
us
to
do
parameters
and
then
the
parameters,
the
values
are
returned.
So
we
could
in
fact
ask
for
more
things.
So,
let's
let's
try
that
and
again
we're
going
to
use
the
syntax
editor
to
the
syntax
generator
to
help
us
so
input.
A
And
now
we
go
to
advanced
and
just
for
okay,
let's
see
waiting
for,
let's
see
how
about
we
ask
a
different.
What
do
you
want.
A
A
A
Okay,
so
this
says
I'm
going
to
take
it.
Maybe
we'll
comment
out
the
first,
so
I'm
going
to
take
input
from
the
user
that
asks
them
a
question
and
expects
them
to
okay,
so
input
requested.
A
There
we
go
so
now.
It's
put
me
into
a
screen
asking
me
for
for
my
input.
I
could
do
it
here
or
if
I
want,
I
could
look
and
let's
see
what
blue
ocean
does
with
this.
What
blue
ocean
says
is
what
do
you
want
and
there's
a
boolean
parameter
if
I
uncheck
it
or
check
it,
and
then
yes,
I
mean
it
is
the
button
to
say
yes
now,
if
I
run
it
again,
I
could
und
I
could
leave
the
boolean
parameter
checked,
but
if
I
click
abort,
it
will
cancel
the
job.
C
A
So
now
the
the
the
gap
there,
I
think,
is
that
hey
users
may
not
understand
the
the
first
pointer
is
we
always
want
to
point
them
to
pipeline
syntax
generator
right.
It
really
is
the
best
way
to
do
this
without
without
guessing
what
the
syntax
is.
Just,
let
the
generator
help
you,
but
still
it
would
be
good
if
we
had
some
words
on
the
on
this
on
the
pipeline
documentation
page.
C
B
A
B
A
A
A
That
that's
that's
a
group
truly.
Thank
you
very,
very
much.
That's
wonderful
that
you
discovered
that,
and
certainly
it's
in
the
it's
in
the
documentation.
Did
you
find
it
in
the
documentation
for
that?
Or
did
you
just
you
just
looked
at
the
source
code
and
made
a
good
guess
and
said?
Oh,
this
is
obviously
missing.
Mark
didn't
realize
it.
B
Actually
went
through
documentation,
but
I
couldn't
find
anything,
but
I
had
to
go
through
this.
Some
scope,
yeah.
B
Yes,
so
we
actually
like
trying
to
work
together,
so
we
could
wrap
up
one
time
and
from
our
list
we're
able
to
discuss
three
plugins
and
now
the
other
one
was
supposed
to
be
the
node
processor,
where
we're
supposed
to
have
more
documentation
to
the
plugin
page
and
also
the
clean
workspace,
plugin
and
basic
step
plugin
and
some
other
plugins.
But
I
don't
know
if
we
were
going
to
discuss
this
today.