mirror of
https://github.com/actualbudget/actual.git
synced 2026-03-22 00:13:45 -05:00
* Initial plan * Add release notes for PR #6622 * Update release-notes workflow to only trigger for PRs against master Co-authored-by: MatissJanis <886567+MatissJanis@users.noreply.github.com> * Fix: Apply branch filter to AI release notes workflow instead of check workflow Co-authored-by: MatissJanis <886567+MatissJanis@users.noreply.github.com> --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com> Co-authored-by: MatissJanis <886567+MatissJanis@users.noreply.github.com>
63 lines
1.6 KiB
JavaScript
Executable File
63 lines
1.6 KiB
JavaScript
Executable File
#!/usr/bin/env node
|
|
|
|
import fs from 'fs';
|
|
|
|
import { Octokit } from '@octokit/rest';
|
|
|
|
const token = process.env.GITHUB_TOKEN;
|
|
const repo = process.env.GITHUB_REPOSITORY;
|
|
const issueNumber = process.env.GITHUB_EVENT_ISSUE_NUMBER;
|
|
|
|
if (!token || !repo || !issueNumber) {
|
|
console.log('Missing required environment variables');
|
|
process.exit(1);
|
|
}
|
|
|
|
const [owner, repoName] = repo.split('/');
|
|
const octokit = new Octokit({ auth: token });
|
|
|
|
function setOutput(name, value) {
|
|
fs.appendFileSync(process.env.GITHUB_OUTPUT, `${name}=${value}\n`);
|
|
}
|
|
|
|
async function getPRDetails() {
|
|
try {
|
|
console.log(
|
|
`Fetching PR details for ${owner}/${repoName}#${issueNumber}...`,
|
|
);
|
|
|
|
const { data: pr } = await octokit.rest.pulls.get({
|
|
owner,
|
|
repo: repoName,
|
|
pull_number: issueNumber,
|
|
});
|
|
|
|
console.log('PR details fetched successfully');
|
|
console.log('- PR Number:', pr.number);
|
|
console.log('- PR Author:', pr.user.login);
|
|
console.log('- PR Title:', pr.title);
|
|
console.log('- Base Branch:', pr.base.ref);
|
|
|
|
const result = {
|
|
number: pr.number,
|
|
author: pr.user.login,
|
|
title: pr.title,
|
|
baseBranch: pr.base.ref,
|
|
};
|
|
|
|
setOutput('result', JSON.stringify(result));
|
|
} catch (error) {
|
|
console.log('Error getting PR details:', error.message);
|
|
console.log('Stack:', error.stack);
|
|
setOutput('result', 'null');
|
|
process.exit(1);
|
|
}
|
|
}
|
|
|
|
getPRDetails().catch(error => {
|
|
console.log('Unhandled error:', error.message);
|
|
console.log('Stack:', error.stack);
|
|
setOutput('result', 'null');
|
|
process.exit(1);
|
|
});
|