Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

License

NotificationsYou must be signed in to change notification settings

git-pract/github-script

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

64 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

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:

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. 🙂

Development

Seedevelopment.md.

Examples

Note thatgithub-token is optional in this action, and the input is therein case you need to use a non-default token.

By default, github-script will use the token provided to your workflow.

Comment on an issue

on:issues:{types: opened}jobs:comment:runs-on:ubuntu-lateststeps:      -uses:actions/github-script@0.6.0with:github-token:${{secrets.GITHUB_TOKEN}}script:|            github.issues.createComment({              issue_number: context.issue.number,              owner: context.repo.owner,              repo: context.repo.repo,              body: '👋 Thanks for reporting!'            })

Apply a label to an issue

on:issues:{types: opened}jobs:apply-label:runs-on:ubuntu-lateststeps:      -uses:actions/github-script@0.6.0with:github-token:${{secrets.GITHUB_TOKEN}}script:|            github.issues.addLabels({              issue_number: context.issue.number,              owner: context.repo.owner,              repo: context.repo.repo,              labels: ['Triage']            })

Welcome a first-time contributor

on:pull_requestjobs:welcome:runs-on:ubuntu-lateststeps:      -uses:actions/github-script@0.6.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({              issue_number: context.issue.number,              owner: context.repo.owner,              repo: context.repo.repo,              body: 'Welcome, new contributor!'            })

Download data from a URL

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.6.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.

Result encoding

By default, the JSON-encoded return value of the function is set as the "result" in theoutput of a github-script step. For some workflows, string encoding is preferred. This option can be set using theresult-encoding input:

-uses:actions/github-script@0.6.0with:github-token:${{secrets.GITHUB_TOKEN}}result-encoding:stringscript:|      return "I will be string (not JSON) encoded!"

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • TypeScript100.0%

[8]ページ先頭

©2009-2025 Movatter.jp