mirror of
https://github.com/actions/github-script.git
synced 2026-02-09 11:51:35 +00:00
Initial pass on script Action
This commit is contained in:
77
README.md
Normal file
77
README.md
Normal file
@@ -0,0 +1,77 @@
|
||||
# script
|
||||
|
||||
This action makes it easy to quickly write a script in your workflow that uses the GitHub API and the workflow execution context.
|
||||
|
||||
See [octokit/rest.js](https://octokit.github.io/rest.js/) for the API client documentation.
|
||||
|
||||
## Examples
|
||||
|
||||
### Comment on an issue
|
||||
|
||||
```yaml
|
||||
on:
|
||||
issue: {type: opened}
|
||||
|
||||
jobs:
|
||||
comment:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/script@1.0.0
|
||||
with:
|
||||
github-token: ${{github.token}}
|
||||
script: |
|
||||
await github.issues.createComment({...context.issue, body: '👋 Thanks for reporting!'})
|
||||
```
|
||||
|
||||
### Apply a label to an issue
|
||||
|
||||
```yaml
|
||||
on:
|
||||
issue: {type: opened}
|
||||
|
||||
jobs:
|
||||
apply-label:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/script@1.0.0
|
||||
with:
|
||||
github-token: ${{github.token}}
|
||||
script: |
|
||||
await github.issues.addLabels({...context.issue, labels: ['Triage']})
|
||||
```
|
||||
|
||||
### Welcome a first-time contributor
|
||||
|
||||
```yaml
|
||||
on: pull_request
|
||||
|
||||
jobs:
|
||||
welcome:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/script@1.0.0
|
||||
with:
|
||||
github-token: ${{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!'})
|
||||
```
|
||||
Reference in New Issue
Block a user