アクションツールキットCLIで独自のGitHubアクションを生成する


GitHubアクションチームは、SDKを提供しています.このGitHub Actions ToolKit アクションを簡単に作成するパッケージの組み合わせです.今日、私はあなたにそのツールキットのラッパーでGithubアクションを作る方法を示します.

アクション / ツールキット


Githubアクションを開発するためのGithubツールキット


あなたは私の行動を見つけることができますbdougie/gipht-action
あなたが私のようであるならば、あなたは繰り返し同じようなプロジェクトをたくさん構築します.js

ジャポニコ / アクションツールキット


🛠 GITHUB動作をノードで構築するためのツールキット。js


アクションツールキット


ノードのGithub動作を構築するための独創的なツールキット.js
Usage
API
How to test your Action
FAQ

このツールキットはofficial toolkit . actions/toolkit パフォーマンスの関心のある多くの機能をオプションにするので、このライブラリの代わりにそれを使用することを好む可能性があります.

用途


インストール

$ npm install actions-toolkit
const { Toolkit } = require('actions-toolkit')
const tools = new Toolkit()

新しいアクションをブートストラップ

$ npx actions-toolkit my-cool-action
これは新しいフォルダを作成しますmy-cool-action 次のファイルを使用します.
├── Dockerfile
├── action.yml
├── index.js
├── index.test.js
└── package.json

API

  • The Toolkit class
  • Authenticated GitHub API client
  • Logging
  • Getting workflows' inputs
  • Output information from your action
  • Slash commands
  • Reading files
  • Run a CLI command
  • End the action's process
  • Inspect the webhook event payload
  • ツールキットオプション


    イベント(オプション)


    オプションのリスト.
    View on GitHub
    このツールキットは、公式ツールキット(とラッパーの周り)の独創的な代替手段です.actions/toolkit パフォーマンスの関心のある多くの機能をオプションにするので、このライブラリの代わりにそれを使用することを好む可能性があります.
    開始するには、NPXコマンドが必要です
    npx actions-toolkit my-cool-action
    
    これはdockerfile、indexを生成します.インデックス.テスト.JSとアクション.京大理
    JavaScriptには、ツールキットのラッパーが用意されています.私はレバレッジGiphy API コメントを発行し、提供されたキーワードに基づいてGIFを返します.
    
    const { Toolkit } = require('actions-toolkit')
    
    const fetchGif = require('./utils/giphy.js')
    const giphyAPIKey = process.env.GIPHY_TOKEN
    
    // Run your GitHub Action!
    Toolkit.run(async tools => {
      // return if you ain't suppose be here
      if (tools.context.payload.comment.body.includes('.gipht')) {
    
        const searchTerm = tools.context.payload.comment.body.split(".gipht").join(" ")
    
        const url = `http://api.giphy.com/v1/gifs/translate?api_key=${giphyAPIKey}&s=${searchTerm}`
        const gifURL = await fetchGif(url)
    
        console.log(tools.context.issue)
        const params = {...tools.context.issue, body: `![](${gifURL})` }
    
        return tools.github.issues.createComment(params)
    
      }
    }, {event: 'issue_comment.created' })
    
    注: GiphyRageトークンは、プロダクションワークフローで提供する必要があります.
    The Dockerfile 今日生成されますが、心に留めておきますあなたは1つのアクションを構築し、githubできません.私は、将来の記事でそれをカバーします.
    動作.YYLファイルは、Github市場であなたの行動を公開するために必要な場合.閉じるこの動画はお気に入りから削除されています.
    一度Githubレポで新しく生成されたGitHubアクションを持っている場合は、ワークフローに追加することができます.
    
    name: "Comment run"
    on:
      issue_comment:
        types: [created]
    
    jobs:
      comment-run:
        runs-on: ubuntu-latest
        steps:
          - uses: bdougie/gipht-action@main
            env:
              GIPHY_TOKEN: ${{ secrets.GIPHY_TOKEN }}
              GITHUB_TOKEN: ${{ secrets.BDOUGIE_TOKEN }}
    
    トークンの制限によりトークンを生成する必要があります.詳細についてはを参照してください.

    これは私の28日間のアクションシリーズの一部です.より多くのGithubアクション・ティップスの通知を得るために、Div .
    02:05