Skip to content

Get the number of seats in a GitHub organization or enterprise

Notifications You must be signed in to change notification settings

alex-dyla/seat-count-action

 
 

Repository files navigation

OpenSSF Scorecard

Seat Count Action

A simple Action 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.

Usage

Create a workflow (eg: .github/workflows/seat-count.yml). See Creating a Workflow file.

You will need to create a PAT(Personal Access Token) that has admin:org access.

Add this PAT as a secret so we can use it as input github-token, see 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.

Example: Check seat count every day at 12:00 AM

name: Check Seat Count
on:
  schedule:
    - cron: 0 0 * * *

jobs:
  seats:
    runs-on: ubuntu-latest
    steps:
      - uses: austenstone/seat-count-action@v3
        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.

example

image

example

image

example

image

➡️ Inputs

Various inputs are defined in 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.

About

Get the number of seats in a GitHub organization or enterprise

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 100.0%