A action "List GitHub Environments" é uma action criada em JavaScript para buscar e listar as environments (ambientes) do repositório. Com esta action, você pode obter uma lista de todas as environments disponíveis em seu repositório do GitHub. Além disso, ela possui alguns parâmetros de configuração para filtrar e personalizar os resultados.
Para utilizar a action em seu workflow, adicione o seguinte trecho ao seu arquivo de configuração YAML do GitHub Actions (por exemplo, .github/workflows/main.yml
):
permissions:
actions: read
...
steps:
- name: List environments
id: github-environments
uses: eteg/list-github-environments@v1
with:
exclude-envs: '["staging", "develop"]'
has-protection-rule: true
repo-token: "${{ secrets.GITHUB_TOKEN }}"
Observação importante: Não esquecer de adicionar a permission actions:read no job onde o step do eteg/list-github-environments atuará.
Aqui estão os parâmetros disponíveis para personalizar a action:
-
exclude-envs: Uma lista opcional de nomes de environments que você deseja excluir da lista de resultados. Por exemplo, ["staging", "develop"].
-
has-protection-rule: Um valor booleano opcional que permite filtrar apenas as environments que possuem regras de proteção definidas.
-
repo-token: O token de acesso do repositório ${{ secrets.GITHUB_TOKEN }} é necessário para autenticação e permissões para acessar as informações do repositório.
Aqui está um exemplo de uso da action em um workflow:
name: List Environments
on:
push:
branches:
- main
jobs:
list-environments:
name: List GitHub Environments
runs-on: ubuntu-latest
permissions:
actions: read
steps:
- name: Checkout code
uses: actions/checkout@v2
- name: List environments
id: github-environments
uses: eteg/list-github-environments@v1
with:
exclude-envs: '["staging", "develop"]'
has-protection-rule: true
repo-token: "${{ secrets.GITHUB_TOKEN }}"
- name: Display environments
run: |
echo "Available Environments: ${{ steps.github-environments.outputs.environments }}"
Neste exemplo, a action será acionada em cada push para a branch main. Ela lista todas as environments do repositório, excluindo aquelas com os nomes "staging" e "develop", e exibindo apenas as que possuem regras de proteção definidas.
Licença Este projeto está licenciado sob a ISC License.