Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/maxkomarychev/octions
Collection of GitHub Actions that wrap GitHub REST API
https://github.com/maxkomarychev/octions
Last synced: 6 days ago
JSON representation
Collection of GitHub Actions that wrap GitHub REST API
- Host: GitHub
- URL: https://github.com/maxkomarychev/octions
- Owner: maxkomarychev
- License: mit
- Created: 2019-12-19T20:57:53.000Z (almost 5 years ago)
- Default Branch: master
- Last Pushed: 2023-01-05T16:23:04.000Z (almost 2 years ago)
- Last Synced: 2024-10-14T13:16:29.729Z (20 days ago)
- Language: JavaScript
- Size: 25.4 MB
- Stars: 38
- Watchers: 4
- Forks: 3
- Open Issues: 17
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
- awesome-actions - Octions - GitHub Actions for GitHub REST API
- fucking-awesome-actions - Octions - GitHub Actions for GitHub REST API
- awesome-workflows - Octions - GitHub Actions for GitHub REST API
- jimsghstars - maxkomarychev/octions - Collection of GitHub Actions that wrap GitHub REST API (JavaScript)
README
# Octions
## What is an _oction_?
**O**ctokit + A**ction** = **Oction** - it is a [GitHub Action](https://github.com/features/actions) that exposes single REST API call from [@octokit/routes](https://github.com/octokit/routes)
## API
Explore [catalog](#catalog) for API relevant for every specific oction.
Common API are listed below:
### Common inputs
| Name | Type | Description |
| -------------- | ---------------- | ---------------------------------------------------------------------------------------------------------------------------------------- |
| token | string | Valid token to authorize API calls |
| file_output | string | Store result of the action in specified file |
| custom_outputs | multiline string | Custom outputs to create for step. This has to be YAML multiline string literal `custom_outputs: | output_name:path.in.result`" |#### 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:
```yaml
on:
pull_request:
types:
- opened
- synchronizejobs:
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
| Name | Description |
| ------ | ------------------------------------------ |
| id | `id` field of the response (if exists) |
| number | `number` field of the response (if exists) |
| status | HTTP status of underlying API call |## Catalog
[Catalog](CATALOG.md)
## Examples
### Close every issue immediatelly once it is opened
```yaml
on:
issues:
types:
- openedjobs:
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!
```