Make gitea public URL configurable

Otherwise, it will be obtained from the jobset input that contains the
URL to the git repo to build.
This commit is contained in:
Maximilian Bosch 2021-03-30 23:01:36 +02:00
parent eecea56131
commit f9f5ab2fb1
No known key found for this signature in database
GPG key ID: 091DBF4D1FC46B8E
3 changed files with 17 additions and 7 deletions

View file

@ -487,8 +487,9 @@ analogous:
additional inputs: additional inputs:
| Type | Name | Value | | Type | Name | Value |
| -------------- | ------------------- | ----------------------------------- | | -------------- | ------------------- | ---------------------------------- |
| `String value` | `gitea_repo_name` | *Name of the repository to build* | | `String value` | `gitea_repo_name` | *Name of the repository to build* |
| `String value` | `gitea_repo_owner` | *Owner of the repository* | | `String value` | `gitea_repo_owner` | *Owner of the repository* |
| `String value` | `gitea_status_repo` | *Name of the `Git checkout` input* | | `String value` | `gitea_status_repo` | *Name of the `Git checkout` input* |
| `String value` | `gitea_http_url` | *Public URL of `gitea`*, optional |

View file

@ -591,7 +591,8 @@
"git": {"value": "http://localhost:3001/root/repo.git", "type": "git"}, "git": {"value": "http://localhost:3001/root/repo.git", "type": "git"},
"gitea_repo_name": {"value": "repo", "type": "string"}, "gitea_repo_name": {"value": "repo", "type": "string"},
"gitea_repo_owner": {"value": "root", "type": "string"}, "gitea_repo_owner": {"value": "root", "type": "string"},
"gitea_status_repo": {"value": "git", "type": "string"} "gitea_status_repo": {"value": "git", "type": "string"},
"gitea_http_url": {"value": "http://localhost:3001", "type": "string"}
} }
} }
EOF EOF

View file

@ -55,6 +55,7 @@ sub common {
next unless defined $giteastatusInput && defined $giteastatusInput->value; next unless defined $giteastatusInput && defined $giteastatusInput->value;
my $i = $eval->jobsetevalinputs->find({ name => $giteastatusInput->value, altnr => 0 }); my $i = $eval->jobsetevalinputs->find({ name => $giteastatusInput->value, altnr => 0 });
next unless defined $i; next unless defined $i;
my $gitea_url = $eval->jobsetevalinputs->find({ name => "gitea_http_url" });
my $repoOwner = $eval->jobsetevalinputs->find({ name => "gitea_repo_owner" })->value; my $repoOwner = $eval->jobsetevalinputs->find({ name => "gitea_repo_owner" })->value;
my $repoName = $eval->jobsetevalinputs->find({ name => "gitea_repo_name" })->value; my $repoName = $eval->jobsetevalinputs->find({ name => "gitea_repo_name" })->value;
@ -62,7 +63,14 @@ sub common {
my $rev = $i->revision; my $rev = $i->revision;
my $domain = URI->new($i->uri)->host; my $domain = URI->new($i->uri)->host;
my $url = "http://$domain:3001/api/v1/repos/$repoOwner/$repoName/statuses/$rev"; my $host;
unless (defined $gitea_url) {
$host = "https://$domain";
} else {
$host = $gitea_url->value;
}
my $url = "$host/api/v1/repos/$repoOwner/$repoName/statuses/$rev";
print STDERR "GiteaStatus POSTing $state to $url\n"; print STDERR "GiteaStatus POSTing $state to $url\n";
my $req = HTTP::Request->new('POST', $url); my $req = HTTP::Request->new('POST', $url);