https://github.com/kurrent-io/Automations
Gathers GitHub actions used across the organization.
https://github.com/kurrent-io/Automations
Last synced: 10 months ago
JSON representation
Gathers GitHub actions used across the organization.
- Host: GitHub
- URL: https://github.com/kurrent-io/Automations
- Owner: EventStore
- Created: 2020-03-24T13:11:17.000Z (almost 6 years ago)
- Default Branch: master
- Last Pushed: 2024-11-07T13:57:47.000Z (about 1 year ago)
- Last Synced: 2024-11-07T14:33:42.623Z (about 1 year ago)
- Language: JavaScript
- Size: 4.5 MB
- Stars: 5
- Watchers: 24
- Forks: 5
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- Changelog: changelog-update/action.yml
Awesome Lists containing this project
README
# Automations
Gathers GitHub actions used across the organization.
# Reusable Workflows
## Triage project automation
Newly opened or reopened issues are given the "To Triage" status on the Triage project board.
Items that are given a milestone are removed from the Triage project, and should be added to the appropriate work project in a separate workflow.
### Inputs
| Input | Description |
| ------------------ | ------------- |
| `resource-node-id` | The global node ID of the issue or PR (`github.event.issue.node_id`) |
| `event-action` | The action that triggered the workflow (`github.event.action`) |
| `labels` | A comma-separated list of the labels on the issue (`join(github.event.issue.labels.*.name, ', ')`) |
| Secrets | Description |
| ------------------ | ------------- |
| `project-number` | The Project Number from the project's url |
| `token` | Github Access Token with `org:write` permission |
### Example calling workflow:
```yaml
name: Triage project automations
on:
issues:
types:
- opened
- reopened
- milestoned
- labeled
jobs:
call-workflow:
uses: EventStore/Automations/.github/workflows/triage-project-automation.yml@master
with:
resource-node-id: ${{ github.event.issue.node_id }}
event-action: ${{ github.event.action }}
labels: ${{ join(github.event.issue.labels.*.name, ', ') }}
secrets:
project-number: 1
token: ${{ secrets.PERSONAL_ACCESS_TOKEN }}
```
## Development project automation
Issues that have been given a milestone are added to the Development project board, and should be removed from the Triage board in a separate workflow.
The issues are added without a status, so if they are already present on the Development board then they will remain in their current status. Otherwise they will be given the board's default status.
Pull requests that are opened or reopened are added to the project board. They are added to "In Progress" if they are still in draft, otherwise they are added to "Review/QA".
If the pull request is converted to draft or set to ready to review, then the status will be updated accordingly.
### Inputs
| Input | Description |
| ------------------ | ------------- |
| `resource-node-id` | The global node ID of the issue or PR (`github.event.issue.node_id`) |
| `event-action` | The action that triggered the workflow (`github.event.action`) |
| `event-name` | The name of the event that triggered the workflow (`github.event_name`) |
| Secrets | Description |
| ------------------ | ------------- |
| `project-number` | The Project Number from the project's url |
| `token` | Github Access Token with `org:write` permission |
### Example calling workflow:
```yaml
name: Development project automations for pull requests
on:
pull_request:
types:
- opened
- reopened
- converted_to_draft
- ready_for_review
jobs:
call-workflow:
uses: EventStore/Automations/.github/workflows/development-project-automation.yml@master
with:
resource-node-id: ${{ github.event.pull_request.node_id }}
event-action: ${{ github.event.action }}
event-name: ${{ github.event_name }}
secrets:
project-number: 2
token: ${{ secrets.PERSONAL_ACCESS_TOKEN }}
```
```yaml
name: Development project automations for issues
on:
issues:
types:
- milestoned
jobs:
call-workflow:
uses: EventStore/Automations/.github/workflows/development-project-automation.yml@master
with:
resource-node-id: ${{ github.event.issue.node_id }}
event-action: ${{ github.event.action }}
event-name: ${{ github.event_name }}
secrets:
project-number: 2
token: ${{ secrets.PERSONAL_ACCESS_TOKEN }}
```