Skip to content

octokit issue

octokit issue #7

Workflow file for this run

name: Automatic PR for Issue
on:
issues:
types: [opened]
jobs:
issue_branch:
runs-on: ubuntu-latest
steps:
- name: Checkout Repository
uses: actions/checkout@v2
- name: Set up Node.js
uses: actions/setup-node@v2
with:
node-version: "14"
- name: Install Octokit
run: npm install @octokit/rest
- name: Run Script
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
node <<EOF
const { Octokit } = require("@octokit/rest");
const exec = require("child_process").execSync;
const octokit = new Octokit({
auth: process.env.GITHUB_TOKEN
});
async function run() {
const context = require(process.env.GITHUB_EVENT_PATH);
const issueNumber = context.issue.number;
const owner = context.repository.owner.login;
const repo = context.repository.name;
const branchName = `issue-${issueNumber}-branch`;
// Clone the repo and create a new branch
exec(`git clone https://github.com/${owner}/${repo}.git`);
process.chdir(repo);
exec(`git checkout -b ${branchName}`);
// Add the file and commit
exec(`echo "Hello World" > helloworld.txt`);
exec(`git add helloworld.txt`);
exec(`git commit -m "Add helloworld.txt"`);
exec(`git push origin ${branchName}`);
// Create a pull request
await octokit.pulls.create({
owner: owner,
repo: repo,
title: `Pull request for issue #${issueNumber}`,
head: branchName,
base: 'main',
body: 'This is an automated pull request to resolve issue #'+ issueNumber
});
}
run();
EOF