Skip to content

Commit

Permalink
Merge pull request #1447 from yusuf-erdem/add-workflowjob-labels
Browse files Browse the repository at this point in the history
Add missing porperties to the GHWorkflowJob.java
  • Loading branch information
bitwiseman committed Jun 20, 2022
2 parents d29bf98 + f6674a9 commit b3bd41b
Show file tree
Hide file tree
Showing 5 changed files with 107 additions and 6 deletions.
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"
}
]
}

0 comments on commit b3bd41b

Please sign in to comment.