►
Description
Today we worked on adding a feature enhancement to GitLab triage to support posting internal comments
Issue: https://gitlab.com/gitlab-org/ruby/gems/gitlab-triage/-/issues/329
A
A
So
we're
going
to
have
a
look
at
get
that
triage
gem,
which
I
can't
remember
how
easy
it
is
to
test
in
isolation,
really
easy.
I.
B
B
B
A
C
B
C
B
Yeah
I
think
so
I
think
we
should
start
with
that
one.
Would
it
make
sense
to
look
at
the
issue
first,
just
to
set
like
the
what.
A
A
D
Yes,
I
do
try
to.
We
think
you
would
just
try
to
upload
these
as
public,
so.
D
C
A
A
All
right
so
at
the
moment
our
common
function
method,
whatever
you
want
to
call
it
pretty
much
it.
It
just
does
what
it
says
on
the
tin,
it's
pretty
basic.
It
doesn't
support
any
of
the
a
rest,
API
yeah,
so
I'm
not
sure
what
other
modifiers
or
parameters
there
might
be.
There's
probably
very
few
anyway,
but
you
cannot
set
an
internal
or
confidential
flag
at
the
moment,
notes
and
comments.
B
A
I,
don't
know
if
it
has
been
removed
or
not
interested.
My
suspicion
is
probably
not
and
I
know
I'm
not
going
to
get
into
this
long-winded
discussion
about
that
pain
from
the
API,
because
the
API
is
V4
and
it
has
been
V4
since
I.
Remember,
starting
working
with
gitlab
like
five
plus
years
ago,
so
technically
we're
not
supposed
to
make
any
breaking
changes
to
the
API
until
we
cannot
to
V5
yeah,
but
I,
don't
know
if
this
sort
of
contrary
or
maybe
that's
the
reason
this.
This
has
kind
of
happened.
D
Yeah
and
I
think
the
the
note
what
I
have
and
what
I
have
done
with
reviewers
is
I,
you
mark
it
as
deprecated.
You
tell
them
what
else
to
use
I,
don't
think
you
can
actually
remove
it
even
in
a
major
release
from
the
API
I
think
this
is
the
best
I
I
like
clearly
this
didn't
get
removed,
or
hopefully
it
didn't,
and
maybe
this
was
what
whatever
sparked
the
discussion
that
I
remember
seeing,
but
yeah.
C
D
A
I
think
it's
weird
because
it
feels
like
we've
kind
of
I,
don't
know
what
the
word
is
but
like
put
ourselves
in
this
situation
for
a
reason:
I,
don't
don't
know
if
you're
not
because
we're
versioning
the
API
separately
to
the
the
UI
I
guess:
you'd
call
it,
but
that's
not
for
today,
so
yeah
Instagram
always
is
what
we
want
to
be
able
to
set.
B
Yeah
I
suggested
a
way
that
like
what
this
could
look
like,
I,
don't
know
if
it's
really
any
good
just
it
was
inspired
because
there
is
another.
If
you
look
at
the
dogs
for
the
triage
gem,
there's
like
there's
a
similar
thing
like
this,
that
you
can
kind
of
modify
what
your
comment
will
look
like
by
adding
another
parameter
like
this
I.
It
felt
a
bit
weird
to
me
because
I
felt
like
it
should
be.
B
You
know
one
level
below
comments
like
it
should
be
comments
the
text
and
then
is
it
internal,
yes
or
no
and
not
like
I,
don't
know
if
I'm
expressing
it
correctly,
but
you
see
the
way
I
presented
it
here
is
like
they're
at
the
same
level,
which
feels
a
bit
weird,
because
one
doesn't
make
sense
without
the
other
at
all.
Yeah.
B
B
A
similar
list
for
all
the
actions,
so
if
you
just
scroll
a
little
bit
more,
maybe
it'll
be
easier
to
find
this
way.
I
just
can't
remember
which
one
it
was
here.
You
can
click
on
actions
field,
and
this
will
bring
you
to
okay,
common
type,
I
think
it
was
then
maybe
the
comment,
type
action
option,
action.
B
B
I
feel
like
that's
already
in
its
current
state,
a
bit
not
the
best,
maybe
config,
oh,
but
we
can
be
consistent
with
that.
Just
have
another.
A
B
What
an
internal
thread
would
be
a
I,
don't
know
what
would
it
be?
Is
it
just
like
a
thread
that
starts
with
an
internal
comment
and
all
the
following
ones
are
also
internal
or
yeah.
B
C
B
A
Think
fair
enough:
foreign,
yeah,
okay,
okay,
so
yeah
I
see
exactly
what
you're
saying
it's.
It's
kind
of
something
to
do
with
a
comment
so
you'd
expect
it
to
be
underneath
or
inside.
B
Yeah
yeah,
which
is
fine
I,
guess
it
just
evolved.
This
way,
probably
an
issue
which
is
comment,
and
it
was
like
it.
This
only
needs
to
be
a
string,
but
ideally
it
would
be
more
like
a
dictionary,
I
guess,
but
I
don't
think
we
need
to
change
that.
It's
okay.
A
B
B
In
French,
but
like
we're,
not
coding
in
French
here
so
I.
A
I
yeah
I
mean
it's,
it's
not
it's,
but
it
it
makes
a
lot
of
sense
and
I
guess
if
we
get
it
functioning
and
working
like
that,
then
the
naming
convention
is
is
kind
of
I.
Don't
know
what
you
want
to
call
it
semantic
and
we.
A
Yeah
that
comes
up
at
the
time
and
time
again
and
yeah
I
definitely
agree
with
that.
So
I
I
can't
really
remember
my
way
around
the
the
code
base.
B
So
I
had
a
look
before
if
you
check
out
the
what
was
it
called
the
comment
file
I
think
it's
called
common
Dot
RB
yeah
yeah
that
has
a
bunch
of
Builders
like
they're,
building
a
bunch
of
commands
because
basically
a
few
of
these
commands
or
actions
I
guess
are
kind
of
what
I'm
calling
secretly
comments.
Actions
right,
they're,
just
using
quick
action
to
do
what
they
need
to
do
so.
B
On
line
58,
you
have
the
status
command
like
status,
action
yeah,
and
if
you
look
at
the
stocks,
it's
like
okay
status.
You
can
pick
open
or
close
or
reopen
or
close
something
like
this
yeah,
and
it
feels
like
it's
completely
independent
from
a
comments
actually,
but
it
still
is
built
here
as
a
as
a
comment.
B
I
would
actually
now
that
I
think
about
it.
It
wouldn't
be
a
now.
It
wouldn't
be
a
separate
com,
no
I
get
so
I
was
thinking.
Maybe
we
just
have
like
a
command
another
command.
Builder
like
this.
A
A
I
think
I'd
already
come
up
with
a
theory.
I
don't
know.
Let
me
remind
myself:
I
might
need
to
look
at
so
swipe.
Url.
A
B
A
C
A
What
what
do
we
actually
do
need
to
do
to
well,
it's
a
post.
B
I
think
the
build
post
URL
there
is
where
all
the
like,
the
actual
like
you
know,
query
parameters
and
stuff
are
being
thrown
in
there.
So
that's
probably.
A
A
A
C
C
A
I'm
trying
to
understand
how,
because
the
comment
I
presume
is
X
I
presume,
but
it
might
not
be.
Let's
go
back
a
bit,
you
know
come
in,
oh,
it
might
not
be.
Let's
learn.
D
A
D
A
B
A
Yes,
adapted
up
post
token,
URL
body.
A
B
B
Within
one
of
these
Builders,
somehow
I
don't
know
yeah,
maybe.
C
A
D
A
I'm
I'm
pretty
confident
I
mean
maybe
we
put
a
break
point
in
it
in
a
minute.
Actually
that
probably,
is
the
best
way
to
do
it.
I'll
see
if
I
can
run
a
test
for
a
breakpoint
but
I,
don't
think
I
think
this
is
just
plain
text:
I,
don't
think
it's
got
this
this
kind
of
opinion
at
this
point
so
yeah.
Let's,
let's
see
if
we
can
do
that,
I
don't
need
any
other
changes
that
just
added
that
just
added
like
that.
A
A
C
C
A
C
A
C
A
C
B
It
was
the
rest
API,
post
API,
wasn't
there
two
of
them
or
can
you
scroll
up
a
little
bit?
I
know,
maybe
not
maybe
I'm
wrong.
C
C
C
C
C
A
C
A
B
C
D
A
B
B
A
Quite
nearly
okay,
so
my
understanding
is
and
Terry's
probably
much
much
better
bursting
Ruby
than
me.
But
when
you've
got.
A
A
A
A
B
C
A
A
Know
you
can
do
body,
oh
God,
there's
two
ways:
I
could
do
body
equals
that
for
it
to
be
an
optional
one,
but
you
can
also
do
that.
B
A
A
B
D
Special
behavior
only
happens
when
it's
the
last
value
like
for
it
to
understand
it
being
I
think
and
they
also
Ruby
3
introduced
some
changes
in
how
all
of
that
stuff
is
interpreted
and
I
would
have
to
go
back
and
look
through
it
through
through
the
docs.
It's
it's
I
think
if
you
have
only
a
few
method
arguments,
it's
fine
to
just
have
them
in
the
way
that
they
are
that
way,
but
it
gets
confusing
for
a
feeling
it
gets
confusing
for
the
reader.
B
D
D
A
It's
funny
because
I
I
sort
of
come
from
a.net
world
and
C
sharp
and
like
I
I,
used
to
just
use
the
like
order
based
parameters,
but
then
you
know
moved
across
to
the
named
parameters,
because
it
is
a
much
more
like
you
say,
flexible
and
it
also
avoids
any
kind
of
accidental.
Oh
we've,
we've
passed
this
value
to
this
parameter
and
we've
transposed
them.
Etc
so
named
is
quite
nice.
I
I
do
admit.
B
Think
the
resource
object
here
is
kind
of
like
the
key,
because
you
see
it
says
build.
It
builds
a
common
based
on
a
resource
but
like
what's
the
resource
like?
What
does
it
contain?
Is
it
the
rule?
Is
it
I
know
it's
the
issue
itself
that
was
detected
by
the
triage
bar?
So
maybe
that's
not
that's
like
the
targets,
maybe
not
the
wow.
B
A
To
do
that
so
I.
B
A
A
B
A
A
I
think
so
so,
where
it
is,
we've
got
our
kind
of
work
options.
D
So
that's
testing,
it's
not
making
a
comment.
It's
just
mentioning
a
user
and
adding
labels.
D
A
A
C
A
A
Okay,
I've
been
kind
of
I
I'm
a
little
bit
surprised
that
that
passes,
but
I
think
this
no
no.
D
A
I've
put
that
in
I
just
want
I'm
interested
to
know
if
it
passes.
Without
that.
C
A
A
Now
this
one
should
definitely
fail
because
it's
expecting
internal
to
be
true,
but
it's
false
because
we've
not
wired
anything
up
anywhere
to
pass
this
through.
So
the
question
is:
where
do
we
I
guess
if
we
look
at
where
common
type
is
handled,
that
might
help
us
a
little
bit.
C
A
B
A
Yeah
because
yeah
I
mean
clients
do
that,
maybe.
A
C
A
D
Value
I.
D
A
That's
that's
a
good
chance.
So
if
we
do
like
nil
returns,
new,
not
new
returns,
true,
not
not
near
returns,.
C
D
A
Which
is
now
safe,
essentially
yeah
and.
B
A
A
D
That's
a
lot
of
failures,
I
think
it's
because
we
have
to
change
the
stubs
for
everything
to
now
have
internal
false.
C
A
D
That
we
have.
D
Maybe
if
you
pull
that,
like
body
out
or
like
I,
don't
know
what
you
want
to
call
the
pram.
If
you
pull
that
whole
line
6
to
8
out
into
its
own.
D
C
D
Like
and
then
you
can
add
to
it,
if
we
should
add
internal
like
you
can
merge
internal
true,
if,
if
the
internal
Paramus,
that's
true
or
something.
B
D
Merge
dot,
merge,
yeah.
C
A
D
I
will
say
once
the
suite's
done.
We
might
look
at
refactoring
that
just
a
little
bit
absolutely.
A
A
D
Good
yeah
I,
don't
know
if
we
yeah
I
think.
C
D
So
I
don't
know
if
it
needs
a
refactor,
but
I
feel
like
if
someone
got
this
in
review
like
if
I
got.
If
this
was
my
MRI
and
I
get
a
review,
I
feel
like
they
might
make
like
a
non-blocking
suggestion
to
say
maybe
a
little
bit
less
risky
to
not
use
the
merged.
Exclamation
point
I
feel
like
like
modifying
the
existing
object.
Gotcha.
C
D
D
So
yeah,
maybe
it
was
but
I,
don't
know.
D
D
A
A
D
A
D
That
it
would
need
to
be
updated.
It
posts
the
comment
internally,
I,
don't
know.
A
Yeah,
yes,
I
think
you're
right,
I'm
thinking
that
yaml
syntax.
C
D
D
And
then
I
would
just
change
165
to
what
Francois
suggested,
maybe
like
it
posts,
an
internal
comment
or
something
like
that.
I
don't
know.
The
verbiage
is
not
as
important
to
me
as
what
it
says.
Oh
that
doesn't
make
any
sense.
I.
D
Oh
yeah,
so,
okay,
so
we're
making
this
change
that
supports
internal
comments.
D
A
B
And
this
is
where
this
came
from
by
the
way
is
because,
like
we
use
it
internally,
but
we've
never
had
the
need
for
it
to
post
internal
comments,
which
is
fine,
but
I
was
I'm
basically
in
the
process
of
making
a
demo
for
how
to
use
this
gem
to
process
like
to
triage
service,
desk
issues
and
services
issues.
The
thing
with
them
is
like:
if
you
post
a
comment
on
them,
it
sends
an
email,
but
they
get.
The
comments
are
translated
as
email
and
they.
D
B
B
Yeah
exactly
so
so
people
do
use
internal
comments,
a
lot
on
Services
issues
but
like
if
you
had
an
automation
like
a
triage
automation,
you
know
most
likely
it's
going
to
post
comments
that
are
like
internal.
Only
it's
like
oh
Team.
This
has
been
open
for
30
days.
Let's
do
something
you
know,
but
you
don't
want
your
customers
to
actually
see
that,
like.
D
D
A
really
good
piece
to
add
to
that
feature.
B
Yeah,
it's
like
a
small
win,
but
I
think
could
be
pretty
useful.
Actually
so,
let's,
let's
it's
nice
that
we,
it
seemed
pretty
easy
enough
to
implement
at
least
so
that
was
nice.
Or
are
we
missing
anything
else
or
is
that
that's
kind
of
like
the
extent
of
it
obviously
docs
and
stuff,
but.
B
A
It
doesn't
hurt,
but
I
don't
feel
it's
necessary.
I.
B
Would
say
no
just
to
like
I
feel
like
the
minimum
that
is
yeah
I
would
say
that,
and
maybe
the
text
could
be
something
that
sounds
very
very
like
internal,
like,
oh,
hey
team,
can
you
make
sure
to
look
at
this
issue
or
or.
B
B
Know
at
fourth
with
default
in
parentheses,
I
saw
this
somewhere
else.
Maybe
that
could
be
useful
if
you
like
this
on
your
comment
and
thread.
A
B
D
D
To
false
or
not
set
so
I
think
there
you
go,
the
comment
will
be.
C
D
And
then
I
would
also
recommend
getting
a
documentation
review
if
you
feel
necessary,
especially
if
it's
going
to
be
consumed
by
customers
or
any
external
resources.
A
B
Exactly
on
time
now,
yeah
but
yeah,
so
maybe
we
can
recap.
Is
there
anything?
That's
still
left
for
this
that
we
would
need
to
do
after
this
call
like.
C
A
B
Trade
out
yeah
I
can
do
that
actually
I
think
because
I'm
currently
experimenting
with
stuff
like
this
anyway.
So
if
you
push
this
in
a
branch,
I
could
try
it
out
locally
on
this
test
project.
I'm
working
with
right
now,
perfect.
A
Oh
sounds
good
yeah,
I'll
I'll,
push
it
up
and
share
the
well
I'll.
Take
you
in
in
a
moment-
and
you
know
if
you
fancy
braving
the
other
other
one
having
a
stabbed
yourself.
I
think
it
was
more
of
a
language
change,
but.
B
I,
don't
know
I'm
not
sure
either
I'm
also
happy
to
be
challenged
on
this.
So
you
posted
a
comment.
There
I
also
replied
just
before
this
session.
C
B
A
B
B
B
A
This
and
then
yeah
so
I
know
you,
you
interpret
it
so
yeah.
Let
me
verbalize
my
one
quickly,
so
it's
I
I
think
a
number
of
the
things
are
available
in
the
actions
So
like.
A
So
yeah
you've
got
like
your
comment:
action
your
move,
action,
etc,
etc.
But
I
imagine
certain
things:
I
add
in
a
due
date
or
removing
a
due
date
or
I'm
sure
there
are
quick
actions
that
aren't
available
as
actions
yeah.
B
C
A
Yeah
yeah,
so
in
that
instance,
our
thing
it
would
have
to
be
quite
clever
to
try
and
determine.
A
I
thought,
maybe
if
we
just
made
this
message
a
bit
woolier
and
sort
of
said
that
you
know
it
will
it
will
submit
a
comment
or
post
the
comment
or
add
a
note
or
something
like
that.
A
If
the
note
only
contains
quick
actions,
then
you
know
the
result
will
be
what
my
term
was
any
comment,
including
any
quick
actions
will
be
submitted,
but
result
in
no
comment
being
posted
to
this.
So
that
was
me
being
a
bit
like
cheating
and
and
not
being
intelligent
and
just
saying
well,
we'll
just
explain
that
these
scenarios,
but
you
know
I'm
I'm,
happy
either
way.
I
agree
that
you
know
it'd
be
nice
to
clarify
and
improve
that
message.
A
bit
yeah.
B
I
mean
I
I
really
think
now
that
like.
If,
because
it's
no
matter,
we
cannot
distinguish
I,
guess
or
probably
it
will
be
difficult
and
not
worth
it
to
distinguish
whether
the
comments,
that's
only
quick
actions
is
only
quick
actions
because
of
us.
You
know
us
or
because
of
their
supporters
as
actions
via
quick
actions
or
because
the
rule,
the
one
person
who
wrote
the
rule
added
only
quick
actions
to
their.
So
it's
like
suddenly
it
becomes
very
complicated
and
not
really
valuable,
I
think
so.
The
I
think
the
main
I
go
back
to
like.
B
B
B
Bit
makes
the
output
a
bit
longer,
and
you
know
more
with
more
words,
but
yeah
I
would
be
I'll,
be
very
happy
if
we
could
say
like
the
following
internal
comments.
For
example,
if
that.
B
Yeah
that
feel
like
it
should
be
easier
unless
the
comments
there,
like
the
following
comments
and
they're
like
you
know
all
listed,
and
some
of
them
might
be
internal
some
not
so.
This
is
where
it
might
become
a
bit
hairy
again
where
it's
like.
So
maybe
it
need
to
be
the
following
comments
and
another
the
following
internal
comments,
which
could
be
annoying
also
yeah,.
A
B
Feel
like
this
could
be
maybe
a
better
path,
but
also
again
kind
of
reiterating
I
think
with
internal
comments
enabled
this
is
much
less
of
a
big
deal.
Kind
of
we
might
even
just
drop
it
entirely
and
go
on
and
do
better
things
with
our
lives.
I,
don't
know
I.
A
You'll
soon
have
a
feel,
but
because
you
know
this,
we
knocked
out
in
an
hour
and
might
take
another
hour
or
two
like
merge.
Request
reviews
responding
to
comments
tweaking
it.
If,
if
you
can
achieve
similar
in
an
hour
with.
B
C
B
Exactly
yeah,
so
maybe
I'll
leave
a
I'll
leave.
Another
comment
to
that
issue
as
well
about
the
fact
that
you
know,
since
we're
gonna
get
internal
comments
pretty
soon.
We
could
instead,
as
a
solution,
do
something
quite
a
little
bit
different
than
what
I
initially
suggested.
Yeah.
A
Yeah
awesome
awesome,
good
stuff.
Thanks
very
much
I'll
push
up
the
push
up
the
branch
tiger
on
it
and.
D
Yeah,
thank
you.
I
see
you
already
linked
the
issue,
so
I
will
upload
the
recording
and
link
to
the.
If
you
in
the
description,
so
I'm
going
to
stop
the
recording
now.