Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add missing porperties to the GHWorkflowJob.java #1447

Merged
merged 7 commits into from Jun 20, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
58 changes: 57 additions & 1 deletion src/main/java/org/kohsuke/github/GHWorkflowJob.java
Expand Up @@ -9,7 +9,11 @@

import java.io.IOException;
import java.net.URL;
import java.util.*;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Date;
import java.util.List;
import java.util.Objects;

import static java.util.Objects.requireNonNull;

Expand Down Expand Up @@ -40,8 +44,15 @@ public class GHWorkflowJob extends GHObject {
private String htmlUrl;
private String checkRunUrl;

private int runnerId;
private String runnerName;
private int runnerGroupId;
private String runnerGroupName;

private List<Step> steps = new ArrayList<>();

private List<String> labels = new ArrayList<>();

/**
* The name of the job.
*
Expand Down Expand Up @@ -141,6 +152,51 @@ public List<Step> getSteps() {
return Collections.unmodifiableList(steps);
}

/**
* Gets the labels of the job.
*
* @return the labels
*/
public List<String> getLabels() {
return Collections.unmodifiableList(labels);
}

/**
* the runner id.
*
* @return runnerId
*/
public int getRunnerId() {
return runnerId;
}

/**
* the runner name.
*
* @return runnerName
*/
public String getRunnerName() {
return runnerName;
}

/**
* the runner group id.
*
* @return runnerGroupId
*/
public int getRunnerGroupId() {
return runnerGroupId;
}

/**
* the runner group name.
*
* @return runnerGroupName
*/
public String getRunnerGroupName() {
return runnerGroupName;
}

/**
* Repository to which the job belongs.
*
Expand Down
10 changes: 10 additions & 0 deletions src/test/java/org/kohsuke/github/GHWorkflowRunTest.java
Expand Up @@ -39,6 +39,7 @@ public class GHWorkflowRunTest extends AbstractGitHubWireMockTest {
private static final String MULTI_JOBS_WORKFLOW_PATH = "multi-jobs-workflow.yml";
private static final String MULTI_JOBS_WORKFLOW_NAME = "Multi jobs workflow";
private static final String RUN_A_ONE_LINE_SCRIPT_STEP_NAME = "Run a one-line script";
private static final String UBUNTU_LABEL = "ubuntu-latest";

private GHRepository repo;

Expand Down Expand Up @@ -477,6 +478,10 @@ private static void checkJobProperties(long workflowRunId, GHWorkflowJob job, St
assertThat(job.getUrl().getPath(), containsString("/actions/jobs/"));
assertThat(job.getHtmlUrl().getPath(), containsString("/runs/" + job.getId()));
assertThat(job.getCheckRunUrl().getPath(), containsString("/check-runs/"));
assertThat(job.getRunnerId(), is(1));
assertThat(job.getRunnerName(), containsString("my runner"));
assertThat(job.getRunnerGroupId(), is(2));
assertThat(job.getRunnerGroupName(), containsString("my runner group"));

// we only test the step we have control over, the others are added by GitHub
Optional<Step> step = job.getSteps()
Expand All @@ -487,6 +492,11 @@ private static void checkJobProperties(long workflowRunId, GHWorkflowJob job, St
fail("Unable to find " + RUN_A_ONE_LINE_SCRIPT_STEP_NAME + " step");
}

Optional<String> labelOptional = job.getLabels().stream().filter(s -> s.equals(UBUNTU_LABEL)).findFirst();
if (!labelOptional.isPresent()) {
fail("Unable to find " + UBUNTU_LABEL + " label");
}

checkStepProperties(step.get(), RUN_A_ONE_LINE_SCRIPT_STEP_NAME, 2);
}

Expand Down
Expand Up @@ -37,5 +37,12 @@
"completed_at": "2021-04-05T17:42:59.000+02:00"
}
],
"check_run_url": "https://api.github.com/repos/hub4j-test-org/GHWorkflowRunTest/check-runs/2270858630"
"check_run_url": "https://api.github.com/repos/hub4j-test-org/GHWorkflowRunTest/check-runs/2270858630",
"labels": [
"ubuntu-latest"
],
"runner_id": 1,
"runner_name": "my runner",
"runner_group_id": 2,
"runner_group_name": "my runner group"
}
Expand Up @@ -40,7 +40,14 @@
"completed_at": "2021-04-05T17:42:57.000+02:00"
}
],
"check_run_url": "https://api.github.com/repos/hub4j-test-org/GHWorkflowRunTest/check-runs/2270858576"
"check_run_url": "https://api.github.com/repos/hub4j-test-org/GHWorkflowRunTest/check-runs/2270858576",
"labels": [
"ubuntu-latest"
],
"runner_id": 1,
"runner_name": "my runner",
"runner_group_id": 2,
"runner_group_name": "my runner group"
},
{
"id": 2270858630,
Expand Down Expand Up @@ -81,7 +88,14 @@
"completed_at": "2021-04-05T17:42:59.000+02:00"
}
],
"check_run_url": "https://api.github.com/repos/hub4j-test-org/GHWorkflowRunTest/check-runs/2270858630"
"check_run_url": "https://api.github.com/repos/hub4j-test-org/GHWorkflowRunTest/check-runs/2270858630",
"labels": [
"ubuntu-latest"
],
"runner_id": 1,
"runner_name": "my runner",
"runner_group_id": 2,
"runner_group_name": "my runner group"
}
]
}
Expand Up @@ -40,7 +40,14 @@
"completed_at": "2021-04-05T17:42:57.000+02:00"
}
],
"check_run_url": "https://api.github.com/repos/hub4j-test-org/GHWorkflowRunTest/check-runs/2270858576"
"check_run_url": "https://api.github.com/repos/hub4j-test-org/GHWorkflowRunTest/check-runs/2270858576",
"labels": [
"ubuntu-latest"
],
"runner_id": 1,
"runner_name": "my runner",
"runner_group_id": 2,
"runner_group_name": "my runner group"
},
{
"id": 2270858630,
Expand Down Expand Up @@ -81,7 +88,14 @@
"completed_at": "2021-04-05T17:42:59.000+02:00"
}
],
"check_run_url": "https://api.github.com/repos/hub4j-test-org/GHWorkflowRunTest/check-runs/2270858630"
"check_run_url": "https://api.github.com/repos/hub4j-test-org/GHWorkflowRunTest/check-runs/2270858630",
"labels": [
"ubuntu-latest"
],
"runner_id": 1,
"runner_name": "my runner",
"runner_group_id": 2,
"runner_group_name": "my runner group"
}
]
}