Home

Awesome

Octions

What is an oction?

Octokit + Action = Oction - it is a GitHub Action that exposes single REST API call from @octokit/routes

API

Explore catalog for API relevant for every specific oction.

Common API are listed below:

Common inputs

NameTypeDescription
tokenstringValid token to authorize API calls
file_outputstringStore result of the action in specified file
custom_outputsmultiline stringCustom outputs to create for step. This has to be YAML multiline string literal `custom_outputs:

Read input from file

If value of the input beings with FILE:: the rest of the string is treated as path and oction will use data of that file as value of the input.

Example. This will pust output of cloc as a comment in a pr:

on:
  pull_request:
    types:
      - opened
      - synchronize

jobs:
  cloc:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v1
      - run: npx cloc . > cloc.txt
      - uses: maxkomarychev/octions/octions/issues/create-comment@master
        with:
          token: ${{ secrets.GITHUB_TOKEN }}
          issue_number: ${{ github.event.pull_request.number }}
          body: FILE::cloc.txt

Common outputs

NameDescription
idid field of the response (if exists)
numbernumber field of the response (if exists)
statusHTTP status of underlying API call

Catalog

Catalog

Examples

Close every issue immediatelly once it is opened

on:
  issues:
    types:
      - opened

jobs:
  close-issue:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v1
      - run: echo "${{ toJson(github.event) }}"
      - uses: maxkomarychev/octions/octions/issues/update@master
        with:
          token: ${{ secrets.GITHUB_TOKEN }}
          issue_number: ${{ github.event.issue.number }}
          state: closed
          custom_outputs: |
            user:data.user.login
      - uses: maxkomarychev/octions/octions/issues/create-comment@master
        with:
          token: ${{ secrets.GITHUB_TOKEN }}
          issue_number: ${{ github.event.issue.number }}
          body: You can't create issues here!