summaryrefslogtreecommitdiff
path: root/app/assets/javascripts/ci/runner/group_runners/group_runners_app.vue
diff options
context:
space:
mode:
Diffstat (limited to 'app/assets/javascripts/ci/runner/group_runners/group_runners_app.vue')
-rw-r--r--app/assets/javascripts/ci/runner/group_runners/group_runners_app.vue19
1 files changed, 15 insertions, 4 deletions
diff --git a/app/assets/javascripts/ci/runner/group_runners/group_runners_app.vue b/app/assets/javascripts/ci/runner/group_runners/group_runners_app.vue
index 57ceaa24b6e..e66a1c7b1aa 100644
--- a/app/assets/javascripts/ci/runner/group_runners/group_runners_app.vue
+++ b/app/assets/javascripts/ci/runner/group_runners/group_runners_app.vue
@@ -24,6 +24,7 @@ import RunnerPagination from '../components/runner_pagination.vue';
import RunnerTypeTabs from '../components/runner_type_tabs.vue';
import RunnerActionsCell from '../components/cells/runner_actions_cell.vue';
import RunnerMembershipToggle from '../components/runner_membership_toggle.vue';
+import RunnerJobStatusBadge from '../components/runner_job_status_badge.vue';
import { pausedTokenConfig } from '../components/search_tokens/paused_token_config';
import { statusTokenConfig } from '../components/search_tokens/status_token_config';
@@ -34,6 +35,7 @@ import {
PROJECT_TYPE,
I18N_FETCH_ERROR,
FILTER_CSS_CLASSES,
+ JOBS_ROUTE_PATH,
} from '../constants';
import { captureException } from '../sentry_utils';
@@ -51,6 +53,7 @@ export default {
RunnerPagination,
RunnerTypeTabs,
RunnerActionsCell,
+ RunnerJobStatusBadge,
},
mixins: [glFeatureFlagMixin()],
inject: ['emptyStateSvgPath', 'emptyStateFilteredSvgPath'],
@@ -64,10 +67,6 @@ export default {
type: String,
required: true,
},
- groupRunnersLimitedCount: {
- type: Number,
- required: true,
- },
},
data() {
return {
@@ -175,6 +174,12 @@ export default {
editUrl(runner) {
return this.runners.urlsById[runner.id]?.edit;
},
+ jobsUrl(runner) {
+ const url = new URL(this.webUrl(runner));
+ url.hash = `#${JOBS_ROUTE_PATH}`;
+
+ return url.href;
+ },
refetchCounts() {
this.$apollo.getClient().refetchQueries({ include: [groupRunnersCountQuery] });
},
@@ -255,6 +260,12 @@ export default {
:loading="runnersLoading"
@deleted="onDeleted"
>
+ <template #runner-job-status-badge="{ runner }">
+ <runner-job-status-badge
+ :href="jobsUrl(runner)"
+ :job-status="runner.jobExecutionStatus"
+ />
+ </template>
<template #runner-name="{ runner }">
<gl-link :href="webUrl(runner)">
<runner-name :runner="runner" />