Skip to content
This repository has been archived by the owner on Jun 7, 2024. It is now read-only.

Agregar miembros a la organización y crear repositorio #3465

Agregar miembros a la organización y crear repositorio

Agregar miembros a la organización y crear repositorio #3465

Workflow file for this run

name: Agregar miembros a la organización y crear repositorio
on:
workflow_dispatch:
schedule:
- cron: '* * * * *'
jobs:
agregar-miembros:
runs-on: ubuntu-latest
steps:
- name: Obtener e invitar a nuevos miembros
id: add-members
uses: actions/github-script@v6
with:
github-token: ${{ secrets.GIT_DATA }}
script: |
const orgName = 'Try-Catch-Factory'
const repoName = 'pipeline'
const issues = await github.rest.issues.listForRepo({
owner: orgName,
repo: repoName,
state: 'open'
})
for (const issue of issues.data) {
const repoName = issue.title
await github.rest.repos.createInOrg({
org: orgName,
name: repoName,
description: repoName
})
const issueBody = issue.body
const collaborators = issueBody.split('\n').map(name => name.trim())
for (const collaborator of collaborators) {
try {
if (collaborator === '') {
continue;
}
const user = await github.rest.users.getByUsername({ username: collaborator })
const members = await github.rest.orgs.listMembers({
org: orgName
})
const isMember = members.data.some(member => member.login === collaborator)
if (isMember) {
console.log(`Usuario ${collaborator} ya existe en la organización ${orgName}`)
} else {
await github.rest.orgs.createInvitation({
org: orgName,
invitee_id: user.data.id,
role: 'direct_member'
})
console.log(`Usuario ${collaborator} invitado a unirse a la organización ${orgName}`)
}
const issueNumber = issue.number
console.log(`Número de la issue: ${issueNumber}`)
} catch (error) {
console.log(`Error al agregar el usuario ${collaborator}: ${error.message}`)
}
}
}
console.log(`Última issue: ${issues.data.length > 0 ? issues.data[issues.data.length - 1].number : 'No issues found'}`)
- name: Close Issue
if: steps.add-members.outputs.issueNumber != null
uses: peter-evans/close-issue@v3
with:
issue-number: ${{ steps.add-members.outputs.issueNumber }}
comment: Auto-closing issue