plugin/GitLabPulls: support for using a personal access token (PAT)

[?]
Nov 20, 2018, 3:27 PM
PR4W2IUBHWKQ7BRFLXELHBVRU7VOSLKO4DVZIPSHLXZ422LWP2SQC

Dependencies

  • [2] UDL2YPNH Add GitlabPulls input plugin

Change contents

  • replacement in src/lib/Hydra/Plugin/GitlabPulls.pm at line 11
    [2.302][2.302:398]()
    # The values source_repo_url and source_branch can then be used to
    # build the git input value.
    [2.302]
    [2.398]
    # The values `target_repo_url` and `iid` can then be used to
    # build the git input value, e.g.:
    # "${target_repo_url} merge-requests/${iid}/head".
  • edit in src/lib/Hydra/Plugin/GitlabPulls.pm at line 41
    [2.1027][2.1027:1368]()
    # We need to query the Gitlab API for each merge request to get the
    # source repository URL.
    sub _enhanceGitlabPull {
    my ($pull, $baseUrl, $ua) = @_;
    my $projectId = $pull->{source_project_id};
    (my $repo, my $res) = _query("$baseUrl/api/v4/projects/$projectId", $ua);
    $pull->{source_repo_url} = $repo->{http_url_to_repo};
    }
  • replacement in src/lib/Hydra/Plugin/GitlabPulls.pm at line 42
    [2.1383][2.1383:1426]()
    my ($url, $baseUrl, $pulls, $ua) = @_;
    [2.1383]
    [2.1426]
    my ($url, $baseUrl, $pulls, $ua, $target_repo_url) = @_;
  • replacement in src/lib/Hydra/Plugin/GitlabPulls.pm at line 46
    [2.1513][2.1513:1563]()
    _enhanceGitlabPull($pull, $baseUrl, $ua);
    [2.1513]
    [2.1563]
    $pull->{target_repo_url} = $target_repo_url;
  • replacement in src/lib/Hydra/Plugin/GitlabPulls.pm at line 59
    [2.1926][2.1926:1989]()
    _iterate($next, $baseUrl, $pulls, $ua) unless $next eq "";
    [2.1926]
    [2.1989]
    _iterate($next, $baseUrl, $pulls, $ua, $target_repo_url) unless $next eq "";
  • edit in src/lib/Hydra/Plugin/GitlabPulls.pm at line 68
    [2.2264]
    [2.2264]
    my $accessToken = $self->{config}->{gitlab_authorization}->{$projectId};
  • replacement in src/lib/Hydra/Plugin/GitlabPulls.pm at line 73
    [2.2316][2.2316:2365]()
    _iterate($url, $baseUrl, \%pulls, $ua);
    [2.2316]
    [2.2365]
    $ua->default_header('Private-Token' => $accessToken) if defined $accessToken;
    # Get the target project URL, as it is the one we need to build the pull
    # urls from later
    (my $repo, my $res) = _query("$baseUrl/api/v4/projects/$projectId", $ua);
    my $target_repo_url = $repo->{http_url_to_repo};
    _iterate($url, $baseUrl, \%pulls, $ua, $target_repo_url);