Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 89e42e7

Browse files
Clean up README
Remove text that seems to be repeated
1 parent e2ddba4 commit 89e42e7

File tree

1 file changed

+0
-223
lines changed

1 file changed

+0
-223
lines changed

README.md

Lines changed: 0 additions & 223 deletions
Original file line numberDiff line numberDiff line change
@@ -226,226 +226,3 @@ external function.
226226
Additionally, you'll want to use the [checkout
227227
action](https://github.com/actions/checkout) to make sure your script file is
228228
available.
229-
230-
This action makes it easy to quickly write a script in your workflow that
231-
uses the GitHub API and the workflow run context.
232-
233-
In order to use this action, a `script` input is provided. The value of that
234-
input should be the body of an asynchronous function call. The following
235-
arguments will be provided:
236-
237-
- `github` A pre-authenticated
238-
[octokit/rest.js](https://github.com/octokit/rest.js) client
239-
- `context` An object containing the [context of the workflow
240-
run](https://github.com/actions/toolkit/blob/main/packages/github/src/context.ts)
241-
- `core` A reference to the [@actions/core](https://github.com/actions/toolkit/tree/main/packages/core) package
242-
- `io` A reference to the [@actions/io](https://github.com/actions/toolkit/tree/main/packages/io) package
243-
244-
Since the `script` is just a function body, these values will already be
245-
defined, so you don't have to (see examples below).
246-
247-
See [octokit/rest.js](https://octokit.github.io/rest.js/) for the API client
248-
documentation.
249-
250-
**Note** This action is still a bit of an experiment—the API may change in
251-
future versions. 🙂
252-
253-
## Development
254-
255-
See [development.md](/docs/development.md).
256-
257-
## Reading step results
258-
259-
The return value of the script will be in the step's outputs under the
260-
"result" key.
261-
262-
```yaml
263-
- uses: actions/github-script@v3
264-
id: set-result
265-
with:
266-
script: return "Hello!"
267-
result-encoding: string
268-
- name: Get result
269-
run: echo "${{steps.set-result.outputs.result}}"
270-
```
271-
272-
See ["Result encoding"](#result-encoding) for details on how the encoding of
273-
these outputs can be changed.
274-
275-
## Result encoding
276-
277-
By default, the JSON-encoded return value of the function is set as the "result" in the
278-
output of a github-script step. For some workflows, string encoding is preferred. This option can be set using the
279-
`result-encoding` input:
280-
281-
```yaml
282-
- uses: actions/github-script@v3
283-
id: my-script
284-
with:
285-
github-token: ${{secrets.GITHUB_TOKEN}}
286-
result-encoding: string
287-
script: return "I will be string (not JSON) encoded!"
288-
```
289-
290-
## Examples
291-
292-
Note that `github-token` is optional in this action, and the input is there
293-
in case you need to use a non-default token.
294-
295-
By default, github-script will use the token provided to your workflow.
296-
297-
### Comment on an issue
298-
299-
```yaml
300-
on:
301-
issues:
302-
types: [opened]
303-
304-
jobs:
305-
comment:
306-
runs-on: ubuntu-latest
307-
steps:
308-
- uses: actions/github-script@v3
309-
with:
310-
github-token: ${{secrets.GITHUB_TOKEN}}
311-
script: |
312-
github.issues.createComment({
313-
issue_number: context.issue.number,
314-
owner: context.repo.owner,
315-
repo: context.repo.repo,
316-
body: '👋 Thanks for reporting!'
317-
})
318-
```
319-
320-
### Apply a label to an issue
321-
322-
```yaml
323-
on:
324-
issues:
325-
types: [opened]
326-
327-
jobs:
328-
apply-label:
329-
runs-on: ubuntu-latest
330-
steps:
331-
- uses: actions/github-script@v3
332-
with:
333-
github-token: ${{secrets.GITHUB_TOKEN}}
334-
script: |
335-
github.issues.addLabels({
336-
issue_number: context.issue.number,
337-
owner: context.repo.owner,
338-
repo: context.repo.repo,
339-
labels: ['Triage']
340-
})
341-
```
342-
343-
### Welcome a first-time contributor
344-
345-
```yaml
346-
on: pull_request
347-
348-
jobs:
349-
welcome:
350-
runs-on: ubuntu-latest
351-
steps:
352-
- uses: actions/github-script@v3
353-
with:
354-
github-token: ${{secrets.GITHUB_TOKEN}}
355-
script: |
356-
// Get a list of all issues created by the PR opener
357-
// See: https://octokit.github.io/rest.js/#pagination
358-
const creator = context.payload.sender.login
359-
const opts = github.issues.listForRepo.endpoint.merge({
360-
...context.issue,
361-
creator,
362-
state: 'all'
363-
})
364-
const issues = await github.paginate(opts)
365-
366-
for (const issue of issues) {
367-
if (issue.number === context.issue.number) {
368-
continue
369-
}
370-
371-
if (issue.pull_request) {
372-
return // Creator is already a contributor.
373-
}
374-
}
375-
376-
await github.issues.createComment({
377-
issue_number: context.issue.number,
378-
owner: context.repo.owner,
379-
repo: context.repo.repo,
380-
body: 'Welcome, new contributor!'
381-
})
382-
```
383-
384-
### Download data from a URL
385-
386-
You can use the `github` object to access the Octokit API. For
387-
instance, `github.request`
388-
389-
```yaml
390-
on: pull_request
391-
392-
jobs:
393-
diff:
394-
runs-on: ubuntu-latest
395-
steps:
396-
- uses: actions/github-script@v3
397-
with:
398-
github-token: ${{secrets.GITHUB_TOKEN}}
399-
script: |
400-
const diff_url = context.payload.pull_request.diff_url
401-
const result = await github.request(diff_url)
402-
console.log(result)
403-
```
404-
405-
_(Note that this particular example only works for a public URL, where the
406-
diff URL is publicly accessible. Getting the diff for a private URL requires
407-
using the API.)_
408-
409-
This will print the full diff object in the screen; `result.data` will
410-
contain the actual diff text.
411-
412-
### Run a separate file
413-
414-
If you don't want to inline your entire script that you want to run, you can
415-
use a separate JavaScript module in your repository like so:
416-
417-
```yaml
418-
on: push
419-
420-
jobs:
421-
echo-input:
422-
runs-on: ubuntu-latest
423-
steps:
424-
- uses: actions/checkout@v2
425-
- uses: actions/github-script@v2
426-
with:
427-
script: |
428-
const script = require(`${process.env.GITHUB_WORKSPACE}/path/to/script.js`)
429-
console.log(script({github, context}))
430-
```
431-
432-
_Note that the script path given to `require()` must be an **absolute path** in this case, hence using [`GITHUB_WORKSPACE`](https://docs.github.com/en/actions/configuring-and-managing-workflows/using-environment-variables#default-environment-variables)._
433-
434-
And then export a function from your module:
435-
436-
```javascript
437-
module.exports = (github, context) => {
438-
return context.payload.client_payload.value
439-
}
440-
```
441-
442-
You can also use async functions in this manner, as long as you `await` it in
443-
the inline script.
444-
445-
Note that because you can't `require` things like the GitHub context or
446-
Actions Toolkit libraries, you'll want to pass them as arguments to your
447-
external function.
448-
449-
Additionally, you'll want to use the [checkout
450-
action](https://github.com/actions/checkout) to make sure your script file is
451-
available.

0 commit comments

Comments
 (0)