1# Lists merge requests proposed to a project 2package Devscripts::Salsa::merge_requests; 3 4use strict; 5use Devscripts::Output; 6use Moo::Role; 7 8sub merge_requests { 9 my ($self, @reponames) = @_; 10 my $res = 1; 11 unless (@reponames) { 12 ds_warn "Repository name is missing"; 13 return 1; 14 } 15 foreach my $p (@reponames) { 16 my $id = $self->project2id($p); 17 my $count = 0; 18 unless ($id) { 19 ds_warn "Project $_ not found"; 20 return 1; 21 } 22 print "$p\n"; 23 my $mrs = $self->api->paginator( 24 'merge_requests', 25 $id, 26 { 27 state => 'opened', 28 }); 29 while ($_ = $mrs->next) { 30 $res = 0; 31 my $status = $_->{work_in_progress} ? 'WIP' : $_->{merge_status}; 32 print <<END; 33\tId : $_->{id} 34\tTitle : $_->{title} 35\tAuthor: $_->{author}->{username} 36\tStatus: $status 37\tUrl : $_->{web_url} 38 39END 40 } 41 unless ($count) { 42 print "\n"; 43 next; 44 } 45 } 46 return $res; 47} 48 491; 50