commit 14a760cfa0c4823e74bd5d0a6a408072e3974449
parent 132e98090eac70ee3a5f63bc8364a27afb051815
Author: iostpa <iostpa@iostpa.com>
Date: Tue, 3 Mar 2026 19:48:50 +0200
GitHub moment (I had to redo how I get the pull request)
Diffstat:
1 file changed, 10 insertions(+), 5 deletions(-)
diff --git a/index.js b/index.js
@@ -132,8 +132,13 @@ app.webhooks.on('workflow_job.completed', async ({ octokit, payload }) => {
if (payload.workflow_job.conclusion === "failure") {
const actions = await octokit.request(`GET ${payload.workflow_job.run_url}`);
if (actions.data.event === "pull_request") {
- const pr = actions.data.pull_requests[0];
- console.log(`Workflow failed in #${pr.number} on https://github.com/${payload.repository.full_name}, sending failed message!`);
+ const commit = await octokit.rest.repos.listPullRequestsAssociatedWithCommit({
+ owner: payload.repository.owner.login,
+ repo: payload.repository.name,
+ commit_sha: actions.data.head_sha,
+ });;
+ const pr = commit.data[0].number;
+ console.log(`Workflow failed in #${pr} on https://github.com/${payload.repository.full_name}, sending failed message!`);
const logs = await octokit.request(`GET /repos/${payload.repository.owner.login}/${payload.repository.name}/actions/jobs/${payload.workflow_job.id}/logs`);
const logsText = logs.data;
const removeTime = logsText.split('\n').map(line => line.replace(/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}\.\d+Z\s+/, ''));
@@ -159,12 +164,12 @@ ${finalLogs.join('\n').replace(/</g, '<').replace(/>/g, '>')}
[Link for error logs](${payload.workflow_job.html_url})
`;
await octokit.rest.issues.createComment({
- owner:payload.repository.owner.login,
+ owner: payload.repository.owner.login,
repo: payload.repository.name,
- issue_number: pr.number,
+ issue_number: pr,
body: failed
});
- console.log(`Succesfully sent the failed message for #${pr.number} on https://github.com/${payload.repository.full_name}`);
+ console.log(`Succesfully sent the failed message for #${pr} on https://github.com/${payload.repository.full_name}`);
} else {
return;
}