https://github.com/austenstone/seat-count-action
Get the number of seats in a GitHub organization or enterprise
https://github.com/austenstone/seat-count-action
actions github
Last synced: about 2 months ago
JSON representation
Get the number of seats in a GitHub organization or enterprise
- Host: GitHub
- URL: https://github.com/austenstone/seat-count-action
- Owner: austenstone
- Created: 2022-06-07T17:47:43.000Z (almost 4 years ago)
- Default Branch: main
- Last Pushed: 2025-05-15T16:33:53.000Z (11 months ago)
- Last Synced: 2025-09-28T09:35:38.260Z (7 months ago)
- Topics: actions, github
- Language: TypeScript
- Homepage:
- Size: 1.5 MB
- Stars: 8
- Watchers: 2
- Forks: 2
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
[](https://securityscorecards.dev/viewer/?uri=github.com/austenstone/seat-count-action)
# Seat Count Action
A simple [Action](https://docs.github.com/en/actions) to count the remaining seats in an GitHub plan. It is intended to be used in conjunction with other actions to do something like notify the user when there are less than 10 seats remaining.
The values output from this action could be from the organization or the enterprise depending on the [GitHub plan](https://github.com/pricing).
## Usage
Create a workflow (eg: `.github/workflows/seat-count.yml`). See [Creating a Workflow file](https://help.github.com/en/articles/configuring-a-workflow#creating-a-workflow-file).
You will need to [create a PAT(Personal Access Token)](https://github.com/settings/tokens/new?scopes=admin:enterprise) that has `admin:enterprise` access.
Add this PAT as a secret so we can use it as input `github-token`, see [Creating encrypted secrets for a repository](https://docs.github.com/en/enterprise-cloud@latest/actions/security-guides/encrypted-secrets#creating-encrypted-secrets-for-a-repository).
### Organizations
If your organization has SAML enabled you must authorize the PAT, see [Authorizing a personal access token for use with SAML single sign-on](https://docs.github.com/en/enterprise-cloud@latest/authentication/authenticating-with-saml-single-sign-on/authorizing-a-personal-access-token-for-use-with-saml-single-sign-on).
#### Example: Check seat count every day at 12:00 AM
```yml
name: Check Seat Count
on:
schedule:
- cron: 0 0 * * *
jobs:
seats:
runs-on: ubuntu-latest
steps:
- uses: austenstone/seat-count-action@v3.0
id: seats
with:
github-token: ${{secrets.TOKEN}}
outputs:
percentage: ${{steps.seats.outputs.percentage}}
remaining: ${{steps.seats.outputs.remaining}}
less-than-10:
needs: [seats]
if: needs.seats.outputs.remaining < 10
runs-on: ubuntu-latest
steps:
- run: echo "Only ${{needs.seats.outputs.remaining}} GitHub seats remaining!"
```
## Example Notification Actions
You can send a notifcation using any medium.
### [slack-send](https://github.com/marketplace/actions/slack-send)
[example](./.github/workflow-templates/slack.yml)

### [send-email](https://github.com/marketplace/actions/send-email)
[example](./.github/workflow-templates/email.yml)

### [jira-create-issue](https://github.com/marketplace/actions/jira-create-issue)
[example](./.github/workflow-templates/jira.yml)

## ➡️ Inputs
Various inputs are defined in [`action.yml`](action.yml):
| Name | Description | Default |
| --- | - | - |
| github‑token | Token to use to authorize. | ${{ github.token }} |
| org | The org to use for the action. | ${{ github.event.organization.login }} |
| enterprise | The enterprise to use for the action. | N/A |
## ⬅️ Outputs
| Name | Description |
| --- | - |
| filled_seats | The number of filled seats. |
| seats | The total number of seats. |
| percentage | Threshold percentage of seats. |
| remaining | Threshold remaining seats. |
| name | The name of the plan. |
| space | The package space remaining. |
| private_repos | The number of private repos. |
## Further help
To get more help on the Actions see [documentation](https://docs.github.com/en/actions).