- Notifications
You must be signed in to change notification settings - Fork0
License
CoolZeroNL/github-script
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
This action makes it easy to quickly write a script in your workflow thatuses the GitHub API and the workflow run context.
In order to use this action, ascript
input is provided. The value of thatinput should be the body of an asynchronous function call. Two arguments willbe provided:
github
A pre-authenticatedoctokit/rest.js clientcontext
An object containing thecontext of the workflowrun
Since thescript
is just a function body, these values will already bedefined, so you don't have to (see examples below).
Seeoctokit/rest.js for the API clientdocumentation.
Note This action is still a bit of an experiment—the API may change in*future versions. 🙂
on:issues:{types: opened}jobs:comment:runs-on:ubuntu-lateststeps: -uses:actions/github-script@0.3.0with:github-token:${{secrets.GITHUB_TOKEN}}script:| github.issues.createComment({...context.issue, body: '👋 Thanks for reporting!'})
on:issues:{types: opened}jobs:apply-label:runs-on:ubuntu-lateststeps: -uses:actions/github-script@0.3.0with:github-token:${{secrets.GITHUB_TOKEN}}script:| github.issues.addLabels({...context.issue, labels: ['Triage']})
on:pull_requestjobs:welcome:runs-on:ubuntu-lateststeps: -uses:actions/github-script@0.3.0with:github-token:${{secrets.GITHUB_TOKEN}}script:| // Get a list of all issues created by the PR opener // See: https://octokit.github.io/rest.js/#pagination const creator = context.payload.sender.login const opts = github.issues.listForRepo.endpoint.merge({ ...context.issue, creator, state: 'all' }) const issues = await github.paginate(opts) for (const issue of issues) { if (issue.number === context.issue.number) { continue } if (issue.pull_request) { return // Creator is already a contributor. } } await github.issues.createComment({...context.issue, body: 'Welcome, new contributor!'})
You can use thegithub
object to access the Octokit API. Forinstance,github.request
on:pull_requestjobs:diff:runs-on:ubuntu-lateststeps: -uses:actions/github-script@0.3.0with:github-token:${{secrets.GITHUB_TOKEN}}script:| const diff_url = context.payload.pull_request.diff_url const result = await github.request(diff_url) console.log(result)
This will print the full diff object in the screen;result.data
willcontain the actual diff text.
About
Resources
License
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Packages0
Languages
- JavaScript100.0%