J'ai commencé à jouer avec GitHub Actions, mais j'ai du mal à accéder aux secrets de référentiel que je passe en Envois.
Mon fichier de flux de travail:
name: Invite
on:
pull_request:
branches: [master]
types: [closed]
jobs:
invite:
runs-on: ubuntu-latest
steps:
- name: Hello world action
uses: lekterable/inclusive-organization-action@master
env:
SECRET_TOKEN: ${{ secrets.SECRET_TOKEN }}
organization: string
SUPER_SECRET: ${{ secrets.SUPER_SECRET }}
fichier d'indexaction
const core = require('@actions/core')
const github = require('@actions/github')
const run = async () => {
try {
...
console.log('env', process.env)
const token = process.env.SECRET_TOKEN
const secret = process.env.SUPER_SECRET
const organization = process.env.organization
console.log('organization', organization)
console.log('token?', !!token)
console.log('secret?', !!secret)
console.log('token length', token.length)
...
} catch (error) {
core.setFailed(error.message)
}
}
run()
comme vous pouvez le constater, je suis en train de passer 3 env a l'organisation qui a une valeur de "chaîne" existant comme prévu, mais Secret_Token et Super_secret sont vides.
Et oui, j'ai les secrets définis dans le repo qui exécute l'action:
Y a-t-il quelque chose que je fais mal?
J'ai trouvé une solution, ce que j'ai fait pour travailler autour de cela est au lieu de courir l'action sur la fermeture des relations publiques que je l'exécute sur une nouvelle commission de maîtrise, cela doit être déclenché par une personne ayant des "droits écrits" au Repo, par conséquent, il a accès aux secrets de repo.
C'est un peu plus difficile de vérifier si le commit est une commission fusion et nous devons chercher explicitement plus d'informations sur le PR, mais cela fonctionne. Code source d'une action J'essayais de construire si une personne s'intéresse: https://github.com/lekterable/inclusive-organization