From ed4c2ce44c74034010e09b12718daa37f8ddd7a2 Mon Sep 17 00:00:00 2001 From: Robin Neatherway Date: Mon, 22 Dec 2025 17:11:34 +0000 Subject: [PATCH] Add support for job.check_run_id (#205) This was recently added: https://github.com/orgs/community/discussions/8945#discussioncomment-14374985 --- languageservice/src/complete.expressions.test.ts | 2 +- languageservice/src/context-providers/job.ts | 3 +++ languageservice/src/validate.expressions.test.ts | 15 +++++++++++++++ 3 files changed, 19 insertions(+), 1 deletion(-) diff --git a/languageservice/src/complete.expressions.test.ts b/languageservice/src/complete.expressions.test.ts index 16ac5a4..3496b1e 100644 --- a/languageservice/src/complete.expressions.test.ts +++ b/languageservice/src/complete.expressions.test.ts @@ -1110,7 +1110,7 @@ jobs: `; const result = await complete(...getPositionFromCursor(input), {contextProviderConfig}); - expect(result.map(x => x.label)).toEqual(["container", "services", "status"]); + expect(result.map(x => x.label)).toEqual(["check_run_id", "container", "services", "status"]); }); it("job context is suggested within a job output", async () => { diff --git a/languageservice/src/context-providers/job.ts b/languageservice/src/context-providers/job.ts index ac6ce21..e85ceee 100644 --- a/languageservice/src/context-providers/job.ts +++ b/languageservice/src/context-providers/job.ts @@ -35,6 +35,9 @@ export function getJobContext(workflowContext: WorkflowContext): DescriptionDict // Status jobContext.add("status", new data.Null()); + // Check run ID + jobContext.add("check_run_id", new data.Null()); + return jobContext; } diff --git a/languageservice/src/validate.expressions.test.ts b/languageservice/src/validate.expressions.test.ts index 6b5bc5d..3530290 100644 --- a/languageservice/src/validate.expressions.test.ts +++ b/languageservice/src/validate.expressions.test.ts @@ -417,6 +417,21 @@ jobs: expect(result).toEqual([]); }); + it("job.check_run_id", async () => { + const input = ` +on: push + +jobs: + test: + runs-on: ubuntu-latest + steps: + - run: echo \${{ job.check_run_id }} +`; + const result = await validate(createDocument("wf.yaml", input)); + + expect(result).toEqual([]); + }); + it("job.services.", async () => { const input = ` on: push