跳到正文
cccskills
免费在 GitHub 公开

pr-check-publish

Record a later `pr-check` Results Summary on an existing GitHub pull request. The skill adds a marker that a webhook reads to apply the tested commit’s status and a matching PR label; it does not run checks or set either value itself.

中文简介正在准备中。当前显示英语简介。

原文查看原文说明

Comment a pr-check run on an existing GitHub PR with a marker the webhook parses to apply the commit status and label. Use after rerunning pr-check on an open PR.

liferay/liferay-portal星标 2,267(GitHub 2,267 + cccskills 0)
集成工具GitHub

实测评分 未实测

查看安装方法

适用场景

  • Record a rerun on an open pull request
  • Publish results after pushing new commits
  • Add the current head’s check summary to a PR

包含的文件(1)

  • SKILL.md4.3 KB

SKILL.md(原文)

安装前可以查看交给 AI 代理的指令内容。

Publish pr-check Results

Post the pr-check Results Summary as a comment on an existing GitHub PR, ending the comment with a hidden marker. The webhook parses that marker and applies the pr-check commit status to the tested SHA and the pr-check - <state> label to the PR — this skill never writes the status or label itself, so it works the same whether or not the user has write access on the target repository.

Newly created PRs do not need this skill: the pr skill writes the same Results Summary and marker into the PR description at creation, and the webhook reads it from there. Reach for this skill only to record a later run — for example after pushing more commits and rerunning pr-check on an open PR — where the description no longer reflects the current head.

Input

Pull Request

${ARGUMENTS} carries a PR URL of the form https://github.com/<target-org>/<repository>/pull/<number>, where <repository> is liferay-portal or liferay-portal-ee. The webhook applies the status and label to a pull request in either. When missing or malformed, abort and ask the user for the URL.

Results Summary

Use the Results Summary block emitted by the pr-check run in the current session — the overall state line, the tested SHA, the table of validations, and every note appended below it. Any row can carry a note, a PASS included, so carry them all verbatim. When no Results Summary is available (pr-check has not run this session), abort and ask the user to run pr-check first; this skill records a run, it does not perform one.

The tested SHA must be the current head of the pull request:

gh pr view \
	--jq .headRefOid \
	--json headRefOid \
	"<pr-url>"

A session can hold runs of several branches, so use the Results Summary whose tested SHA is that head. When none matches, abort without posting and name the head SHA and every tested SHA. Posting a run of any other commit would record its status on a commit that the pull request does not show.

Expected Output

Posted Comment

Post a fresh comment on each run rather than editing a prior one, so the PR keeps a chronological record. The comment body is the Results Summary verbatim, a blank line, then the marker — an HTML comment, invisible in rendered Markdown, whose payload is a JSON object of the form <!-- pr-check {"result": "<state>", "sha": "<tested-SHA>"} -->, where <state> is success when the overall state is PASS and failure when it is FAIL, so a run carrying NO COVERAGE or NOT VERIFIED rows records success, and <tested-SHA> is the full 40-character SHA from the Results Summary:

**pr-check: PASS** — tested on `<tested-SHA>`

| Validation | Result |
| --- | --- |
| Source Format | PASS |
| Full Portal Build | PASS |
| Java Unit Tests | PASS |

<!-- pr-check {"result": "success", "sha": "<tested-SHA>"} -->

When build/test-plan/result.json exists and its head is the tested SHA, add a Test plan: <count> run, <passed> passed. line between the Results Summary block and the marker. Leave it out otherwise. Put a blank line before and after it. <count> is the number of entries in tests. <passed> is the number of those entries whose result is passed.

Post the body with --body-file, or with --body from a quoted-heredoc variable; either keeps the marker's literal ! off the command line, where it could otherwise trigger history expansion and corrupt the marker. Use mktemp for the file so it stays out of the working tree, and remove it afterward.

comment_file=$(mktemp)

gh pr comment \
	--body-file "${comment_file}" \
	"<pr-url>"

rm "${comment_file}"

When the comment fails to post, surface the error — without it the webhook has nothing to parse, so the status and label will not appear.

Summary

Report back to the user with:

  • The comment URL and the tested SHA the marker records.
  • That the pr-check commit status and pr-check - <state> label are applied by the webhook once it processes the comment, and so may lag the comment by a moment.

评价

还没有评价。欢迎分享你的使用感受。

评论

无需登录即可发表。欢迎分享使用感受、提问,或说明在哪些环境下无法运行。

还没有评论。来写第一条吧。

提交后会立即公开。请勿填写邮箱、电话等个人信息。URL 最多 2 个。

0 / 1000 字

此表单受 reCAPTCHA 保护,适用 Google 的隐私权政策和服务条款。

同一仓库的技能

Use this skill to format Liferay source files according to the project’s conventions. It describes the formatter workflows for modules and committed changes, how to handle Go and shell files, and which generated files to leave untouched.

中文简介正在准备中。当前显示英语简介。

  • Formatting source files in a module
  • Checking formatting across committed changes
  • Applying the separate Go or shell formatting rules
liferay/liferay-portal22672026年10月29日 更新

jira-bug

免费

Use this skill to file a bug in the LPD Jira project from a description or fix commit. It gathers reproduction steps and expected versus actual behavior, applies required project fields, and returns the created ticket key and link.

中文简介正在准备中。当前显示英语简介。

  • Filing a newly reported LPD bug
  • Turning a fix commit into a bug ticket
  • Recording reproduction steps and expected behavior
liferay/liferay-portal22672026年10月29日 更新

jira-task

免费

Use this skill to create a Task ticket in the LPD Jira project from a description or commit. It gathers missing details, selects a matching component, formats the description with acceptance criteria when applicable, and returns the ticket key and link.

中文简介正在准备中。当前显示英语简介。

  • Creating an LPD task from a short description
  • Turning a commit into a task ticket
  • Adding acceptance criteria to a Jira task
liferay/liferay-portal22672026年10月29日 更新

Format Markdown files for Liferay repositories by aligning front matter, heading capitalization, shell examples, and prose with the project’s style rules. Use it to clean up or copy-edit a document and receive a summary of the changes.

中文简介正在准备中。当前显示英语简介。

  • Formatting a Markdown guide for a Liferay repository
  • Cleaning up headings and front matter in a document
  • Polishing shell examples and prose in Markdown
liferay/liferay-portal22672026年10月29日 更新

Analyzes a Liferay Poshi `.testcase`, checks feasibility and existing coverage, then routes each test to Playwright, Jest, JUnit unit, or Java integration tests. It creates a migration plan and can implement the approved changes using repository patterns.

中文简介正在准备中。当前显示英语简介。

  • Migrating Poshi test cases to modern test layers
  • Finding existing specs that already cover Poshi tests
  • Planning Playwright, Jest, or JUnit test conversions
liferay/liferay-portal22672026年10月29日 更新

Plan and carry out a reduction of a Liferay component’s Poshi test suite by identifying overlapping tests and combining their unique assertions. The skill inventories matching test files, preserves tests with special setup or properties, and commits each planned rename or merge separately.

中文简介正在准备中。当前显示英语简介。

  • Reduce overlapping Poshi tests for a component
  • Prepare a test suite for migration to another test layer
  • Review a file-by-file plan for merging functional tests
liferay/liferay-portal22672026年10月29日 更新

查看 liferay 的全部技能

报告此技能的问题