From 59542a4fcc468eeda16a44ce499edd2d709e3017 Mon Sep 17 00:00:00 2001 From: Rachael Sewell Date: Thu, 25 Aug 2022 14:59:07 -0700 Subject: [PATCH 1/2] openapi class bugfix for nullable type (#30270) --- script/rest/utils/operation.js | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/script/rest/utils/operation.js b/script/rest/utils/operation.js index 6e59cc9451..a5941a7a85 100644 --- a/script/rest/utils/operation.js +++ b/script/rest/utils/operation.js @@ -237,6 +237,11 @@ async function getBodyParams(schema, topLevel = false) { // includes. This allows us to support 3.1 while remaining backwards // compatible with 3.0. const paramType = Array.isArray(param.type) ? param.type : [param.type] + // Supports backwards compatibility for OpenAPI 3.0 + // In 3.1 a nullable type is part of the param.type array and + // the property param.nullable does not exist. + if (param.nullable) paramType.push('null') + const additionalPropertiesType = param.additionalProperties ? Array.isArray(param.additionalProperties.type) ? param.additionalProperties.type @@ -321,10 +326,6 @@ async function getBodyParams(schema, topLevel = false) { if (param.default) { paramDecorated.default = param.default } - // Supports backwards compatibility for OpenAPI 3.0 - // In 3.1 a nullable type is part of the param.type array and - // the property param.nullable does not exist. - if (param.nullable) paramDecorated.type('null') bodyParametersParsed.push(paramDecorated) } return bodyParametersParsed From e75a1272146e3697d093f7b9b7fd59bc4ebae473 Mon Sep 17 00:00:00 2001 From: docubot <67483024+docubot@users.noreply.github.com> Date: Thu, 25 Aug 2022 18:04:54 -0400 Subject: [PATCH 2/2] New translation batch for es (#30271) * Add crowdin translations * Run script/i18n/homogenize-frontmatter.js * Run script/i18n/fix-translation-errors.js * Run script/i18n/lint-translation-files.js --check rendering * run script/i18n/reset-files-with-broken-liquid-tags.js --language=es * run script/i18n/reset-known-broken-translation-files.js * Check in es CSV report --- .../index.md | 3 +- .../index.md | 6 +- ...best-practices-for-leaving-your-company.md | 1 + .../converting-a-user-into-an-organization.md | 3 +- .../deleting-your-personal-account.md | 30 +- .../managing-your-personal-account/index.md | 19 + .../managing-multiple-accounts.md | 105 ++ .../merging-multiple-personal-accounts.md | 5 +- ...-security-hardening-with-openid-connect.md | 181 ++++ ...uring-openid-connect-in-hashicorp-vault.md | 143 ++- .../actions/learn-github-actions/contexts.md | 68 ++ .../learn-github-actions/expressions.md | 10 +- .../understanding-github-actions.md | 2 +- .../about-github-connect.md | 35 +- ...ting-network-traffic-to-your-enterprise.md | 19 + ...bout-authentication-for-your-enterprise.md | 8 +- .../about-enterprise-managed-users.md | 13 +- ...for-your-idps-conditional-access-policy.md | 6 +- .../migrating-from-saml-to-oidc.md | 5 +- .../saml-configuration-reference.md | 10 +- .../audit-log-events-for-your-enterprise.md | 144 +-- ...or-security-settings-in-your-enterprise.md | 19 + ...-management-policies-in-your-enterprise.md | 58 +- .../about-ssh.md | 5 +- ...ng-a-new-ssh-key-to-your-github-account.md | 114 +-- .../about-commit-signature-verification.md | 37 +- ...cation-statuses-for-all-of-your-commits.md | 2 +- .../index.md | 2 +- .../signing-commits.md | 6 +- .../signing-tags.md | 5 +- .../telling-git-about-your-signing-key.md | 28 +- ...t-and-tag-signature-verification-status.md | 5 +- .../about-billing-for-github-packages.md | 4 +- ...ing-license-usage-for-github-enterprise.md | 2 +- ...ing-codeql-code-scanning-in-a-container.md | 6 + .../configuring-dependabot-alerts.md | 52 +- .../secret-scanning/about-secret-scanning.md | 2 +- .../protecting-pushes-with-secret-scanning.md | 42 +- ...ing-a-branch-blocked-by-push-protection.md | 8 + ...zing-github-codespaces-for-your-account.md | 2 - .../creating-a-codespace.md | 21 +- .../renaming-a-codespace.md | 2 + ...github-codespaces-for-your-organization.md | 53 +- ...-github-codespaces-in-your-organization.md | 12 +- ...ccess-for-your-organizations-codespaces.md | 2 +- .../restricting-access-to-machine-types.md | 2 + .../restricting-the-idle-timeout-period.md | 10 +- ...ing-the-retention-period-for-codespaces.md | 10 +- ...cting-the-visibility-of-forwarded-ports.md | 2 + .../configuring-prebuilds.md | 12 +- .../introduction-to-dev-containers.md | 28 +- ...king-with-support-for-github-codespaces.md | 7 +- ...dation-errors-when-creating-issue-forms.md | 4 +- .../developers/overview/about-githubs-apis.md | 14 - .../index.md | 2 +- .../reuse-an-assignment.md | 4 +- ...owed-ip-addresses-for-your-organization.md | 19 + ...ing-the-audit-log-for-your-organization.md | 2 +- .../working-with-the-npm-registry.md | 2 +- .../creating-a-github-pages-site.md | 4 +- .../es-ES/content/pages/quickstart.md | 2 +- .../about-github-pages-and-jekyll.md | 4 +- .../rest/actions/self-hosted-runners.md | 2 +- .../content/rest/actions/workflow-jobs.md | 4 +- .../es-ES/content/rest/activity/feeds.md | 4 +- .../es-ES/content/rest/activity/watching.md | 4 +- .../es-ES/content/rest/commits/commits.md | 2 +- .../es-ES/content/rest/commits/statuses.md | 10 +- .../content/rest/deployments/deployments.md | 2 +- .../content/rest/deployments/environments.md | 2 +- .../enterprise-admin/org-pre-receive-hooks.md | 6 +- translations/es-ES/content/rest/gitignore.md | 2 +- .../getting-started-with-the-rest-api.md | 945 ++++++++++++------ translations/es-ES/content/rest/index.md | 4 +- .../es-ES/content/rest/issues/comments.md | 4 +- .../es-ES/content/rest/metrics/statistics.md | 4 +- .../content/rest/migrations/source-imports.md | 4 +- translations/es-ES/content/rest/quickstart.md | 351 +++++++ .../es-ES/content/rest/repos/autolinks.md | 4 +- .../es-ES/content/rest/secret-scanning.md | 8 +- .../es-ES/content/rest/users/gpg-keys.md | 4 +- .../es-ES/content/rest/webhooks/index.md | 12 +- .../content/rest/webhooks/repo-config.md | 2 +- .../actions-oidc-hardening-config.yml | 6 + .../dependabot-alerts-vulnerable-calls.yml | 1 - .../enterprise-namespace-repo-setting.yml | 6 + .../features/ip-allow-list-address-check.yml | 3 + .../multiple-accounts-one-workstation.yml | 5 + .../push-protection-custom-link-orgs-beta.yml | 8 + .../push-protection-custom-link-orgs.yml | 8 + .../data/features/ssh-commit-verification.yml | 8 + .../enterprise-server/3-2/17.yml | 4 +- .../enterprise-server/3-3/12.yml | 4 +- .../release-notes/enterprise-server/3-4/7.yml | 4 +- .../release-notes/enterprise-server/3-5/0.yml | 3 +- .../accounts/create-personal-access-tokens.md | 1 + .../upgrade-runners-before-upgrade-ghes.md | 2 +- .../reusables/actions/use-request-body-api.md | 1 + .../advanced-security/custom-link-beta.md | 5 + .../secret-scanning-push-protection-org.md | 6 +- .../audit_log/audit-log-action-categories.md | 40 +- .../audit_log/audit-log-events-workflows.md | 6 +- .../reusables/code-scanning/licensing-note.md | 12 +- .../code-scanning/non-glibc-linux-support.md | 1 + .../click-remote-explorer-icon-vscode.md | 6 +- .../codespaces-disabling-org-billing.md | 5 + .../codespaces-org-policies-note.md | 5 + .../codespaces-spending-limit-requirement.md | 4 +- .../reusables/codespaces/remote-explorer.md | 9 + .../dependency-review-action-beta-note.md | 2 +- .../dependency-review-api-beta-note.md | 2 +- .../data/reusables/desktop/sign-in-browser.md | 2 +- .../repo-creation-policy.md | 7 +- .../repository-visibility-policy.md | 1 - .../enterprise-accounts/security-tab.md | 5 + .../dependency-vulnerable-calls.md | 6 +- .../reusables/git/cache-on-repository-path.md | 5 + .../git/clear-stored-gcm-credentials.md | 5 + .../git/clear-the-stored-credentials.md | 1 + .../git/confirm-credential-manager.md | 5 + .../reusables/git/no-credential-manager.md | 1 + .../es-ES/data/reusables/git/open-terminal.md | 1 + .../data/reusables/git/provide-credentials.md | 3 + .../reusables/gpg/configure-ssh-signing.md | 4 + .../data/reusables/gpg/copy-ssh-public-key.md | 43 + .../reusables/gpg/paste-ssh-public-key.md | 4 + .../data/reusables/gpg/ssh-git-version.md | 6 + .../es-ES/data/reusables/gpg/x-509-key.md | 2 +- .../about-adding-ip-allow-list-entries.md | 3 + .../about-checking-ip-address.md | 1 + .../about-editing-ip-allow-list-entries.md | 5 + .../about-enabling-allowed-ip-addresses.md | 5 + .../check-ip-address-step.md | 1 + .../check-ip-address.md | 3 + .../ip-allow-lists-enable.md | 4 +- .../push-protection-web-ui-choice.md | 9 +- .../pull_request_review_thread_short_desc.md | 2 +- .../pull_request_thread_properties.md | 6 +- translations/log/es-resets.csv | 1 + 139 files changed, 2282 insertions(+), 839 deletions(-) rename translations/es-ES/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/{managing-personal-account-settings => managing-your-personal-account}/best-practices-for-leaving-your-company.md (96%) rename translations/es-ES/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/{managing-personal-account-settings => managing-your-personal-account}/converting-a-user-into-an-organization.md (95%) rename translations/es-ES/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/{managing-personal-account-settings => managing-your-personal-account}/deleting-your-personal-account.md (59%) create mode 100644 translations/es-ES/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-your-personal-account/index.md create mode 100644 translations/es-ES/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-your-personal-account/managing-multiple-accounts.md rename translations/es-ES/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/{managing-personal-account-settings => managing-your-personal-account}/merging-multiple-personal-accounts.md (85%) create mode 100644 translations/es-ES/content/rest/quickstart.md create mode 100644 translations/es-ES/data/features/actions-oidc-hardening-config.yml create mode 100644 translations/es-ES/data/features/enterprise-namespace-repo-setting.yml create mode 100644 translations/es-ES/data/features/ip-allow-list-address-check.yml create mode 100644 translations/es-ES/data/features/multiple-accounts-one-workstation.yml create mode 100644 translations/es-ES/data/features/push-protection-custom-link-orgs-beta.yml create mode 100644 translations/es-ES/data/features/push-protection-custom-link-orgs.yml create mode 100644 translations/es-ES/data/features/ssh-commit-verification.yml create mode 100644 translations/es-ES/data/reusables/accounts/create-personal-access-tokens.md create mode 100644 translations/es-ES/data/reusables/actions/use-request-body-api.md create mode 100644 translations/es-ES/data/reusables/advanced-security/custom-link-beta.md create mode 100644 translations/es-ES/data/reusables/code-scanning/non-glibc-linux-support.md create mode 100644 translations/es-ES/data/reusables/codespaces/codespaces-disabling-org-billing.md create mode 100644 translations/es-ES/data/reusables/codespaces/codespaces-org-policies-note.md create mode 100644 translations/es-ES/data/reusables/codespaces/remote-explorer.md delete mode 100644 translations/es-ES/data/reusables/enterprise-accounts/repository-visibility-policy.md create mode 100644 translations/es-ES/data/reusables/git/cache-on-repository-path.md create mode 100644 translations/es-ES/data/reusables/git/clear-stored-gcm-credentials.md create mode 100644 translations/es-ES/data/reusables/git/clear-the-stored-credentials.md create mode 100644 translations/es-ES/data/reusables/git/confirm-credential-manager.md create mode 100644 translations/es-ES/data/reusables/git/no-credential-manager.md create mode 100644 translations/es-ES/data/reusables/git/open-terminal.md create mode 100644 translations/es-ES/data/reusables/git/provide-credentials.md create mode 100644 translations/es-ES/data/reusables/gpg/configure-ssh-signing.md create mode 100644 translations/es-ES/data/reusables/gpg/copy-ssh-public-key.md create mode 100644 translations/es-ES/data/reusables/gpg/paste-ssh-public-key.md create mode 100644 translations/es-ES/data/reusables/gpg/ssh-git-version.md create mode 100644 translations/es-ES/data/reusables/identity-and-permissions/about-adding-ip-allow-list-entries.md create mode 100644 translations/es-ES/data/reusables/identity-and-permissions/about-checking-ip-address.md create mode 100644 translations/es-ES/data/reusables/identity-and-permissions/about-editing-ip-allow-list-entries.md create mode 100644 translations/es-ES/data/reusables/identity-and-permissions/about-enabling-allowed-ip-addresses.md create mode 100644 translations/es-ES/data/reusables/identity-and-permissions/check-ip-address-step.md create mode 100644 translations/es-ES/data/reusables/identity-and-permissions/check-ip-address.md diff --git a/translations/es-ES/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/index.md b/translations/es-ES/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/index.md index cdc8f7a80c..3bb4ede446 100644 --- a/translations/es-ES/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/index.md +++ b/translations/es-ES/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/index.md @@ -1,6 +1,6 @@ --- title: Setting up and managing your personal account on GitHub -intro: 'You can manage settings for your personal account on {% data variables.product.prodname_dotcom %}, including email preferences, collaborator access for personal repositories, and organization memberships.' +intro: 'You can manage settings for your personal account on {% ifversion fpt or ghec or ghes %}{% data variables.product.product_location %}{% elsif ghae %}{% data variables.product.product_name %}{% endif %}, including email preferences, access to personal repositories, and organization memberships. You can also manage the account itself.' shortTitle: Cuentas personales redirect_from: - /categories/setting-up-and-managing-your-github-user-account @@ -15,6 +15,7 @@ topics: - Accounts children: - /managing-personal-account-settings + - /managing-your-personal-account - /managing-email-preferences - /managing-access-to-your-personal-repositories - /managing-your-membership-in-organizations diff --git a/translations/es-ES/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-personal-account-settings/index.md b/translations/es-ES/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-personal-account-settings/index.md index 1288b54218..21dc884ac7 100644 --- a/translations/es-ES/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-personal-account-settings/index.md +++ b/translations/es-ES/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-personal-account-settings/index.md @@ -1,6 +1,6 @@ --- title: Administrar las configuraciones del usuario de la cuenta -intro: 'Puedes cambiar varias configuraciones de tu cuenta personal, lo que incluye cambiar tu nombre de usuario y eliminar tu cuenta.' +intro: 'You can manage settings for your personal account, including your theme, username, default branch, accessibility, and security settings.' redirect_from: - /categories/29/articles - /categories/user-accounts @@ -19,9 +19,6 @@ children: - /managing-your-theme-settings - /managing-your-tab-size-rendering-preference - /changing-your-github-username - - /merging-multiple-personal-accounts - - /converting-a-user-into-an-organization - - /deleting-your-personal-account - /permission-levels-for-a-personal-account-repository - /permission-levels-for-a-project-board-owned-by-a-personal-account - /managing-accessibility-settings @@ -29,7 +26,6 @@ children: - /managing-security-and-analysis-settings-for-your-personal-account - /managing-access-to-your-personal-accounts-project-boards - /integrating-jira-with-your-personal-projects - - /best-practices-for-leaving-your-company - /what-does-the-available-for-hire-checkbox-do shortTitle: Ajustes de cuenta personal --- diff --git a/translations/es-ES/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-personal-account-settings/best-practices-for-leaving-your-company.md b/translations/es-ES/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-your-personal-account/best-practices-for-leaving-your-company.md similarity index 96% rename from translations/es-ES/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-personal-account-settings/best-practices-for-leaving-your-company.md rename to translations/es-ES/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-your-personal-account/best-practices-for-leaving-your-company.md index 43c747822e..14c1b83cfd 100644 --- a/translations/es-ES/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-personal-account-settings/best-practices-for-leaving-your-company.md +++ b/translations/es-ES/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-your-personal-account/best-practices-for-leaving-your-company.md @@ -6,6 +6,7 @@ redirect_from: - /github/setting-up-and-managing-your-github-user-account/best-practices-for-leaving-your-company - /github/setting-up-and-managing-your-github-user-account/managing-user-account-settings/best-practices-for-leaving-your-company - /account-and-profile/setting-up-and-managing-your-github-user-account/managing-user-account-settings/best-practices-for-leaving-your-company + - /account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-personal-account-settings/best-practices-for-leaving-your-company versions: fpt: '*' ghec: '*' diff --git a/translations/es-ES/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-personal-account-settings/converting-a-user-into-an-organization.md b/translations/es-ES/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-your-personal-account/converting-a-user-into-an-organization.md similarity index 95% rename from translations/es-ES/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-personal-account-settings/converting-a-user-into-an-organization.md rename to translations/es-ES/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-your-personal-account/converting-a-user-into-an-organization.md index c2c41a63e6..57ad4ace23 100644 --- a/translations/es-ES/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-personal-account-settings/converting-a-user-into-an-organization.md +++ b/translations/es-ES/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-your-personal-account/converting-a-user-into-an-organization.md @@ -7,6 +7,7 @@ redirect_from: - /github/setting-up-and-managing-your-github-user-account/converting-a-user-into-an-organization - /github/setting-up-and-managing-your-github-user-account/managing-user-account-settings/converting-a-user-into-an-organization - /account-and-profile/setting-up-and-managing-your-github-user-account/managing-user-account-settings/converting-a-user-into-an-organization + - /account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-personal-account-settings/converting-a-user-into-an-organization intro: Puedes convertir tu cuenta personal en una organización. Esto permite que haya más permisos granulares para repositorios que pertenecen a la organización. versions: fpt: '*' @@ -66,5 +67,5 @@ También puedes convertir tu cuenta personal directamente en una organización. ## Leer más - "[Configurar equipos](/articles/setting-up-teams)" -{% ifversion fpt or ghec %}- "[Invitar usuarios a unirse a tu organización](/articles/inviting-users-to-join-your-organization)"{% endif %} +{% ifversion fpt or ghec %}- "[Invitar usuarios para que se unan a tu organización](/articles/inviting-users-to-join-your-organization)"{% endif %} - "[Acceder a una organización](/articles/accessing-an-organization)" diff --git a/translations/es-ES/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-personal-account-settings/deleting-your-personal-account.md b/translations/es-ES/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-your-personal-account/deleting-your-personal-account.md similarity index 59% rename from translations/es-ES/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-personal-account-settings/deleting-your-personal-account.md rename to translations/es-ES/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-your-personal-account/deleting-your-personal-account.md index 23d646bd21..0757d38da6 100644 --- a/translations/es-ES/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-personal-account-settings/deleting-your-personal-account.md +++ b/translations/es-ES/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-your-personal-account/deleting-your-personal-account.md @@ -1,39 +1,53 @@ --- title: Deleting your personal account -intro: 'Puedes borrar tu cuenta personal de {% data variables.product.product_name %} en cualquier momento.' +intro: 'Puedes borrar tu cuenta personal de {% data variables.product.product_location %} en cualquier momento.' redirect_from: - /articles/deleting-a-user-account - /articles/deleting-your-user-account - /github/setting-up-and-managing-your-github-user-account/deleting-your-user-account - /github/setting-up-and-managing-your-github-user-account/managing-user-account-settings/deleting-your-user-account - /account-and-profile/setting-up-and-managing-your-github-user-account/managing-user-account-settings/deleting-your-user-account + - /account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-personal-account-settings/deleting-your-personal-account versions: fpt: '*' ghes: '*' ghec: '*' topics: - Accounts -shortTitle: Borrar tu cuenta personal +shortTitle: Delete your account --- -El borrar tu cuenta personal elimina todos los repositorios, bifurcaciones de repositorios privados, wikis, propuestas, solicitudes de cambios y páginas que pertenecen a tu cuenta. {% ifversion fpt or ghec %}No se eliminarán las propuestas ni las solicitudes de extracción que hayas creado ni los comentarios que hayas hecho en repositorios que sean propiedad de otros usuarios. En lugar de eliminarlos, se los asociará con nuestro [Usuario fantasma](https://github.com/ghost).{% else %}No se eliminarán las propuestas ni las solicitudes de extracción que hayas creado ni los comentarios que hayas hecho en repositorios que sean propiedad de otros usuarios.{% endif %} +## About deletion of your personal account -{% ifversion fpt or ghec %} Dejaremos de cobrarte cuando borras tu cuenta. La dirección asociada con la cuenta se hace disponible para utilizarse con una cuenta diferente en {% data variables.product.product_location %}. Después de 90 días, el nombre de cuenta también pone disponible para que cualquiera con una cuenta nueva lo utilice. {% endif %} +El borrar tu cuenta personal elimina todos los repositorios, bifurcaciones de repositorios privados, wikis, propuestas, solicitudes de cambios y páginas que pertenecen a tu cuenta. {% ifversion fpt or ghec %}Issues and pull requests you've created and comments you've made in repositories owned by other users will not be deleted. Your resources and comments will become associated with the [ghost user](https://github.com/ghost).{% else %}Issues and pull requests you've created and comments you've made in repositories owned by other users will not be deleted.{% endif %} -Si eres el único propietario de una organización, deberás transferir la propiedad a otra persona o borrar la organización antes de que puedas borrar tu cuenta personal. Si existen otros propietarios en la organización, debes eliminarte de ella antes de que puedas borrar tu cuenta personal. +{% ifversion ghec %} + +{% note %} + +**Note**: If your enterprise manages your account and you sign into {% data variables.product.product_location %} through your company's identity provider (IdP), you cannot delete your account. Para obtener más información, consulta la sección "[Acerca de {% data variables.product.prodname_emus %}](/admin/identity-and-access-management/using-enterprise-managed-users-for-iam/about-enterprise-managed-users)". + +{% endnote %} + +{% endif %} + +{% ifversion fpt or ghec %}When you delete your account we stop billing you. La dirección asociada con la cuenta se hace disponible para utilizarse con una cuenta diferente en {% data variables.product.product_location %}. Después de 90 días, el nombre de cuenta también pone disponible para que cualquiera con una cuenta nueva lo utilice. {% endif %} + +If you're the only owner of an organization, you must transfer ownership to another person or delete the organization before you can delete your personal account. Si existen otros propietarios en la organización, debes eliminarte de ella antes de que puedas borrar tu cuenta personal. + +Para obtener más información, consulta los siguientes artículos. -Para obtener más información, consulta: - "[Transferir la propiedad de la organización](/articles/transferring-organization-ownership)" - "[Eliminar una cuenta de la organización](/articles/deleting-an-organization-account)" - "[Eliminarte de una organización](/articles/removing-yourself-from-an-organization/)" ## Copias de seguridad de los datos de tu cuenta -Antes de que borres tu cuenta personal, haz una copia de todos los repositorios, bifurcaciones privadas, wikis, propuestas y solicitudes de cambios que le pertenezcan a tu cuenta. +Antes de que borres tu cuenta personal, haz una copia de todos los repositorios, bifurcaciones privadas, wikis, propuestas y solicitudes de cambios que le pertenezcan a tu cuenta. For more information, see "[Backing up a repository](/repositories/archiving-a-github-repository/backing-up-a-repository)." {% warning %} -**Advertencia** Una vez que tu cuenta personal se haya borrado, GitHub no podrá restablecer tu contenido. +**Warning:** Once your personal account has been deleted, {% ifversion fpt or ghec %}{% data variables.product.company_short %}{% elsif ghes or ghae %}an enterprise owner{% endif %} cannot restore your content. {% endwarning %} diff --git a/translations/es-ES/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-your-personal-account/index.md b/translations/es-ES/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-your-personal-account/index.md new file mode 100644 index 0000000000..ab1c7a9394 --- /dev/null +++ b/translations/es-ES/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-your-personal-account/index.md @@ -0,0 +1,19 @@ +--- +title: Managing your personal account +intro: 'You can manage your personal account on {% ifversion fpt or ghec or ghes %}{% data variables.product.product_location %}{% elsif ghae %}{% data variables.product.product_name %}{% endif %}. For example, you can {% ifversion fpt or ghec %}manage multiple accounts, {% endif %}convert an account to an organization{% ifversion fpt or ghec or ghes %}, or delete an account{% endif %}.' +shortTitle: Manage personal account +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Accounts +children: + - /managing-multiple-accounts + - /merging-multiple-personal-accounts + - /converting-a-user-into-an-organization + - /best-practices-for-leaving-your-company + - /deleting-your-personal-account +--- + diff --git a/translations/es-ES/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-your-personal-account/managing-multiple-accounts.md b/translations/es-ES/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-your-personal-account/managing-multiple-accounts.md new file mode 100644 index 0000000000..1efa11fa2e --- /dev/null +++ b/translations/es-ES/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-your-personal-account/managing-multiple-accounts.md @@ -0,0 +1,105 @@ +--- +title: Managing multiple accounts +intro: 'If you use one workstation to contribute to projects for more than one account on {% data variables.product.product_location %}, you can modify your Git configuration to simplify the contribution process.' +versions: + feature: multiple-accounts-one-workstation +topics: + - Accounts + - Git + - GitHub +shortTitle: Manage multiple accounts +--- + +## About management of multiple accounts + +In some cases, you may need to use multiple accounts on {% data variables.product.product_location %}. For example, you may have a personal account for open source contributions, and your employer may also create and manage a user account for you within an enterprise. + +You cannot use your {% data variables.product.prodname_managed_user %} to contribute to public projects on {% data variables.product.product_location %}, so you must contribute to those resources using your personal account. For more information, see "[About {% data variables.product.prodname_emus %}]({% ifversion fpt %}/enterprise-cloud@latest{% endif %}/admin/identity-and-access-management/using-enterprise-managed-users-for-iam/about-enterprise-managed-users#abilities-and-restrictions-of-managed-user-accounts){% ifversion fpt %}" in the {% data variables.product.prodname_ghe_cloud %} documentation.{% elsif ghec %}."{% endif %} + +If you want to use one workstation to contribute from both accounts, you can simplify contribution with Git by using a mixture of protocols to access repository data, or by using credentials on a per-repository basis. + +{% warning %} + +**Warning**: Be mindful when you use one workstation to contribute to two separate accounts. Management of two or more accounts can increase the chance of mistakenly leaking internal code to the public. + +{% endwarning %} + +If you aren't required to use a {% data variables.product.prodname_managed_user %}, {% data variables.product.company_short %} recommends that you use one personal account for all your work on {% data variables.product.product_location %}. With a single personal account, you can contribute to a combination of personal, open source, or professional projects using one identity. Other people can invite the account to contribute to both individual repositories and repositories owned by an organization, and the account can be a member of multiple organizations or enterprises. + +## Contributing to two accounts using HTTPS and SSH + +If you contribute with two accounts from one workstation, you can access repositories by using a different protocol and credentials for each account. + +Git can use either the HTTPS or SSH protocol to access and update data in repositories on {% data variables.product.product_location %}. The protocol you use to clone a repository determines which credentials your workstation will use to authenticate when you access the repository. With this approach to account management, you store the credentials for one account to use for HTTPS connections and upload an SSH key to the other account to use for SSH connections. + +You can find both the HTTPS or an SSH URLs for cloning a repository on {% data variables.product.product_name %}. Para obtener más información, consulta "[Clonar un repositorio](/repositories/creating-and-managing-repositories/cloning-a-repository)". + +For more information about the use of SSH to access repositories on {% data variables.product.product_name %}, see "[Connecting to {% data variables.product.prodname_dotcom %} with SSH](/authentication/connecting-to-github-with-ssh)." + +## Contributing to multiple accounts using HTTPS and PATs + +Alternatively, if you want to use the HTTPS protocol for both accounts, you can use different personal access tokens (PAT) for each account by configuring Git to store different credentials for each repository. + +{% mac %} + +{% data reusables.git.open-terminal %} +{% data reusables.git.confirm-credential-manager %} +{% data reusables.git.clear-the-stored-credentials %} + {% data reusables.git.no-credential-manager %} + - If the output is `osxkeychain`, you're using the macOS keychain. To clear the credentials, enter the following command. + + ```shell{:copy} + git credential-osxkeychain erase https://github.com + ``` + {% data reusables.git.clear-stored-gcm-credentials %} +{% data reusables.git.cache-on-repository-path %} +{% data reusables.accounts.create-personal-access-tokens %} +{% data reusables.git.provide-credentials %} + +{% endmac %} + +{% windows %} + +1. Abre Git Bash. +{% data reusables.git.confirm-credential-manager %} +{% data reusables.git.clear-the-stored-credentials %} + {% data reusables.git.no-credential-manager %} + {% data reusables.git.clear-stored-gcm-credentials %} + - If the output is `wincred`, you're using the Windows Credential Manager. To clear the credentials, enter the following command. + + ```shell{:copy} + cmdkey /delete:LegacyGeneric:target=git:https://github.com + ``` +{% data reusables.git.cache-on-repository-path %} +{% data reusables.accounts.create-personal-access-tokens %} +{% data reusables.git.provide-credentials %} + +{% endwindows %} + +{% linux %} + +{% data reusables.git.open-terminal %} +{% data reusables.git.confirm-credential-manager %} +{% data reusables.git.clear-the-stored-credentials %} + {% data reusables.git.no-credential-manager %} + {% data reusables.git.clear-stored-gcm-credentials %} +{% data reusables.git.cache-on-repository-path %} +{% data reusables.accounts.create-personal-access-tokens %} +{% data reusables.git.provide-credentials %} + +{% endlinux %} + +## Contributing to multiple accounts using SSH and `GIT_SSH_COMMAND` + +If you want to use the SSH protocol for both accounts, you can use different SSH keys for each account. For more information about using SSH, see "[Connecting to {% data variables.product.prodname_dotcom %} with SSH](/authentication/connecting-to-github-with-ssh)." + +To use a different SSH key for different repositories that you clone to your workstation, you must write a shell wrapper function for Git operations. The function should perform the following steps. +1. Determine the repository's full name with owner, using a command such as `git config --get remote.origin.url`. +2. Choose the correct SSH key for authentication. +3. Modify `GIT_SSH_COMMAND` accordingly. For more information about `GIT_SSH_COMMAND`, see [Environment Variables](https://git-scm.com/docs/git#Documentation/git.txt-codeGITSSHCOMMANDcode) in the Git documentation. + +For example, the following command sets the `GIT_SSH_COMMAND` environment variable to specify an SSH command that uses the private key file at **_PATH/TO/KEY/FILE_** for authentication to clone the repository named **_OWNER_**/**_REPOSITORY_** on {% data variables.product.product_location %}. + +
+GIT_SSH_COMMAND='ssh -i PATH/TO/KEY/FILE -o IdentitiesOnly=yes' git clone git@github.com:OWNER/REPOSITORY
+
diff --git a/translations/es-ES/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-personal-account-settings/merging-multiple-personal-accounts.md b/translations/es-ES/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-your-personal-account/merging-multiple-personal-accounts.md similarity index 85% rename from translations/es-ES/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-personal-account-settings/merging-multiple-personal-accounts.md rename to translations/es-ES/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-your-personal-account/merging-multiple-personal-accounts.md index e4c08c19a7..46520223f7 100644 --- a/translations/es-ES/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-personal-account-settings/merging-multiple-personal-accounts.md +++ b/translations/es-ES/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-your-personal-account/merging-multiple-personal-accounts.md @@ -8,12 +8,13 @@ redirect_from: - /github/setting-up-and-managing-your-github-user-account/merging-multiple-user-accounts - /github/setting-up-and-managing-your-github-user-account/managing-user-account-settings/merging-multiple-user-accounts - /account-and-profile/setting-up-and-managing-your-github-user-account/managing-user-account-settings/merging-multiple-user-accounts + - /account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-personal-account-settings/merging-multiple-personal-accounts versions: fpt: '*' ghec: '*' topics: - Accounts -shortTitle: Fusionar cuentas personales múltiples +shortTitle: Merge multiple accounts --- {% tip %} @@ -41,7 +42,7 @@ shortTitle: Fusionar cuentas personales múltiples 1. [Transfiere cualquier repositorio](/articles/how-to-transfer-a-repository) desde la cuenta que deseas eliminar a la cuenta que deseas mantener. También se transfieren propuestas, solicitudes de extracción y wikis. Verifica que los repositorios existan en la cuenta que deseas mantener. 2. [Actualiza las URL remotas](/github/getting-started-with-github/managing-remote-repositories) en cualquier clon local de los repositorios que se movieron. 3. [Elimina la cuenta](/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-personal-account-settings/deleting-your-personal-account) que ya no deseas utilizar. -4. Para atribuir las confirmaciones pasadas a la cuenta nueva, agrega la dirección de correo electrónico que utilizaste para crear dichas confirmaciones a la cuenta que vas a conservar. Para obtener más información, consulta"[¿Por qué mis contribuciones no se muestran en mi perfil?](/account-and-profile/setting-up-and-managing-your-github-profile/managing-contribution-graphs-on-your-profile/why-are-my-contributions-not-showing-up-on-my-profile#your-local-git-commit-email-isnt-connected-to-your-account)" +4. Para atribuir las confirmaciones pasadas a la cuenta nueva, agrega la dirección de correo electrónico que utilizaste para crear dichas confirmaciones a la cuenta que vas a conservar. Para obtener más información, consulta "[¿Por qué mis contribuciones no se están mostrando en mi perfil?](/account-and-profile/setting-up-and-managing-your-github-profile/managing-contribution-graphs-on-your-profile/why-are-my-contributions-not-showing-up-on-my-profile#your-local-git-commit-email-isnt-connected-to-your-account)" ## Leer más diff --git a/translations/es-ES/content/actions/deployment/security-hardening-your-deployments/about-security-hardening-with-openid-connect.md b/translations/es-ES/content/actions/deployment/security-hardening-your-deployments/about-security-hardening-with-openid-connect.md index 0e5e9f0b68..8103a977e8 100644 --- a/translations/es-ES/content/actions/deployment/security-hardening-your-deployments/about-security-hardening-with-openid-connect.md +++ b/translations/es-ES/content/actions/deployment/security-hardening-your-deployments/about-security-hardening-with-openid-connect.md @@ -73,6 +73,7 @@ The following example OIDC token uses a subject (`sub`) that references a job en "repository": "octo-org/octo-repo", "repository_owner": "octo-org", "actor_id": "12", + "repo_visibility": private, "repository_id": "74", "repository_owner_id": "65", "run_id": "example-run-id", @@ -128,6 +129,7 @@ The token also includes custom claims provided by {% data variables.product.prod | `job_workflow_ref`| This is the ref path to the reusable workflow used by this job. For more information, see "["Using OpenID Connect with reusable workflows"](/actions/deployment/security-hardening-your-deployments/using-openid-connect-with-reusable-workflows)." | | `ref`| _(Reference)_ The git ref that triggered the workflow run. | | `ref_type`| The type of `ref`, for example: "branch". | +| `repo_visibility` | The visibility of the repository where the workflow is running. Accepts the following values: `internal`, `private`, or `public`. | | `repository`| The repository from where the workflow is running. | | `repository_id`| The ID of the repository from where the workflow is running. | | `repository_owner`| The name of the organization in which the `repository` is stored. | @@ -238,6 +240,185 @@ curl -H "Authorization: bearer $ACTIONS_ID_TOKEN_REQUEST_TOKEN" "$ACTIONS_ID_TOK {% data reusables.actions.oidc-permissions-token %} +{% ifversion actions-oidc-hardening-config %} +## Customizing the token claims + +You can security harden your OIDC configuration by customizing the claims that are included with the JWT. This allows your cloud provider to apply more granular trust conditions when determining whether to grant access to its resources. For example, {% ifversion ghec %}you can customize the issuer (`iss`) claim to only allow access from a specific enterprise URL, and {% endif %}you can customize the subject (`sub`) value to require that requests originate from a specific repository, reusable workflow, or other source. + +To configure the claim conditions on {% data variables.product.prodname_dotcom %}, you can use the REST API endpoints described in the following sections. + +{% ifversion ghec %} + +### Switching to a unique token URL + +By default, the JWT is issued by {% data variables.product.prodname_dotcom %}'s OIDC provider at `https://token.actions.githubusercontent.com`. This path is presented to your cloud provider using the `iss` value in the JWT. + +Enterprise admins can security harden their OIDC configuration by configuring their enterprise to receive tokens from a unique URL at `https://api.github.com/enterprises//actions/oidc/customization/issuer`. Replace `` with the slug value of your enterprise. + +This configuration means that your enterprise will receive the OIDC token from a unique URL, and you can then configure your cloud provider to only accept tokens from that URL. This helps ensure that only the enterprise's repositories can access your cloud resources using OIDC. + +To activate this setting for your enterprise, an enterprise admin must use the `/enterprises/{enterprise}/actions/oidc/customization/issuer` endpoint and specify `"include_enterprise_slug": true` in the request body. For more information, see "[Set the {% data variables.product.prodname_actions %} OIDC custom issuer policy for an enterprise](/rest/actions/oidc#set-the-github-actions-oidc-custom-issuer-policy-for-an-enterprise)." + +After this setting is applied, the JWT will contain the updated `iss` value. In the following example, the `iss` key uses `octocat-inc` as its `enterpriseSlug` value: + +```json +{ + "jti": "6f4762ed-0758-4ccb-808d-ee3af5d723a8" + "sub": "repo:octocat-inc/private-server:ref:refs/heads/main" + "aud": "http://octocat-inc.example/octocat-inc" + "enterprise": "octocat-inc" + "iss": "https://api.github.com/enterprises/octocat-inc/actions/oidc/customization/issuer", + "bf": 1755350653, + "exp": 1755351553, + "iat": 1755351253 +} +``` + +{% endif %} + +### Customizing the subject claims for an organization + +To configure organization-wide security, compliance, and standardization, you can customize the standard claims to suit your required access conditions. If your cloud provider supports conditions on subject claims, you can create a condition that checks whether the `sub` value matches the path of the reusable workflow, such as `"job_workflow_ref: "octo-org/octo-automation/.github/workflows/oidc.yml@refs/heads/main""`. The exact format will vary depending on your cloud provider's OIDC configuration. To configure the matching condition on {% data variables.product.prodname_dotcom %}, you can can use the REST API to require that the `sub` claim must always include a specific custom claim, such as `job_workflow_ref`. For more information, see "[Set the customization template for an OIDC subject claim for an organization](/rest/actions/oidc#set-the-customization-template-for-an-oidc-subject-claim-for-an-organization)." + +The following example templates demonstrate various ways to customize the subject claim. To configure these settings on {% data variables.product.prodname_dotcom %}, organization admins use the REST API to specify a list of claims that must be included in the subject (`sub`) claim. {% data reusables.actions.use-request-body-api %} + +To customize your subject claims, you should first create a matching condition in your cloud provider's OIDC configuration, before adding the configuration using the REST API. Once the configuration is completed, each time a new job runs, the OIDC token generated during that job will follow the new customization template. If the matching condition doesn't exist in the cloud provider's OIDC configuration before the job runs, the generated token might not be accepted by the cloud provider, since the cloud conditions may not be synchronized. + +{% note %} + +**Note**: When the organization template is applied, it will not affect any existing repositories that already use OIDC. For new repositories that are created after the template has been applied, the repository owner will need to opt-in to receive this configuration. For more information, see "[Set the opt-in flag of an OIDC subject claim customization for a repository](/rest/actions/oidc#set-the-opt-in-flag-of-an-oidc-subject-claim-customization-for-a-repository)." + +{% endnote %} + +#### Example: Allowing repository based on visibility and owner + +This example template enables cloud access based on repository visibility and owner, letting you restrict cloud role access to only private repositories within an organization or enterprise. {% data reusables.actions.use-request-body-api %} + +```json +{ + "include_claim_keys": [ + "repository_owner", + "repository_visibility" + ] +} +``` + +In your cloud provider's OIDC configuration, configure the `sub` condition to require that claims must include specific values for `repository_owner` and `repository_visibility`. For example: `"repository_owner: "monalisa":repository_visibility:private"`. + +#### Example: Allowing access to all repositories with a specific owner + +This example template grants access to all repositories with a specified `repository_owner`. {% data reusables.actions.use-request-body-api %} + +```json +{ + "include_claim_keys": [ + "repository_owner" + ] +} + +``` + +In your cloud provider's OIDC configuration, configure the `sub` condition to require that claims must include a specific value for `repository_owner`. For example: `"repository_owner: "monalisa""` + +#### Example: Requiring a reusable workflow + +This example template requires a specific reusable workflow in a claim, letting an enterprise enforce consistent deployments across its enterprise, organizations, and repositories. {% data reusables.actions.use-request-body-api %} + +```json + { + "include_claim_keys": [ + "job_workflow_ref" + ] + } +``` + +In your cloud provider's OIDC configuration, configure the `sub` condition to require that claims must include a specific value for `job_workflow_ref`. For example: `"job_workflow_ref: "octo-org/octo-automation/.github/workflows/oidc.yml@refs/heads/main""`. + +#### Example: Requiring a reusable workflow and other claims + +This example template combines the requirement of a specific reusable workflow with additional claims. {% data reusables.actions.use-request-body-api %} + +```json +{ + "include_claim_keys": [ + "repo", + "context", + "job_workflow_ref" + ] +} +``` + +In your cloud provider's OIDC configuration, configure the `sub` condition to require that claims must include specific values for `repo`, `context`, and `job_workflow_ref`. + +#### Example: Granting access to a specific repository + +This example template lets you grant cloud access to all the workflows in a specific repository, across all branches/tags and environments. To help improve security, combine this template with the custom issuer URL described in "[Customizing the token URL for an enterprise](/actions/deployment/security-hardening-your-deployments/about-security-hardening-with-openid-connect#customizing-the-token-url-for-an-enterprise)." + +{% data reusables.actions.use-request-body-api %} + +```json +{ + "include_claim_keys": [ + "repo" + ] +} +``` + +In your cloud provider's OIDC configuration, configure the `sub` condition to require a `repo` claim that matches the required value. + +#### Example: Using system-generated GUIDs + +This example template enables predictable OIDC claims with system-generated GUIDs that do not change between renames of entities (such as renaming a repository). {% data reusables.actions.use-request-body-api %} + +```json + { + "include_claim_keys": [ + "repository_id" + ] + } +``` + +In your cloud provider's OIDC configuration, configure the `sub` condition to require a `repository_id` claim that matches the required value. + +or: + +```json +{ + "include_claim_keys": [ + "repository_owner_id" + ] +} +``` + +In your cloud provider's OIDC configuration, configure the `sub` condition to require a `repository_owner_id` claim that matches the required value. + +#### Resetting your customizations + +This example template resets the subject claims to the default format. {% data reusables.actions.use-request-body-api %} This template effectively opts out of any organization-level customization policy. + +```json +{ + "include_claim_keys": [ + "repo", + "context" + ] +} +``` + +In your cloud provider's OIDC configuration, configure the `sub` condition to require that claims must include specific values for `repo` and `context`. + +#### Using the default subject claims + +For repositories that can receive a subject claim policy from their organization, the repository owner can later choose to opt-out and instead use the default `sub` claim format. To configure this, the repository admin must use the REST API endpoint at "[Set the opt-out flag of an OIDC subject claim customization for a repository](/rest/actions/oidc#set-the-opt-out-flag-of-an-oidc-subject-claim-customization-for-a-repository)" with the following request body: + +```json +{ + "use_default": true +} +``` + +{% endif %} + ## Updating your workflows for OIDC You can now update your YAML workflows to use OIDC access tokens instead of secrets. Popular cloud providers have published their official login actions that make it easy for you to get started with OIDC. For more information about updating your workflows, see the cloud-specific guides listed below in "[Enabling OpenID Connect for your cloud provider](#enabling-openid-connect-for-your-cloud-provider)." diff --git a/translations/es-ES/content/actions/deployment/security-hardening-your-deployments/configuring-openid-connect-in-hashicorp-vault.md b/translations/es-ES/content/actions/deployment/security-hardening-your-deployments/configuring-openid-connect-in-hashicorp-vault.md index decbb3fdfb..99523f9764 100644 --- a/translations/es-ES/content/actions/deployment/security-hardening-your-deployments/configuring-openid-connect-in-hashicorp-vault.md +++ b/translations/es-ES/content/actions/deployment/security-hardening-your-deployments/configuring-openid-connect-in-hashicorp-vault.md @@ -32,10 +32,52 @@ Esta guía te proporciona un resumen de cómo configurar HashiCorp Vault para qu Para utilizar OIDC con HashiCorp Vault, necesitarás agregar una configuración de confianza para el proveedor de OIDC de {% data variables.product.prodname_dotcom %}. Para obtener más información, consulta la [documentación](https://www.vaultproject.io/docs/auth/jwt) de HashiCorp Vault. -Configura la bóveda para que acepte Tokens Web JSON (JWT) para la autenticación: -- Para el `oidc_discovery_url`, utiliza {% ifversion ghes %}`https://HOSTNAME/_services/token`{% else %}`https://token.actions.githubusercontent.com`{% endif %} -- Para `bound_issuer`, utiliza {% ifversion ghes %}`https://HOSTNAME/_services/token`{% else %}`https://token.actions.githubusercontent.com`{% endif %} -- Asegúrate de que `bound_subject` se defina correctamente para tus requisitos de seguridad. Para obtener más información, consulta la sección ["Configurar la confianza de OIDC con la nube"](/actions/deployment/security-hardening-your-deployments/about-security-hardening-with-openid-connect#configuring-the-oidc-trust-with-the-cloud) y [`hashicorp/vault-action`](https://github.com/hashicorp/vault-action). +Para configurar tu servidor de Vault para que acepte tokens web de JSON (JWT) para autenticación: + +1. Habilita el método `auth` del JWT y utiliza `write` para aplicar la configuración a tu bóveda. Para los parámetros de `oidc_discovery_url` y `bound_issuer`, utiliza {% ifversion ghes %}`https://HOSTNAME/_services/token`{% else %}`https://token.actions.githubusercontent.com`{% endif %}. Los parámetros permiten que el servidor de Vault verifique los tokens web de JSON (JWT) durante el proceso de autenticación. + + ```sh{:copy} + vault auth enable jwt + ``` + + ```sh{:copy} + vault write auth/jwt/config \ + bound_issuer="{% ifversion ghes %}https://HOSTNAME/_services/token{% else %}https://token.actions.githubusercontent.com{% endif %}" \ + oidc_discovery_url="{% ifversion ghes %}https://HOSTNAME/_services/token{% else %}https://token.actions.githubusercontent.com{% endif %}" + ``` +2. Configura una política que solo otorgue acceso a las rutas específicas que utilizarán tus flujos de trabajo para recuperar los secretos. Para obtener más políticas avanzadas, consulta la [documentación de las políticas](https://www.vaultproject.io/docs/concepts/policies) de HashiCorp Vault. + + ```sh{:copy} + vault policy write myproject-production - <`: Reemplaza esto con la URL de tu HashiCorp Vault. +- ``: Reemplaza esto con el designador de nombre que configuraste en HashiCorp Vault. Por ejemplo: `admin`. - ``: Reemplaza esto con el rol que configuraste en la relación de confianza de HashiCorp Vault. -- ``: Reemplaza esto con la audiencia que definiste en la relación de confianza de HashiCorp Vault. -- ``: Reemplaza esto con la ruta al secreto que estás recuperando desde HashiCorp Vault. Por ejemplo: `secret/data/ci npmToken`. +- ``: Reemplaza esto con la ruta al secreto que estás recuperando desde HashiCorp Vault. Por ejemplo: `secret/data/production/ci npmToken`. ```yaml{:copy} jobs: - retrieve-secret: - steps: - - name: Retrieve secret from Vault - uses: hashicorp/vault-action@v2.4.0 - with: - url: - role: - method: jwt - jwtGithubAudience: - secrets: + retrieve-secret: + runs-on: ubuntu-latest + permissions: + id-token: write + contents: read + steps: + - name: Retrieve secret from Vault + uses: hashicorp/vault-action@v2.4.0 + with: + method: jwt + url: + namespace: + role: + secrets: - - name: Use secret from Vault - run: | - # This step has access to the secret retrieved above; see hashicorp/vault-action for more details. + - name: Use secret from Vault + run: | + # This step has access to the secret retrieved above; see hashicorp/vault-action for more details. +``` + +{% note %} + +**Nota**: + +- Si no se puede acceder a tu servidor de Vault desde la red pública, considera utilizar un ejecutor auto-hospedado con otros [métodos de autenticación](https://www.vaultproject.io/docs/auth) de Vault disponibles. Para obtener más información, consulta "[Acerca de los ejecutores autoalojados](/actions/hosting-your-own-runners/about-self-hosted-runners)." +- `` debe configurarse para el despliegue de una empresa de Vault (incluyendo a HCP Vault). Para obtener más información, consulta la sección [designador de nombre de Vault](https://www.vaultproject.io/docs/enterprise/namespaces). + +{% endnote %} + +### Revocar el token de acceso + +Predeterminadamente, el servidor de Vault revocará automáticamente los tokens de acceso cuando su TTL expire para que no tengas que revocarlos manualmente. Sin embargo, si quieres revocarlos de inmediato después de que tu job se haya completado o haya fallado, puedes revocar manualmente el token emitido utilizando la [API de Vault](https://www.vaultproject.io/api/auth/token#revoke-a-token-self). + +1. Configura la opción `exportToken` en `true` (predeterminado: `false`). Esto exporta el token de acceso emitido de Vault como una variable de ambiente: `VAULT_TOKEN`. +2. Agrega un paso para llamar a la API de Vault [Revocar un token (auto)](https://www.vaultproject.io/api/auth/token#revoke-a-token-self) para revocar el token de acceso. + +```yaml{:copy} +jobs: + retrieve-secret: + runs-on: ubuntu-latest + permissions: + id-token: write + contents: read + steps: + - name: Retrieve secret from Vault + uses: hashicorp/vault-action@v2.4.0 + with: + exportToken: true + method: jwt + url: + role: + secrets: + + - name: Use secret from Vault + run: | + # This step has access to the secret retrieved above; see hashicorp/vault-action for more details. + + - name: Revoke token + # This step always runs at the end regardless of the previous steps result + if: always() + run: | + curl -X POST -sv -H "X-Vault-Token: {% raw %}${{ env.VAULT_TOKEN }}{% endraw %}" \ + /v1/auth/token/revoke-self ``` diff --git a/translations/es-ES/content/actions/learn-github-actions/contexts.md b/translations/es-ES/content/actions/learn-github-actions/contexts.md index 7a93d901be..a8abf6ce7e 100644 --- a/translations/es-ES/content/actions/learn-github-actions/contexts.md +++ b/translations/es-ES/content/actions/learn-github-actions/contexts.md @@ -38,6 +38,8 @@ You can access contexts using the expression syntax. For more information, see " | `github` | `object` | Information about the workflow run. For more information, see [`github` context](#github-context). | | `env` | `object` | Contains environment variables set in a workflow, job, or step. For more information, see [`env` context](#env-context). | | `job` | `object` | Information about the currently running job. For more information, see [`job` context](#job-context). | +{%- ifversion fpt or ghes > 3.3 or ghae-issue-4757 or ghec %} +| `jobs` | `object` | For reusable workflows only, contains outputs of jobs from the reusable workflow. For more information, see [`jobs` context](#jobs-context). |{% endif %} | `steps` | `object` | Information about the steps that have been run in the current job. For more information, see [`steps` context](#steps-context). | | `runner` | `object` | Information about the runner that is running the current job. For more information, see [`runner` context](#runner-context). | | `secrets` | `object` | Contains the names and values of secrets that are available to a workflow run. For more information, see [`secrets` context](#secrets-context). | @@ -404,6 +406,72 @@ jobs: - run: ./run-tests ``` +{% ifversion fpt or ghes > 3.3 or ghae-issue-4757 or ghec %} + +## `jobs` context + +The `jobs` context is only available in reusable workflows, and can only be used to set outputs for a reusable workflow. For more information, see "[Reusing workflows](/actions/using-workflows/reusing-workflows#using-outputs-from-a-reusable-workflow)." + +| Property name | Type | Description | +|---------------|------|-------------| +| `jobs` | `object` | This is only available in reusable workflows, and can only be used to set outputs for a reusable workflow. This object contains all the properties listed below. +| `jobs..result` | `string` | The result of a job in the reusable workflow. Possible values are `success`, `failure`, `cancelled`, or `skipped`. | +| `jobs..outputs` | `object` | The set of outputs of a job in a reusable workflow. | +| `jobs..outputs.` | `string` | The value of a specific output for a job in a reusable workflow. | + +### Example contents of the `jobs` context + +This example `jobs` context contains the result and outputs of a job from a reusable workflow run. + +```json +{ + example_job: { + result: success, + outputs: { + output1: hello, + output2: world + } + } +} +``` + +### Example usage of the `jobs` context + +This example reusable workflow uses the `jobs` context to set outputs for the reusable workflow. Note how the outputs flow up from the steps, to the job, then to the `workflow_call` trigger. For more information, see "[Reusing workflows](/actions/using-workflows/reusing-workflows#using-outputs-from-a-reusable-workflow)." + +{% raw %} +```yaml{:copy} +name: Reusable workflow + +on: + workflow_call: + # Map the workflow outputs to job outputs + outputs: + firstword: + description: "The first output string" + value: ${{ jobs.example_job.outputs.output1 }} + secondword: + description: "The second output string" + value: ${{ jobs.example_job.outputs.output2 }} + +jobs: + example_job: + name: Generate output + runs-on: ubuntu-latest + # Map the job outputs to step outputs + outputs: + output1: ${{ steps.step1.outputs.firstword }} + output2: ${{ steps.step2.outputs.secondword }} + steps: + - id: step1 + run: echo "::set-output name=firstword::hello" + - id: step2 + run: echo "::set-output name=secondword::world" +``` +{% endraw %} + +{% endif %} + ## `steps` context The `steps` context contains information about the steps in the current job that have an [`id`](/actions/learn-github-actions/workflow-syntax-for-github-actions#jobsjob_idstepsid) specified and have already run. diff --git a/translations/es-ES/content/actions/learn-github-actions/expressions.md b/translations/es-ES/content/actions/learn-github-actions/expressions.md index df7fc1511c..f0522a65bc 100644 --- a/translations/es-ES/content/actions/learn-github-actions/expressions.md +++ b/translations/es-ES/content/actions/learn-github-actions/expressions.md @@ -129,17 +129,17 @@ Arroja `true` si `search` contiene `item`. Si `search` es una matriz, esta funci `contains('Hello world', 'llo')` arroja `true`. -#### Example using an object filter +#### Ejemplo utilizando un filtro de objeto `contains(github.event.issue.labels.*.name, 'bug')` returns `true` if the issue related to the event has a label "bug". -For more information, see "[Object filters](#object-filters)." +Para obtener más información, consulta la sección "[Filtros de objeto](#object-filters)". -#### Example matching an array of strings +#### Ejemplo empatando un arreglo de secuencias -Instead of writing `github.event_name == "push" || github.event_name == "pull_request"`, you can use `contains()` with `fromJson()` to check if an array of strings contains an `item`. +En vez de escribir `github.event_name == "push" || github.event_name == "pull_request"`, puedes utilizar `contains()` con `fromJson()` para verificar si un arreglo de secuencias contiene un `item`. -For example, `contains(fromJson('["push", "pull_request"]'), github.event_name)` returns `true` if `github.event_name` is "push" or "pull_request". +Por ejemplo, `contains(fromJson('["push", "pull_request"]'), github.event_name)` devuelve `true` si `github.event_name` es "push" o "pull_request". ### startsWith diff --git a/translations/es-ES/content/actions/learn-github-actions/understanding-github-actions.md b/translations/es-ES/content/actions/learn-github-actions/understanding-github-actions.md index e269783393..8fb0045e0d 100644 --- a/translations/es-ES/content/actions/learn-github-actions/understanding-github-actions.md +++ b/translations/es-ES/content/actions/learn-github-actions/understanding-github-actions.md @@ -93,7 +93,7 @@ Para obtener más información, consulta la sección "[Crear acciones](/actions/ - Para seguir aprendiendo sobre las {% data variables.product.prodname_actions %}, consulta la sección "[Encontrar y personalizar las acciones](/actions/learn-github-actions/finding-and-customizing-actions)". {% ifversion fpt or ghec or ghes %} -- Para entender cómo funciona la facturación de las {% data variables.product.prodname_actions %}, consulta la sección "[Acerca de la facturación para las {% data variables.product.prodname_actions %}](/actions/reference/usage-limits-billing-and-administration#about-billing-for-github-actions)". +- Para entender cómo funciona la facturación de las {% data variables.product.prodname_actions %}, consulta la sección "[Acerca de la facturación para las {% data variables.product.prodname_actions %}](/actions/reference/usage-limits-billing-and-administration#about-billing-for-github-actions)." {% endif %} ## Contactar con soporte técnico diff --git a/translations/es-ES/content/admin/configuration/configuring-github-connect/about-github-connect.md b/translations/es-ES/content/admin/configuration/configuring-github-connect/about-github-connect.md index ca217cd8a9..fa2ab3e4f8 100644 --- a/translations/es-ES/content/admin/configuration/configuring-github-connect/about-github-connect.md +++ b/translations/es-ES/content/admin/configuration/configuring-github-connect/about-github-connect.md @@ -8,6 +8,7 @@ type: overview topics: - Enterprise - GitHub Connect +miniTocMaxHeadingLevel: 3 --- ## Acerca de {% data variables.product.prodname_github_connect %} @@ -37,6 +38,16 @@ Después de que configuras la conexión entre {% data variables.product.product_ ## Transmisión de datos para {% data variables.product.prodname_github_connect %} +When {% data variables.product.prodname_github_connect %} is enabled, a record on {% data variables.product.prodname_ghe_cloud %} stores information about the connection. If you enable individual features of {% data variables.product.prodname_github_connect %}, additional data is transmitted. + +{% note %} + +**Nota:** Jamás se transmitirán repositorios, propuestas o solicitudes de cambios desde {% data variables.product.product_name %} hacia {% data variables.product.prodname_dotcom_the_website %} mediante {% data variables.product.prodname_github_connect %}. + +{% endnote %} + +### Data transmitted when {% data variables.product.prodname_github_connect %} is enabled + Cuando habilitas {% data variables.product.prodname_github_connect %} o características específicas de {% data variables.product.prodname_github_connect %}, un registro en las tiendas de {% data variables.product.prodname_ghe_cloud %} almacena la siguiente información sobre la conexión. {% ifversion ghes %} - La parte pública de la clave de tu licencia {% data variables.product.prodname_ghe_server %} @@ -54,23 +65,19 @@ Cuando habilitas {% data variables.product.prodname_github_connect %} o caracter {% data variables.product.prodname_github_connect %} sincroniza los datos de conexión anteriores entre {% data variables.product.product_location %}y {% data variables.product.prodname_ghe_cloud %} semanalmente, desde el día y hora aproximada en que se habilitó {% data variables.product.prodname_github_connect %}. -{% note %} - -**Nota:** Jamás se transmitirán repositorios, propuestas o solicitudes de cambios desde {% data variables.product.product_name %} hacia {% data variables.product.prodname_dotcom_the_website %} mediante {% data variables.product.prodname_github_connect %}. - -{% endnote %} +### Data transmitted by individual features of {% data variables.product.prodname_github_connect %} Los datos adicionales se transmiten si habilitas las características individuales de {% data variables.product.prodname_github_connect %}. -| Característica | Datos | ¿De qué forma fluyen los datos? | ¿Dónde se utilizan los datos? | -| ---------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------- |{% ifversion ghes %} -| Sincronización automática de licencias de usuario | Cada ID de usuario y dirección de correo electrónico de un usuario de {% data variables.product.product_name %} | Desde {% data variables.product.product_name %} hacia {% data variables.product.prodname_ghe_cloud %} | {% data variables.product.prodname_ghe_cloud %} |{% endif %}{% ifversion ghes or ghae %} -| {% data variables.product.prodname_dependabot_alerts %} | Alertas de vulnerabilidades | Desde {% data variables.product.prodname_dotcom_the_website %} hasta {% data variables.product.product_name %} | {% data variables.product.product_name %} |{% endif %}{% ifversion dependabot-updates-github-connect %} -| {% data variables.product.prodname_dependabot_updates %} | Las dependencias y los metadatos de cada repositorio de una dependencia

Si una dependencia se almacena en un repositorio privado de {% data variables.product.prodname_dotcom_the_website %}, los datos solo se transmitirán si el {% data variables.product.prodname_dependabot %} se configura y se autoriza su acceso a dicho repositorio. | Desde {% data variables.product.prodname_dotcom_the_website %} hasta {% data variables.product.product_name %} | {% data variables.product.product_name %} {% endif %} -| Acciones de {% data variables.product.prodname_dotcom_the_website %} | Nombre de la acción, acción (archivo YAML de {% data variables.product.prodname_marketplace %}) | De {% data variables.product.prodname_dotcom_the_website %} a {% data variables.product.product_name %}

De {% data variables.product.product_name %} a {% data variables.product.prodname_dotcom_the_website %} | {% data variables.product.product_name %}{% ifversion server-statistics %} -| {% data variables.product.prodname_server_statistics %} | Métricas de uso agregadas de {% data variables.product.prodname_ghe_server %}
Para la lista de métricas agregadas recolectadas, consulta la sección "[Datos recolectados de {% data variables.product.prodname_server_statistics %}](/admin/monitoring-activity-in-your-enterprise/analyzing-how-your-team-works-with-server-statistics/about-server-statistics#server-statistics-data-collected)". | Desde {% data variables.product.product_name %} hacia {% data variables.product.prodname_ghe_cloud %} | {% data variables.product.prodname_ghe_cloud %}{% endif %} -| Búsqueda unificada | Términos de búsqueda, resultados de búsqueda | De {% data variables.product.prodname_dotcom_the_website %} a {% data variables.product.product_name %}

De {% data variables.product.product_name %} a {% data variables.product.prodname_dotcom_the_website %} | {% data variables.product.product_name %} -| Contribuciones unificadas | Conteo de contribuciones | Desde {% data variables.product.product_name %} hacia {% data variables.product.prodname_dotcom_the_website %} | {% data variables.product.prodname_dotcom_the_website %} +| Característica | Datos | ¿De qué forma fluyen los datos? | ¿Dónde se utilizan los datos? | +| ---------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------- |{% ifversion ghes %} +| Sincronización automática de licencias de usuario | Cada ID de usuario y dirección de correo electrónico de un usuario de {% data variables.product.product_name %} | Desde {% data variables.product.product_name %} hacia {% data variables.product.prodname_ghe_cloud %} | {% data variables.product.prodname_ghe_cloud %} |{% endif %}{% ifversion ghes or ghae %} +| {% data variables.product.prodname_dependabot_alerts %} | Alertas de vulnerabilidades | Desde {% data variables.product.prodname_dotcom_the_website %} hasta {% data variables.product.product_name %} | {% data variables.product.product_name %} |{% endif %}{% ifversion dependabot-updates-github-connect %} +| {% data variables.product.prodname_dependabot_updates %} | Las dependencias y los metadatos de cada repositorio de una dependencia

Si una dependencia se almacena en un repositorio privado de {% data variables.product.prodname_dotcom_the_website %}, los datos solo se transmitirán si el {% data variables.product.prodname_dependabot %} se configura y se autoriza su acceso a dicho repositorio. | Desde {% data variables.product.prodname_dotcom_the_website %} hasta {% data variables.product.product_name %} | {% data variables.product.product_name %} {% endif %} +| Acciones de {% data variables.product.prodname_dotcom_the_website %} | Nombre de la acción, acción (archivo YAML de {% data variables.product.prodname_marketplace %}) | De {% data variables.product.prodname_dotcom_the_website %} a {% data variables.product.product_name %}

De {% data variables.product.product_name %} a {% data variables.product.prodname_dotcom_the_website %} | {% data variables.product.product_name %}{% ifversion server-statistics %} +| {% data variables.product.prodname_server_statistics %} | Aggregate metrics about your usage of {% data variables.product.prodname_ghe_server %}. For the complete list of metrics, see "[About {% data variables.product.prodname_server_statistics %}](/admin/monitoring-activity-in-your-enterprise/analyzing-how-your-team-works-with-server-statistics/about-server-statistics#server-statistics-data-collected)." | Desde {% data variables.product.product_name %} hacia {% data variables.product.prodname_ghe_cloud %} | {% data variables.product.prodname_ghe_cloud %}{% endif %} +| Búsqueda unificada | Términos de búsqueda, resultados de búsqueda | De {% data variables.product.prodname_dotcom_the_website %} a {% data variables.product.product_name %}

De {% data variables.product.product_name %} a {% data variables.product.prodname_dotcom_the_website %} | {% data variables.product.product_name %} +| Contribuciones unificadas | Conteo de contribuciones | Desde {% data variables.product.product_name %} hacia {% data variables.product.prodname_dotcom_the_website %} | {% data variables.product.prodname_dotcom_the_website %} ## Leer más diff --git a/translations/es-ES/content/admin/configuration/configuring-your-enterprise/restricting-network-traffic-to-your-enterprise.md b/translations/es-ES/content/admin/configuration/configuring-your-enterprise/restricting-network-traffic-to-your-enterprise.md index 3471576d3e..75f1ca9141 100644 --- a/translations/es-ES/content/admin/configuration/configuring-your-enterprise/restricting-network-traffic-to-your-enterprise.md +++ b/translations/es-ES/content/admin/configuration/configuring-your-enterprise/restricting-network-traffic-to-your-enterprise.md @@ -31,12 +31,15 @@ Para las restricciones a nivel de instancia que utilizan los NSG de Azure, conta ## Agregar una dirección IP permitida +{% data reusables.identity-and-permissions.about-adding-ip-allow-list-entries %} + {% data reusables.enterprise-accounts.access-enterprise %} {% data reusables.enterprise-accounts.settings-tab %} {% data reusables.enterprise-accounts.security-tab %} {% data reusables.identity-and-permissions.ip-allow-lists-add-ip %} {% data reusables.identity-and-permissions.ip-allow-lists-add-description %} {% data reusables.identity-and-permissions.ip-allow-lists-add-entry %} +{% data reusables.identity-and-permissions.check-ip-address %} ## Permitir el acceso mediante {% data variables.product.prodname_github_apps %} @@ -44,6 +47,8 @@ Para las restricciones a nivel de instancia que utilizan los NSG de Azure, conta ## Habilitar direcciones IP permitidas +{% data reusables.identity-and-permissions.about-enabling-allowed-ip-addresses %} + {% data reusables.enterprise-accounts.access-enterprise %} {% data reusables.enterprise-accounts.settings-tab %} {% data reusables.enterprise-accounts.security-tab %} @@ -52,6 +57,8 @@ Para las restricciones a nivel de instancia que utilizan los NSG de Azure, conta ## Editar una dirección IP permitida +{% data reusables.identity-and-permissions.about-editing-ip-allow-list-entries %} + {% data reusables.enterprise-accounts.access-enterprise %} {% data reusables.enterprise-accounts.settings-tab %} {% data reusables.enterprise-accounts.security-tab %} @@ -59,6 +66,18 @@ Para las restricciones a nivel de instancia que utilizan los NSG de Azure, conta {% data reusables.identity-and-permissions.ip-allow-lists-edit-ip %} {% data reusables.identity-and-permissions.ip-allow-lists-edit-description %} 8. Da clic en **Actualizar**. +{% data reusables.identity-and-permissions.check-ip-address %} + +{% ifversion ip-allow-list-address-check %} +## Verificar si se permite una dirección IP + +{% data reusables.identity-and-permissions.about-checking-ip-address %} + +{% data reusables.enterprise-accounts.access-enterprise %} +{% data reusables.enterprise-accounts.settings-tab %} +{% data reusables.enterprise-accounts.security-tab %} +{% data reusables.identity-and-permissions.check-ip-address-step %} +{% endif %} ## Eliminar una dirección IP permitida diff --git a/translations/es-ES/content/admin/identity-and-access-management/managing-iam-for-your-enterprise/about-authentication-for-your-enterprise.md b/translations/es-ES/content/admin/identity-and-access-management/managing-iam-for-your-enterprise/about-authentication-for-your-enterprise.md index ed71174e55..08e78eea12 100644 --- a/translations/es-ES/content/admin/identity-and-access-management/managing-iam-for-your-enterprise/about-authentication-for-your-enterprise.md +++ b/translations/es-ES/content/admin/identity-and-access-management/managing-iam-for-your-enterprise/about-authentication-for-your-enterprise.md @@ -82,7 +82,11 @@ Estas restricciones no son aceptables para algunas empresas. Para determinar si ### ¿Tus desarrolladores confían en la colaboración fuera de tu empresa? -{% data variables.product.prodname_managed_users_caps %} solo puede contribuir con los repositorios dentro de tu empresa. Si tus desarrolladores necesitan colaborar en repositorios externos a tu empresa, incluso si estos son privados, para completar su trabajo, {% data variables.product.prodname_emus %} podría no ser lo correcto para tu empresa y el SSO de SAML podría ser una mejor solución. +{% data variables.product.prodname_managed_users_caps %} solo puede contribuir con los repositorios dentro de tu empresa. If your developers must contribute to both repositories within and outside of your enterprise, including private repositories, {% data variables.product.prodname_emus %} may not be right for your enterprise. SAML SSO may be a better solution. + +Some companies maintain repositories within an existing enterprise using SAML SSO on {% data variables.product.product_location %}, and also create an {% data variables.product.prodname_emu_enterprise %}. Developers who contribute to repositories owned by both enterprises from a single workstation must switch between the accounts on {% data variables.product.product_location %} within a single browser, or use a different browser for each account. The developer may also need to customize the workstation's Git configuration to accommodate the two accounts. The complexity of this workflow can increase the risk of mistakenly leaking internal code to the public. + +If you decide to create an {% data variables.product.prodname_emu_enterprise %} but require that developers contribute to resources outside of the enterprise from a single workstation, you can provide support for switching between the accounts in a developer's local Git configuration. Para obtener más información, consulta la sección "[Acerca de {% data variables.product.prodname_emus %}](/admin/identity-and-access-management/using-enterprise-managed-users-for-iam/about-enterprise-managed-users#supporting-developers-with-multiple-user-accounts-on-githubcom)". ### ¿Tu empresa depende de colaboradores externos? @@ -121,7 +125,7 @@ Si utilizas un directorio o proveedor de identidad (IdP) externos para centraliz - "[Utilizar LDAP para el IAM empresarial](/admin/identity-and-access-management/using-ldap-for-enterprise-iam)" - "[Utilizar SAML para el IAM empresarial](/admin/identity-and-access-management/using-saml-for-enterprise-iam)" -Si eliges utilizar la autenticación externa, también puedes configurar la autenticación reversible para las personas que no tiene una cuenta en tu proveedor de autenticación externo. Por ejemplo, podrías querer otorgar acceso a un usuario máquina o a un contratista. Para obtener más información, consulta la sección "[Permitir la autenticación integrada para los usuarios fuera de tu proveedor](/admin/identity-and-access-management/managing-iam-for-your-enterprise/allowing-built-in-authentication-for-users-outside-your-provider)". +Si eliges utilizar la autenticación externa, también puedes configurar la autenticación reversible para las personas que no tiene una cuenta en tu proveedor de autenticación externo. Por ejemplo, podrías querer otorgar acceso a un usuario máquina o a un contratista. For more information, see "[Allowing built-in authentication for users outside your provider](/admin/identity-and-access-management/managing-iam-for-your-enterprise/allowing-built-in-authentication-for-users-outside-your-provider)." {% elsif ghae %} diff --git a/translations/es-ES/content/admin/identity-and-access-management/using-enterprise-managed-users-for-iam/about-enterprise-managed-users.md b/translations/es-ES/content/admin/identity-and-access-management/using-enterprise-managed-users-for-iam/about-enterprise-managed-users.md index 392f7da3ca..74460a7bf1 100644 --- a/translations/es-ES/content/admin/identity-and-access-management/using-enterprise-managed-users-for-iam/about-enterprise-managed-users.md +++ b/translations/es-ES/content/admin/identity-and-access-management/using-enterprise-managed-users-for-iam/about-enterprise-managed-users.md @@ -36,8 +36,6 @@ Puedes otorgar acceso a los {% data variables.product.prodname_managed_users %}, El nombre de usuario de los {% data variables.product.prodname_managed_users %} de tu empresa y su información de perfil, tal como los nombres y direcciones de correo electrónico que se muestran, se configuran mediante tu IdP y no pueden cambiarlos los mismos usuarios. Para obtener más información, consulta la sección "[Nombres de usuario e información de perfil](#usernames-and-profile-information)". -{% data reusables.enterprise-accounts.emu-forks %} - Los propietarios de las empresas pueden auditar todas las acciones de los {% data variables.product.prodname_managed_users %} en {% data variables.product.prodname_dotcom %}. For more information, see "[Audit log events for your enterprise](/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/audit-log-events-for-your-enterprise#about-audit-log-events-for-your-enterprise)." Para utilizar los {% data variables.product.prodname_emus %}, necesitas un tipo separado de cuenta empresarial con {% data variables.product.prodname_emus %} habilitados. Para obtener más información sobre cómo crear esta cuenta, consulta la sección "[Acerca de las empresas con usuarios administrados](#about-enterprises-with-managed-users)". @@ -75,7 +73,8 @@ Los {% data variables.product.prodname_managed_users_caps %} solo pueden colabor * Los {% data variables.product.prodname_managed_users_caps %} no pueden crear gists o comentar en ellos. * Los {% data variables.product.prodname_managed_users_caps %} no pueden instalar {% data variables.product.prodname_github_apps %} en sus cuentas de usuario. * Otros usuarios de {% data variables.product.prodname_dotcom %} no pueden ver, mencionar o invitar a {% data variables.product.prodname_managed_user %} para colaborar. -* Los {% data variables.product.prodname_managed_users_caps %} solo pueden ser propietarios de repositorios privados y los {% data variables.product.prodname_managed_users %} solo pueden invitar a otros miembros de la empresa para que colaboren con sus propios repositorios. +* You can choose whether {% data variables.product.prodname_managed_users %} are able to create repositories owned by their user accounts. Para obtener más información, consulta la sección "[Requerir políticas de administración de repositorios en tu empresa](/admin/policies/enforcing-policies-for-your-enterprise/enforcing-repository-management-policies-in-your-enterprise#enforcing-a-policy-for-repository-creation)". +* If you allow {% data variables.product.prodname_managed_users %} to create repositories owned by their user accounts, they can only own private repositories and can only invite other enterprise members to collaborate on their user-owned repositories. * {% data reusables.enterprise-accounts.emu-forks %} * Solo se pueden crear repositorios internos y privados en las organizaciones que pertenezcan a una {% data variables.product.prodname_emu_enterprise %}, dependiendo de los ajustes de visibilidad del repositorio o empresa. * {% data variables.product.prodname_managed_users_caps %} are limited in their use of {% data variables.product.prodname_pages %}. Para obtener más información, consulta la sección "[Acerca de {% data variables.product.prodname_pages %}](/pages/getting-started-with-github-pages/about-github-pages#limitations-for-enterprise-managed-users)". @@ -113,6 +112,8 @@ Before your developers can use {% data variables.product.prodname_ghe_cloud %} w 5. Once authentication and provisioning are configured, you can start provisioning members and managing teams. Para obtener más información, consulta la sección "[Administrar las membrecías de equipo con los grupos de proveedor de identidades](/admin/identity-and-access-management/using-enterprise-managed-users-for-iam/managing-team-memberships-with-identity-provider-groups)". +If members of your enterprise must use one workstation to contribute to repositories on {% data variables.product.product_location %} from both a {% data variables.product.prodname_managed_user %} and a personal account, you can provide support. For more information, see "[Supporting developers with multiple user accounts on {% data variables.product.prodname_dotcom_the_website %}](#supporting-developers-with-multiple-user-accounts-on-githubcom)." + ## Autenticarse como una {% data variables.product.prodname_managed_user %} Los {% data variables.product.prodname_managed_users_caps %} se deben autenticar mediante su proveedor de identidad. Para autenticarse, un {% data variables.product.prodname_managed_user %} puede visitar su portal de aplicación IdP o utilizar una página de inicio de sesión en {% data variables.product.prodname_dotcom_the_website %}. @@ -132,3 +133,9 @@ Los {% data variables.product.prodname_managed_users_caps %} se deben autenticar A conflict may occur when provisioning users if the unique parts of the identifier provided by your IdP are removed during normalization. If you're unable to provision a user due to a username conflict, you should modify the username provided by your IdP. For more information, see "[Resolving username conflicts](/admin/identity-and-access-management/managing-iam-for-your-enterprise/username-considerations-for-external-authentication#resolving-username-conflicts)." El nombre de perfil y dirección de correo electrónico de un {% data variables.product.prodname_managed_user %} también lo proporciona el IdP. {% data variables.product.prodname_managed_users_caps %} cannot change their profile name or email address on {% data variables.product.prodname_dotcom %}, and the IdP can only provide a single email address. + +## Supporting developers with multiple user accounts on {% data variables.product.product_location %} + +People on your team may need to contribute to resources on {% data variables.product.product_location %} that are outside of your {% data variables.product.prodname_emu_enterprise %}. For example, you may wish to maintain a separate enterprise for your company's open source projects. Because a {% data variables.product.prodname_managed_user %} cannot contribute to public resources, users will need to maintain a separate, personal account for this work. + +People who must contribute from two user accounts on {% data variables.product.product_location %} using one workstation can configure Git to simplify the process. For more information, see "[Managing multiple accounts](/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-your-personal-account/managing-multiple-accounts)." diff --git a/translations/es-ES/content/admin/identity-and-access-management/using-enterprise-managed-users-for-iam/about-support-for-your-idps-conditional-access-policy.md b/translations/es-ES/content/admin/identity-and-access-management/using-enterprise-managed-users-for-iam/about-support-for-your-idps-conditional-access-policy.md index 22baa3473e..ebd76a968f 100644 --- a/translations/es-ES/content/admin/identity-and-access-management/using-enterprise-managed-users-for-iam/about-support-for-your-idps-conditional-access-policy.md +++ b/translations/es-ES/content/admin/identity-and-access-management/using-enterprise-managed-users-for-iam/about-support-for-your-idps-conditional-access-policy.md @@ -22,9 +22,11 @@ CAP support is enabled automatically for any {% data variables.product.prodname_ Para obtener más información sobre cómo utilizar OIDC con {% data variables.product.prodname_emus %}, consulta las secciones "[Configurar OIDC para los usuarios empresariales administrados](/admin/identity-and-access-management/using-enterprise-managed-users-for-iam/configuring-oidc-for-enterprise-managed-users) y "[Migrarse de SAML a OIDC](/admin/identity-and-access-management/using-enterprise-managed-users-for-iam/migrating-from-saml-to-oidc)". -## About using CAP with IP allow lists +{% note %} -We recommend disabling your enterprise account's IP allow list and relying on your IdP's CAP. If you enable IP allow lists for your enterprise and also make use of your IdP's CAP, both the IP allow list and CAP will be enforced. If either restriction rejects a user's IP address, the request fails. Para obtener más información sobre las listas de IP permitidas, consulta la sección "[Requerir políticas para la configuración de seguridad en tu empresa](/admin/policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-security-settings-in-your-enterprise#managing-allowed-ip-addresses-for-organizations-in-your-enterprise)". +**Note:** If you use Conditional Access (CA) network location policies in your Azure AD tenant, do not use the IP allow list feature on {% data variables.product.prodname_dotcom_the_website %}, with your enterprise account or with any of the organizations owned by the enterprise. Using both is unsupported and can result in the wrong policy applying. For more information about IP allow lists, see "[Enforcing security settings in your enterprise](/admin/policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-security-settings-in-your-enterprise#managing-allowed-ip-addresses-for-organizations-in-your-enterprise)" and "[Managing allowed IP addresses for your organization](/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/managing-allowed-ip-addresses-for-your-organization)." + +{% endnote %} ## Considerations for integrations and automations diff --git a/translations/es-ES/content/admin/identity-and-access-management/using-enterprise-managed-users-for-iam/migrating-from-saml-to-oidc.md b/translations/es-ES/content/admin/identity-and-access-management/using-enterprise-managed-users-for-iam/migrating-from-saml-to-oidc.md index 494cb14c8b..3b52fa9453 100644 --- a/translations/es-ES/content/admin/identity-and-access-management/using-enterprise-managed-users-for-iam/migrating-from-saml-to-oidc.md +++ b/translations/es-ES/content/admin/identity-and-access-management/using-enterprise-managed-users-for-iam/migrating-from-saml-to-oidc.md @@ -1,5 +1,5 @@ --- -title: Migrating from SAML to OIDC +title: Migrarte de SAML a OIDC shortTitle: Migrarte de SAML a OIDC intro: 'If you''re using SAML to authenticate members in your {% data variables.product.prodname_emu_enterprise %}, you can migrate to OpenID Connect (OIDC) and benefit from support for your IdP''s Conditional Access Policy.' product: '{% data reusables.gated-features.emus %}' @@ -26,11 +26,12 @@ If you're new to {% data variables.product.prodname_emus %} and haven't yet conf {% note %} -**Note:** To sign in as the setup user, you will need a recovery code. If you do not already have your recovery codes, you can access the codes while signed in as an enterprise owner. For more information, see "[Downloading your enterprise account's single sign-on recovery codes](/admin/identity-and-access-management/managing-recovery-codes-for-your-enterprise/downloading-your-enterprise-accounts-single-sign-on-recovery-codes)." +**Note:** To sign in as the setup user, you will need a recovery code. If you do not already have your recovery codes, you can access the codes while signed in as an enterprise owner. Para obtener más información, consulta la sección "[Descargar los códigos de recuperación de inicio de sesión único de tu cuenta empresarial](/admin/identity-and-access-management/managing-recovery-codes-for-your-enterprise/downloading-your-enterprise-accounts-single-sign-on-recovery-codes)". {% endnote %} 1. Before you begin the migration, sign in to Azure and disable provisioning in the existing {% data variables.product.prodname_emu_idp_application %} application. +1. If you use [Conditional Access (CA) network location policies](https://docs.microsoft.com/en-us/azure/active-directory/conditional-access/location-condition) in Azure AD, and you're currently using an IP allow list with your enterprise account or any of the organizations owned by the enterprise account on {% data variables.product.prodname_dotcom_the_website %}, disable the IP allow lists. For more information, see "[Enforcing security settings in your enterprise](/admin/policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-security-settings-in-your-enterprise#managing-allowed-ip-addresses-for-organizations-in-your-enterprise)" and "[Managing allowed IP addresses for your organization](/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/managing-allowed-ip-addresses-for-your-organization)." 1. Sign into {% data variables.product.prodname_dotcom_the_website %} as the setup user for your enterprise with the username **@SHORT-CODE_admin**. 1. When prompted to continue to your identity provider, click **Use a recovery code** and sign in using one of your enterprise's recovery codes. {% data reusables.enterprise-accounts.access-enterprise %} diff --git a/translations/es-ES/content/admin/identity-and-access-management/using-saml-for-enterprise-iam/saml-configuration-reference.md b/translations/es-ES/content/admin/identity-and-access-management/using-saml-for-enterprise-iam/saml-configuration-reference.md index be369be988..2b8548d98f 100644 --- a/translations/es-ES/content/admin/identity-and-access-management/using-saml-for-enterprise-iam/saml-configuration-reference.md +++ b/translations/es-ES/content/admin/identity-and-access-management/using-saml-for-enterprise-iam/saml-configuration-reference.md @@ -75,10 +75,12 @@ The SP metadata for your enterprise on {% data variables.product.product_name %} The following SAML attributes are available for {% data variables.product.product_name %}.{% ifversion ghes %} You can change the attribute names in the management console, with the exception of the `administrator` attribute. For more information, see "[Accessing the management console](/admin/configuration/configuring-your-enterprise/accessing-the-management-console)."{% endif %} -| Nombre | Required? | Descripción | -|:--------------------- |:--------- |:------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | -| `ID del nombre` | Sí | Un identificador de usuario persistente. Se puede usar cualquier formato de identificador de nombre persistente. {% ifversion ghec %}If you use an enterprise with {% data variables.product.prodname_emus %}, {% endif %}{% data variables.product.product_name %} will normalize the `NameID` element to use as a username unless one of the alternative assertions is provided. Para obtener más información, consulta la sección "[Consideraciones de nombre de usuario para la autenticación externa](/admin/identity-and-access-management/managing-iam-for-your-enterprise/username-considerations-for-external-authentication)". | -| `SessionNotOnOrAfter` | No | The date that {% data variables.product.product_name %} invalidates the associated session. After invalidation, the person must authenticate once again to access {% ifversion ghec or ghae %}your enterprise's resources{% elsif ghes %}{% data variables.product.product_location %}{% endif %}. For more information, see "[Session duration and timeout](#session-duration-and-timeout)." | +| Nombre | Required? | Descripción | +|:------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |:--------- |:----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `ID del nombre` | Sí | Un identificador de usuario persistente. Se puede usar cualquier formato de identificador de nombre persistente. | +| {% ifversion ghec %}If you use an enterprise with {% data variables.product.prodname_emus %}, {% endif %}{% data variables.product.product_name %} will normalize the `NameID` element to use as a username unless one of the alternative assertions is provided. For more information, see "[Username considerations for external authentication](/admin/identity-and-access-management/managing-iam-for-your-enterprise/username-considerations-for-external-authentication)."

{% note %}**Note:** It's important to use a human-readable, persistent identifier. Using a transient identifier format like `urn:oasis:names:tc:SAML:2.0:nameid-format:transient` will result in re-linking of accounts on every sign-in, which can be detrimental to authorization management.{% endnote %} | | | +| | | | +| `SessionNotOnOrAfter` | No | The date that {% data variables.product.product_name %} invalidates the associated session. After invalidation, the person must authenticate once again to access {% ifversion ghec or ghae %}your enterprise's resources{% elsif ghes %}{% data variables.product.product_location %}{% endif %}. For more information, see "[Session duration and timeout](#session-duration-and-timeout)." | {%- ifversion ghes or ghae %} | `administrator` | No | When the value is `true`, {% data variables.product.product_name %} will automatically promote the user to be a {% ifversion ghes %}site administrator{% elsif ghae %}enterprise owner{% endif %}. Setting this attribute to anything but `true` will result in demotion, as long as the value is not blank. Omitting this attribute or leaving the value blank will not change the role of the user. | | `username` | No | The username for {% data variables.product.product_location %}. | {%- endif %} diff --git a/translations/es-ES/content/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/audit-log-events-for-your-enterprise.md b/translations/es-ES/content/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/audit-log-events-for-your-enterprise.md index 3167eec355..e831dcfc21 100644 --- a/translations/es-ES/content/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/audit-log-events-for-your-enterprise.md +++ b/translations/es-ES/content/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/audit-log-events-for-your-enterprise.md @@ -286,8 +286,8 @@ El alcance de los eventos que se muestran en la bitácora de auditoría de tu em | `dotcom_connection.create` | A {% data variables.product.prodname_github_connect %} connection to {% data variables.product.prodname_dotcom_the_website %} was created. | | `dotcom_connection.destroy` | A {% data variables.product.prodname_github_connect %} connection to {% data variables.product.prodname_dotcom_the_website %} was deleted. | | `dotcom_connection.token_updated` | The {% data variables.product.prodname_github_connect %} connection token for {% data variables.product.prodname_dotcom_the_website %} was updated. | -| `dotcom_connection.upload_license_usage` | {% data variables.product.prodname_ghe_server %} license usage was manually uploaded to {% data variables.product.prodname_ghe_cloud %}. | -| `dotcom_connection.upload_usage_metrics` | {% data variables.product.prodname_ghe_server %} usage metrics were uploaded to {% data variables.product.prodname_dotcom_the_website %}. | +| `dotcom_connection.upload_license_usage` | El uso de la licencia de {% data variables.product.prodname_ghe_server %} se cargó manualmente a {% data variables.product.prodname_ghe_cloud %}. | +| `dotcom_connection.upload_usage_metrics` | Las métricas de uso de {% data variables.product.prodname_ghe_server %} se cargaron a {% data variables.product.prodname_dotcom_the_website %}. | {%- endif %} ## acciones de la categoría `enterprise` @@ -882,10 +882,10 @@ Before you'll see `git` category actions, you must enable Git events in the audi | `pull_request.merge` | A pull request was merged. Para obtener más información, consulta "[Fusionar una solicitud de extracción](/pull-requests/collaborating-with-pull-requests/incorporating-changes-from-a-pull-request/merging-a-pull-request)". | | `pull_request.ready_for_review` | A pull request was marked as ready for review. Para obtener más información, consulta la sección "[Cambiar el estado de una solicitud de extracción](/github/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/changing-the-stage-of-a-pull-request#marking-a-pull-request-as-ready-for-review)". | | `pull_request.remove_review_request` | A review request was removed from a pull request. Para obtener más información, consulta la sección "[Acerca de las revisiones de las solicitudes de extracción](/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/about-pull-request-reviews)". | -| `pull_request.reopen` | A pull request was reopened after previously being closed. | +| `pull_request.reopen` | Se volvió a abrir una solicitud de cambios después de que se había cerrado. | | `pull_request_review.delete` | Se borró una revisión en una solicitud de cambios. | | `pull_request_review.dismiss` | Se descartó una revisión de una solicitud de cambios. Para obtener más información, consulta "[Descartar una revisión de solicitud de extracción](/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/dismissing-a-pull-request-review)". | -| `pull_request_review.submit` | A review was submitted for a pull request. Para obtener más información, consulta la sección "[Acerca de las revisiones de las solicitudes de extracción](/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/about-pull-request-reviews)". | +| `pull_request_review.submit` | Se emitió una revisión para una solicitud de cambios. Para obtener más información, consulta la sección "[Acerca de las revisiones de las solicitudes de extracción](/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/about-pull-request-reviews)". | ## Acciones de la categoría `pull_request_review` @@ -1004,108 +1004,108 @@ Before you'll see `git` category actions, you must enable Git events in the audi | Acción | Descripción | | -------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `repository_secret_scanning_custom_pattern.create` | Se publicó un patrón personalizado para el escaneo de secretos en un repositorio. Para obtener más información, consulta la sección "[Definir los patrones personalizados para el escaneo de secretos](/code-security/secret-scanning/defining-custom-patterns-for-secret-scanning#defining-a-custom-pattern-for-a-repository)". | -| `repository_secret_scanning_custom_pattern.delete` | A custom pattern is removed from secret scanning in a repository. Para obtener más información, consulta la sección "[Definir los patrones personalizados para el escaneo de secretos](/code-security/secret-scanning/defining-custom-patterns-for-secret-scanning#removing-a-custom-pattern)". | -| `repository_secret_scanning_custom_pattern.update` | Changes to a custom pattern are saved for secret scanning in a repository. Para obtener más información, consulta la sección "[Definir los patrones personalizados para el escaneo de secretos](/code-security/secret-scanning/defining-custom-patterns-for-secret-scanning#editing-a-custom-pattern)". | +| `repository_secret_scanning_custom_pattern.delete` | Se eliminó un patrón personalizado del escaneo de secretos en un repositorio. Para obtener más información, consulta la sección "[Definir los patrones personalizados para el escaneo de secretos](/code-security/secret-scanning/defining-custom-patterns-for-secret-scanning#removing-a-custom-pattern)". | +| `repository_secret_scanning_custom_pattern.update` | Se guardan cambios a un patrón personalizado para el escaneo de secretos en un repositorio. Para obtener más información, consulta la sección "[Definir los patrones personalizados para el escaneo de secretos](/code-security/secret-scanning/defining-custom-patterns-for-secret-scanning#editing-a-custom-pattern)". | ## Acciones de la categoría `repository_secret_scanning_push_protection` -| Acción | Descripción | -| ---------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `repository_secret_scanning_push_protection.disable` | A repository owner or administrator disabled secret scanning for a repository. Para obtener más información, consulta la sección "[Proteger las subidas de información con el escaneo de secretos](/code-security/secret-scanning/protecting-pushes-with-secret-scanning)". | -| `repository_secret_scanning_push_protection.enable` | A repository owner or administrator enabled secret scanning for a repository. Para obtener más información, consulta la sección "[Proteger las subidas de información con el escaneo de secretos](/code-security/secret-scanning/protecting-pushes-with-secret-scanning)". | +| Acción | Descripción | +| ---------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `repository_secret_scanning_push_protection.disable` | Un propietario o administrador de repositorio inhabilitó el escaneo de secretos para un repositorio. Para obtener más información, consulta la sección "[Proteger las subidas de información con el escaneo de secretos](/code-security/secret-scanning/protecting-pushes-with-secret-scanning)". | +| `repository_secret_scanning_push_protection.enable` | Un propietario o administrador de repositorio habilitó el escaneo de secretos para un repositorio. Para obtener más información, consulta la sección "[Proteger las subidas de información con el escaneo de secretos](/code-security/secret-scanning/protecting-pushes-with-secret-scanning)". | {%- endif %} -## `repository_visibility_change` category actions +## Acciones de la categoría `repository_visibility_change` -| Acción | Descripción | -| -------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `repository_visibility_change.clear` | The repository visibility change setting was cleared for an organization or enterprise. Para obtener más información, consulta las secciones "[restringir los cambios de visibilidad de los repositorios en tu organización](/organizations/managing-organization-settings/restricting-repository-visibility-changes-in-your-organization)" y "[requerir una política para los cambios en la visibilidad de un repositorio](/admin/policies/enforcing-policies-for-your-enterprise/enforcing-repository-management-policies-in-your-enterprise#enforcing-a-policy-for-changes-to-repository-visibility) para una empresa". | -| `repository_visibility_change.disable` | The ability for enterprise members to update a repository's visibility was disabled. Members are unable to change repository visibilities in an organization, or all organizations in an enterprise. | -| `repository_visibility_change.enable` | The ability for enterprise members to update a repository's visibility was enabled. Members are able to change repository visibilities in an organization, or all organizations in an enterprise. | +| Acción | Descripción | +| -------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `repository_visibility_change.clear` | El ajuste de cambio de visibilidad de repositorio se autorizó para una organización o empresa. Para obtener más información, consulta las secciones "[restringir los cambios de visibilidad de los repositorios en tu organización](/organizations/managing-organization-settings/restricting-repository-visibility-changes-in-your-organization)" y "[requerir una política para los cambios en la visibilidad de un repositorio](/admin/policies/enforcing-policies-for-your-enterprise/enforcing-repository-management-policies-in-your-enterprise#enforcing-a-policy-for-changes-to-repository-visibility) para una empresa". | +| `repository_visibility_change.disable` | Se inhabilitó la capacidad para que los miembros de la empresa actualicen la visibilidad de un repositorio. Los miembros no pueden cambiar las visibilidades de los repositorios en una organización o en todas las organizaciones de una empresa. | +| `repository_visibility_change.enable` | Se habilitó la capacidad de los miembros de una empresa para actualizar la visibilidad de un repositorio. Los miembros pueden cambiar las visibilidades de un repositorio en una organización o en todas las organizaciones de una empresa. | ## acciones de la categoría `repository_vulnerability_alert` | Acción | Descripción | | ---------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `repository_vulnerability_alert.create` | {% data variables.product.product_name %} created a {% data variables.product.prodname_dependabot %} alert for a repository that uses an insecure dependency. Para obtener más información, consulta la sección "[Acerca de las {% data variables.product.prodname_dependabot_alerts %}](/code-security/dependabot/dependabot-alerts/about-dependabot-alerts)". | -| `repository_vulnerability_alert.dismiss` | An organization owner or repository administrator dismissed a {% data variables.product.prodname_dependabot %} alert about a vulnerable dependency{% ifversion GH-advisory-db-supports-malware %} or malware{% endif %}. | -| `repository_vulnerability_alert.resolve` | Someone with write access to a repository pushed changes to update and resolve a {% data variables.product.prodname_dependabot %} alert in a project dependency. | +| `repository_vulnerability_alert.create` | {% data variables.product.product_name %} creó una {% data variables.product.prodname_dependabot %} para un repositorio que utiliza una dependencia insegura. Para obtener más información, consulta la sección "[Acerca de las {% data variables.product.prodname_dependabot_alerts %}](/code-security/dependabot/dependabot-alerts/about-dependabot-alerts)". | +| `repository_vulnerability_alert.dismiss` | Un propietario de organización o administrador de repositorio descartó una alerta de {% data variables.product.prodname_dependabot %} sobre una dependencia vulnerable{% ifversion GH-advisory-db-supports-malware %} o malware{% endif %}. | +| `repository_vulnerability_alert.resolve` | Alguien con acceso de escritura a un repositorio subió cambios para actualizar y resolver una alerta de {% data variables.product.prodname_dependabot %} en una dependencia de proyecto. | {%- ifversion fpt or ghec %} ## acciones de la categoría `repository_vulnerability_alerts` -| Acción | Descripción | -| -------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | -| `repository_vulnerability_alerts.authorized_users_teams` | An organization owner or repository administrator updated the list of people or teams authorized to receive {% data variables.product.prodname_dependabot_alerts %} for the repository. Para obtener más información, consulta la sección "[Administrar la configuración de seguridad y análisis para tu repositorio](/github/administering-a-repository/managing-security-and-analysis-settings-for-your-repository#granting-access-to-security-alerts)". | -| `repository_vulnerability_alerts.disable` | A repository owner or repository administrator disabled {% data variables.product.prodname_dependabot_alerts %}. | -| `repository_vulnerability_alerts.enable` | A repository owner or repository administrator enabled {% data variables.product.prodname_dependabot_alerts %}. | +| Acción | Descripción | +| -------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `repository_vulnerability_alerts.authorized_users_teams` | Un propietario de organización o administrador de repositorio actualizó la lista de personas o equipos autorizados para recibir {% data variables.product.prodname_dependabot_alerts %} para el repositorio. Para obtener más información, consulta la sección "[Administrar la configuración de seguridad y análisis para tu repositorio](/github/administering-a-repository/managing-security-and-analysis-settings-for-your-repository#granting-access-to-security-alerts)". | +| `repository_vulnerability_alerts.disable` | Un propietario o administrador de repositorio inhabilitó las {% data variables.product.prodname_dependabot_alerts %}. | +| `repository_vulnerability_alerts.enable` | Un propietario o administrador de repositorio habilitó las {% data variables.product.prodname_dependabot_alerts %}. | {%- endif %} -## `required_status_check` category actions +## Acciones de la categoría `required_status_check` -| Acción | Descripción | -| ------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `required_status_check.create` | A status check was marked as required for a protected branch. Para obtener más información, consulta la sección "[Requerir verificaciones de estado antes de la fusión](/repositories/configuring-branches-and-merges-in-your-repository/defining-the-mergeability-of-pull-requests/about-protected-branches#require-status-checks-before-merging)". | -| `required_status_check.destroy` | A status check was no longer marked as required for a protected branch. Para obtener más información, consulta la sección "[Requerir verificaciones de estado antes de la fusión](/repositories/configuring-branches-and-merges-in-your-repository/defining-the-mergeability-of-pull-requests/about-protected-branches#require-status-checks-before-merging)". | +| Acción | Descripción | +| ------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `required_status_check.create` | Se marcó una verificación de estado como requerida para una rama potencial. Para obtener más información, consulta la sección "[Requerir verificaciones de estado antes de la fusión](/repositories/configuring-branches-and-merges-in-your-repository/defining-the-mergeability-of-pull-requests/about-protected-branches#require-status-checks-before-merging)". | +| `required_status_check.destroy` | Se dejó de marcar una verificación de estado como requerida para una rama protegida. Para obtener más información, consulta la sección "[Requerir verificaciones de estado antes de la fusión](/repositories/configuring-branches-and-merges-in-your-repository/defining-the-mergeability-of-pull-requests/about-protected-branches#require-status-checks-before-merging)". | {%- ifversion ghec or ghes %} -## `restrict_notification_delivery` category actions +## Acciones de la categoría `restrict_notification_delivery` -| Acción | Descripción | -| ---------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `restrict_notification_delivery.enable` | Email notification restrictions for an organization or enterprise were enabled. Para obtener más información, consulta las secciones "[Restringir las notificaciones de correo electrónico de tu organización](/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/restricting-email-notifications-for-your-organization)" y "[Restringir las notificaciones de correo electrónico para tu empresa](/admin/policies/enforcing-policies-for-your-enterprise/restricting-email-notifications-for-your-enterprise)". | -| `restrict_notification_delivery.disable` | Email notification restrictions for an organization or enterprise were disabled. Para obtener más información, consulta las secciones "[Restringir las notificaciones de correo electrónico de tu organización](/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/restricting-email-notifications-for-your-organization)" y "[Restringir las notificaciones de correo electrónico para tu empresa](/admin/policies/enforcing-policies-for-your-enterprise/restricting-email-notifications-for-your-enterprise)". | +| Acción | Descripción | +| ---------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `restrict_notification_delivery.enable` | Se habilitaron las restricciones para las notificaciones de correo electrónico para una organización o empresa. Para obtener más información, consulta las secciones "[Restringir las notificaciones de correo electrónico de tu organización](/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/restricting-email-notifications-for-your-organization)" y "[Restringir las notificaciones de correo electrónico para tu empresa](/admin/policies/enforcing-policies-for-your-enterprise/restricting-email-notifications-for-your-enterprise)". | +| `restrict_notification_delivery.disable` | Se inhabilitaron las restricciones de notificación por correo electrónico para una organización o empresa. Para obtener más información, consulta las secciones "[Restringir las notificaciones de correo electrónico de tu organización](/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/restricting-email-notifications-for-your-organization)" y "[Restringir las notificaciones de correo electrónico para tu empresa](/admin/policies/enforcing-policies-for-your-enterprise/restricting-email-notifications-for-your-enterprise)". | {%- endif %} {%- ifversion custom-repository-roles %} ## Acciones de la categoría `role` -| Acción | Descripción | -| -------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `create (crear)` | An organization owner created a new custom repository role. Para obtener más información, consulta la sección "[Administrar los roles personalizados de repositorio en una organización](/organizations/managing-peoples-access-to-your-organization-with-roles/managing-custom-repository-roles-for-an-organization)". | -| `destroy (destruir)` | An organization owner deleted a custom repository role. Para obtener más información, consulta la sección "[Administrar los roles personalizados de repositorio en una organización](/organizations/managing-peoples-access-to-your-organization-with-roles/managing-custom-repository-roles-for-an-organization)". | -| `actualización` | An organization owner edited an existing custom repository role. Para obtener más información, consulta la sección "[Administrar los roles personalizados de repositorio en una organización](/organizations/managing-peoples-access-to-your-organization-with-roles/managing-custom-repository-roles-for-an-organization)". | +| Acción | Descripción | +| -------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `create (crear)` | El propietario de una organización creó un nuevo rol personalizado para un repositorio. Para obtener más información, consulta la sección "[Administrar los roles personalizados de repositorio en una organización](/organizations/managing-peoples-access-to-your-organization-with-roles/managing-custom-repository-roles-for-an-organization)". | +| `destroy (destruir)` | Un propietario de organización borró un rol de repositorio personalizado. Para obtener más información, consulta la sección "[Administrar los roles personalizados de repositorio en una organización](/organizations/managing-peoples-access-to-your-organization-with-roles/managing-custom-repository-roles-for-an-organization)". | +| `actualización` | Un propietario de organización editó un rol personalizado de un repositorio existente. Para obtener más información, consulta la sección "[Administrar los roles personalizados de repositorio en una organización](/organizations/managing-peoples-access-to-your-organization-with-roles/managing-custom-repository-roles-for-an-organization)". | {%- endif %} {%- ifversion ghec or ghes or ghae %} ## Acciones de la categoría `secret_scanning` -| Acción | Descripción | -| ------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `secret_scanning.disable` | An organization owner disabled secret scanning for all existing{% ifversion ghec %} private or internal{% endif %} repositories. Para obtener más información, consulta la sección "[Acerca del escaneo de secretos"](/github/administering-a-repository/about-secret-scanning). | -| `secret_scanning.enable` | An organization owner enabled secret scanning for all existing{% ifversion ghec %} private or internal{% endif %} repositories. | +| Acción | Descripción | +| ------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| `secret_scanning.disable` | Un propietario de organización inhabilitó el escaneo de secretos para todos los repositorios {% ifversion ghec %} privados o internos{% endif %} existentes. Para obtener más información, consulta la sección "[Acerca del escaneo de secretos"](/github/administering-a-repository/about-secret-scanning). | +| `secret_scanning.enable` | Un propietario de una organización habilitó el escaneo de secretos para todos los repositorios {% ifversion ghec %} privados o internos{% endif %}. | {% ifversion secret-scanning-alert-audit-log %} ## Acciones de la categoría `secret_scanning_alert` -| Acción | Descripción | -| ------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `secret_scanning_alert.create` | {% data variables.product.prodname_dotcom %} detected a secret and created a {% data variables.product.prodname_secret_scanning %} alert. Para obtener más información, consulta la sección "[Administrar las alertas de {% data variables.product.prodname_secret_scanning %}](/code-security/secret-scanning/managing-alerts-from-secret-scanning)". | -| `secret_scanning_alert.reopen` | A user reopened a {% data variables.product.prodname_secret_scanning %} alert. | -| `secret_scanning_alert.resolve` | A user resolved a {% data variables.product.prodname_secret_scanning %} alert. | +| Acción | Descripción | +| ------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `secret_scanning_alert.create` | {% data variables.product.prodname_dotcom %} detectó un secreto y creó una alerta del {% data variables.product.prodname_secret_scanning %}. Para obtener más información, consulta la sección "[Administrar las alertas de {% data variables.product.prodname_secret_scanning %}](/code-security/secret-scanning/managing-alerts-from-secret-scanning)". | +| `secret_scanning_alert.reopen` | Un usuario volvió a abrir una alerta del {% data variables.product.prodname_secret_scanning %}. | +| `secret_scanning_alert.resolve` | Un usuario resolvió una alerta del {% data variables.product.prodname_secret_scanning %}. | {% endif %} ## Acciones de la categoría `secret_scanning_new_repos` -| Acción | Descripción | -| ----------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `secret_scanning_new_repos.disable` | An organization owner disabled secret scanning for all new{% ifversion ghec %} private or internal{% endif %} repositories. Para obtener más información, consulta la sección "[Acerca del escaneo de secretos"](/github/administering-a-repository/about-secret-scanning). | -| `secret_scanning_new_repos.enable` | An organization owner enabled secret scanning for all new{% ifversion ghec %} private or internal{% endif %} repositories. | +| Acción | Descripción | +| ----------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| `secret_scanning_new_repos.disable` | Un propietario de organización inhabilitó el escaneo de secretos para todos los repositorios {% ifversion ghec %} privados o internos{% endif %} existentes. Para obtener más información, consulta la sección "[Acerca del escaneo de secretos"](/github/administering-a-repository/about-secret-scanning). | +| `secret_scanning_new_repos.enable` | Un propietario de organización habilitó el escaneo de secretos para todos los repositorios {% ifversion ghec %} privados o internos{% endif %} nuevos. | {%- endif %} {% ifversion secret-scanning-push-protection-bypasses %} ## Acciones de la categoría `secret_scanning_push_protection` -| Acción | Descripción | -| -------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `bypass` | Se activa cuando un usuario omite la protección de subida en un secreto que detectó el escaneo de secretos. For more information, see "[Bypassing push protection for a secret](/code-security/secret-scanning/protecting-pushes-with-secret-scanning#bypassing-push-protection-for-a-secret)."{% endif %} +| Acción | Descripción | +| -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `bypass` | Se activa cuando un usuario omite la protección de subida en un secreto que detectó el escaneo de secretos. Para obtener más información, consulta la sección "[Omitir la protección contra subida de información para un secreto](/code-security/secret-scanning/protecting-pushes-with-secret-scanning#bypassing-push-protection-for-a-secret)".{% endif %} {%- ifversion ghec or ghes or ghae %} -## `security_key` category actions +## Acciones de la categoría `security_key` -| Acción | Descripción | -| ----------------------- | ------------------------------------------------ | -| `security_key.register` | A security key was registered for an account. | -| `security_key.remove` | Se eliminó una llave de seguridad de una cuenta. | +| Acción | Descripción | +| ----------------------- | --------------------------------------------------- | +| `security_key.register` | Se registró una llave de seguridad para una cuenta. | +| `security_key.remove` | Se eliminó una llave de seguridad de una cuenta. | {%- endif %} {%- ifversion fpt or ghec %} @@ -1186,24 +1186,24 @@ Before you'll see `git` category actions, you must enable Git events in the audi {%- ifversion ghec or ghes or ghae %} | `team.demote_maintainer` | Se bajó de categoría a un usuario de mantenedor de equipo a miembro de equipo. | `team.promote_maintainer` | Se promovió a un usuario de miembro a mantenedor de equipo. Para obtener más información, consulta la sección "[Promover a un miembro de la organización a mantenedor de equipo](/organizations/organizing-members-into-teams/assigning-the-team-maintainer-role-to-a-team-member#promoting-an-organization-member-to-team-maintainer)". {%- endif %} -| `team.remove_member` | Se eliminó a un miembro de una organización de un equipo. For more information, see "[Removing organization members from a team](/organizations/organizing-members-into-teams/removing-organization-members-from-a-team)." | `team.remove_repository` | A repository was no longer under a team's control. | `team.rename` | A team's name was changed. | `team.update_permission` | A team's access was changed. | `team.update_repository_permission` | A team's permission to a repository was changed. +| `team.remove_member` | Se eliminó a un miembro de una organización de un equipo. Para obtener más información, consulta la sección "[Eliminar miembros organizacionales de un equipo](/organizations/organizing-members-into-teams/removing-organization-members-from-a-team)". | `team.remove_repository` | Un repositorio dejó de estar bajo el control de un equipo. | `team.rename` | Se cambió el nombre de un equipo. | `team.update_permission` | Se cambió el acceso de un equipo. | `team.update_repository_permission` | Se cambió el permiso de un equipo para un repositorio. ## acciones de la categoría `team_discussions` -| Acción | Descripción | -| -------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `team_discussions.clear` | An organization owner cleared the setting to allow team discussions for an organization or enterprise. | -| `team_discussions.disable` | An organization owner disabled team discussions for an organization. Para obtener más información, consulta "[Desactivar los debates del equipo para tu organización](/organizations/organizing-members-into-teams/disabling-team-discussions-for-your-organization)". | -| `team_discussions.enable` | An organization owner enabled team discussions for an organization. | +| Acción | Descripción | +| -------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `team_discussions.clear` | Un propietario de una organización autorizó el ajuste para permitir debates de equipo para una organización o empresa. | +| `team_discussions.disable` | Un propietario de organización inhabilitó los debates de equipo para una organización. Para obtener más información, consulta "[Desactivar los debates del equipo para tu organización](/organizations/organizing-members-into-teams/disabling-team-discussions-for-your-organization)". | +| `team_discussions.enable` | Un propietario de organización habilitó los debates de equipo para una organización. | {%- ifversion ghec %} -## `team_sync_tenant` category actions +## Acciones de la categoría `team_sync_tenant` -| Acción | Descripción | -| ------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `team_sync_tenant.disabled` | Team synchronization with a tenant was disabled. Para obtener más información, consulta las secciones "[Administrar la sincronización de equipos para tu organización](/organizations/managing-saml-single-sign-on-for-your-organization/managing-team-synchronization-for-your-organization)" y "[Administrar la sincronización de equipos para las organizaciones en tu empresa](/admin/identity-and-access-management/managing-iam-for-your-enterprise/managing-team-synchronization-for-organizations-in-your-enterprise)". | -| `team_sync_tenant.enabled` | Team synchronization with a tenant was enabled. Para obtener más información, consulta las secciones "[Administrar la sincronización de equipos para tu organización](/organizations/managing-saml-single-sign-on-for-your-organization/managing-team-synchronization-for-your-organization)" y "[Administrar la sincronización de equipos para las organizaciones en tu empresa](/admin/identity-and-access-management/managing-iam-for-your-enterprise/managing-team-synchronization-for-organizations-in-your-enterprise)". | -| `team_sync_tenant.update_okta_credentials` | The Okta credentials for team synchronization with a tenant were changed. | +| Acción | Descripción | +| ------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `team_sync_tenant.disabled` | Se inhabilitó la sincronización de equipos con un inquilino. Para obtener más información, consulta las secciones "[Administrar la sincronización de equipos para tu organización](/organizations/managing-saml-single-sign-on-for-your-organization/managing-team-synchronization-for-your-organization)" y "[Administrar la sincronización de equipos para las organizaciones en tu empresa](/admin/identity-and-access-management/managing-iam-for-your-enterprise/managing-team-synchronization-for-organizations-in-your-enterprise)". | +| `team_sync_tenant.enabled` | Team synchronization with a tenant was enabled. Para obtener más información, consulta las secciones "[Administrar la sincronización de equipos para tu organización](/organizations/managing-saml-single-sign-on-for-your-organization/managing-team-synchronization-for-your-organization)" y "[Administrar la sincronización de equipos para las organizaciones en tu empresa](/admin/identity-and-access-management/managing-iam-for-your-enterprise/managing-team-synchronization-for-organizations-in-your-enterprise)". | +| `team_sync_tenant.update_okta_credentials` | The Okta credentials for team synchronization with a tenant were changed. | {%- endif %} {%- ifversion fpt or ghes %} diff --git a/translations/es-ES/content/admin/policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-security-settings-in-your-enterprise.md b/translations/es-ES/content/admin/policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-security-settings-in-your-enterprise.md index b1ed91a0ce..69f3a55303 100644 --- a/translations/es-ES/content/admin/policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-security-settings-in-your-enterprise.md +++ b/translations/es-ES/content/admin/policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-security-settings-in-your-enterprise.md @@ -79,12 +79,15 @@ You can also configure allowed IP addresses for an individual organization. For ### Adding an allowed IP address +{% data reusables.identity-and-permissions.about-adding-ip-allow-list-entries %} + {% data reusables.enterprise-accounts.access-enterprise %} {% data reusables.enterprise-accounts.settings-tab %} {% data reusables.enterprise-accounts.security-tab %} {% data reusables.identity-and-permissions.ip-allow-lists-add-ip %} {% data reusables.identity-and-permissions.ip-allow-lists-add-description %} {% data reusables.identity-and-permissions.ip-allow-lists-add-entry %} +{% data reusables.identity-and-permissions.check-ip-address %} ### Allowing access by {% data variables.product.prodname_github_apps %} @@ -92,6 +95,8 @@ You can also configure allowed IP addresses for an individual organization. For ### Enabling allowed IP addresses +{% data reusables.identity-and-permissions.about-enabling-allowed-ip-addresses %} + {% data reusables.enterprise-accounts.access-enterprise %} {% data reusables.enterprise-accounts.settings-tab %} {% data reusables.enterprise-accounts.security-tab %} @@ -101,6 +106,8 @@ You can also configure allowed IP addresses for an individual organization. For ### Editing an allowed IP address +{% data reusables.identity-and-permissions.about-editing-ip-allow-list-entries %} + {% data reusables.enterprise-accounts.access-enterprise %} {% data reusables.enterprise-accounts.settings-tab %} {% data reusables.enterprise-accounts.security-tab %} @@ -108,6 +115,18 @@ You can also configure allowed IP addresses for an individual organization. For {% data reusables.identity-and-permissions.ip-allow-lists-edit-ip %} {% data reusables.identity-and-permissions.ip-allow-lists-edit-description %} 8. Click **Update**. +{% data reusables.identity-and-permissions.check-ip-address %} + +{% ifversion ip-allow-list-address-check %} +### Checking if an IP address is permitted + +{% data reusables.identity-and-permissions.about-checking-ip-address %} + +{% data reusables.enterprise-accounts.access-enterprise %} +{% data reusables.enterprise-accounts.settings-tab %} +{% data reusables.enterprise-accounts.security-tab %} +{% data reusables.identity-and-permissions.check-ip-address-step %} +{% endif %} ### Deleting an allowed IP address diff --git a/translations/es-ES/content/admin/policies/enforcing-policies-for-your-enterprise/enforcing-repository-management-policies-in-your-enterprise.md b/translations/es-ES/content/admin/policies/enforcing-policies-for-your-enterprise/enforcing-repository-management-policies-in-your-enterprise.md index 9907694777..f3bb543201 100644 --- a/translations/es-ES/content/admin/policies/enforcing-policies-for-your-enterprise/enforcing-repository-management-policies-in-your-enterprise.md +++ b/translations/es-ES/content/admin/policies/enforcing-policies-for-your-enterprise/enforcing-repository-management-policies-in-your-enterprise.md @@ -71,24 +71,28 @@ Si un propietario de empresa deja de permitir que los miembros de ésta creen ci {% endif %} -## Requerir una política para los permisos {% ifversion ghec or ghes or ghae %}base{% else %}predeterminados{% endif %} del repositorio +## Enforcing a policy for base repository permissions -En todas las organizaciones que pertenezcan a tu empresa, puedes configurar un nivel de permisos {% ifversion ghec or ghes or ghae %}base{% else %}predeterminado{% endif %} de los repositorios (ninguno, lectura, escritura o administración) para los miembros organizacionales o permitir que los propietarios administren el ajuste a nivel de organización. +Across all organizations owned by your enterprise, you can set a base repository permission level (none, read, write, or admin) for organization members, or allow owners to administer the setting on the organization level. {% data reusables.enterprise-accounts.access-enterprise %} {% data reusables.enterprise-accounts.policies-tab %} {% data reusables.enterprise-accounts.repositories-tab %} -4. Debajo de "permisos {% ifversion ghec or ghes or ghae %}base{% else %}predeterminados{% endif %}", revisa la información sobre cómo cambiar el ajuste. {% data reusables.enterprise-accounts.view-current-policy-config-orgs %} -5. Debajo de "Permisos{% ifversion ghec or ghes or ghae %}base{% else %}predeterminados{% endif %}", utiliza el menú desplegable y elige una política. - {% ifversion ghec or ghes or ghae %} - ![Menú desplegable con opciones de políticas de permisos de repositorios](/assets/images/help/business-accounts/repository-permissions-policy-drop-down.png) - {% else %} - ![Menú desplegable con opciones de políticas de permisos de repositorios](/assets/images/enterprise/business-accounts/repository-permissions-policy-drop-down.png) - {% endif %} +4. Under "Base permissions", review the information about changing the setting. {% data reusables.enterprise-accounts.view-current-policy-config-orgs %} +5. En "Permisos base", usa el menú desplegable y elige una política. ![Menú desplegable con opciones de políticas de permisos de repositorios](/assets/images/help/business-accounts/repository-permissions-policy-drop-down.png) + ## Requerir una política para la creación de repositorios -En todas las organizaciones que le pertenecen a tu empresa, puedes permitir que los miembros creen repositorios, restringir la creación de repositorios para los propietarios de la organización o permitir que los propietarios administren los ajustes en el nivel de la organización. Si permites que los miembros creen repositorios, puedes decidir si pueden crear cualquier combinación de repositorios públicos, privados e internos. {% data reusables.repositories.internal-repo-default %} Para obtener más información acerca de los repositorios internos, consulta "[Crear un repositorio interno](/articles/creating-an-internal-repository)". +En todas las organizaciones que le pertenecen a tu empresa, puedes permitir que los miembros creen repositorios, restringir la creación de repositorios para los propietarios de la organización o permitir que los propietarios administren los ajustes en el nivel de la organización. + +If you allow members to create repositories in your organizations, you can choose which types of repositories (public, private, and internal) that members can create. + +{% ifversion enterprise-namespace-repo-setting %} +{% ifversion ghec %}If your enterprise uses {% data variables.product.prodname_emus %}, you{% else %}You{% endif %} can also prevent users from creating repositories owned by their user accounts. +{% endif %} + +{% data reusables.repositories.internal-repo-default %} Para obtener más información acerca de los repositorios internos, consulta "[Crear un repositorio interno](/articles/creating-an-internal-repository)". {% data reusables.organizations.repo-creation-constants %} @@ -96,33 +100,32 @@ En todas las organizaciones que le pertenecen a tu empresa, puedes permitir que {% data reusables.enterprise-accounts.policies-tab %} {% data reusables.enterprise-accounts.repositories-tab %} 5. En "Creación de repositorio", revisa la información sobre cómo modificar los parámetros. {% data reusables.enterprise-accounts.view-current-policy-config-orgs %} -{% ifversion ghes or ghae or ghec %} {% data reusables.enterprise-accounts.repo-creation-policy %} -{% data reusables.enterprise-accounts.repo-creation-types %} -{% else %} -6. En "Creación de repositorios", usa el menú desplegable y elige una política. - - ![Menú desplegable con políticas para creación de repositorio](/assets/images/enterprise/site-admin-settings/repository-creation-drop-down.png) -{% endif %} +{% data reusables.enterprise-accounts.repo-creation-types %}{% ifversion enterprise-namespace-repo-setting %} +1. Optionally, {% ifversion ghec %}if your enterprise uses {% data variables.product.prodname_emus %} and you want {% endif %}to prevent enterprise members from creating repositories owned by their user accounts, select **Block the creation of user namespace repositories**. ![Screenshot showing the list of disabled options from forking policy](/assets/images/help/business-accounts/restrict-personal-namespace-enabled-setting.png){% endif %} ## Requerir una política para bifurcar repositorios privados o internos En todas las organizaciones que pertenezcan a tu empresa, puedes permitir o prohibir la bifurcación de un repositorio privado o interno o permitir a los propietarios administrar la configuración a nivel organizacional para todos los que tengan acceso a éstos. +{% ifversion enterprise-namespace-repo-setting %} +{% note %} + +**Note:** If {% ifversion ghec %}your enterprise uses {% data variables.product.prodname_emus %} and {% endif %}your "Repository creation" policy prevents enterprise members from creating repositories owned by their user accounts, members will not be allowed to fork a repository in their user accounts, regardless of your "Repository forking" policy. + +{% endnote %} +{% endif %} + {% data reusables.enterprise-accounts.access-enterprise %} {% data reusables.enterprise-accounts.policies-tab %} {% data reusables.enterprise-accounts.repositories-tab %} 3. Debajo de "Bifurcación de repositorios", revisa la información sobre cómo cambiar el ajuste. {% data reusables.enterprise-accounts.view-current-policy-config-orgs %} 4. En "Bifurcación de repositorios", usa el menú desplegable y elige una política. - ![Menú desplegable con opciones de políticas de bifurcación de repositorios](/assets/images/help/business-accounts/repository-forking-policy-drop-down.png) - -{% ifversion innersource-fork-policies %} + ![Menú desplegable con opciones de políticas de bifurcación de repositorios](/assets/images/help/business-accounts/repository-forking-policy-drop-down.png){% ifversion innersource-fork-policies %} 5. Si se habilita la bifurcación, puedes especificar en dónde se permite que los usuarios bifurquen repositorios. Revisa la información sobre cómo cambiar el ajuste y elige una política. - ![Captura de pantalla que muestra la lista de opciones de políticas para bifurcar repositorios](/assets/images/help/business-accounts/repository-forking-policy-settings.png) -{% endif %} - + ![Captura de pantalla que muestra la lista de opciones de políticas para bifurcar repositorios](/assets/images/help/business-accounts/repository-forking-policy-settings.png){% endif %} ## Requerir una política para invitar colaboradores{% ifversion ghec %} externos{% endif %} a los repositorios @@ -140,8 +143,6 @@ En todas las organizaciones que pertenezcan a tu empresa, puedes permitir que lo ![Menú desplegable con opciones de política de invitación](/assets/images/enterprise/business-accounts/repository-invitation-policy-drop-down.png) {% endif %} -{% ifversion ghec or ghes or ghae %} - ## Requerir una política para el nombre de rama predeterminada Puedes configurar el nombre de rama predeterminada para cualquier repositorio miembro que creen los miembros en todas las organizaciones que pertenezcan a tu empresa. Puedes elegir el requerir un nombre de rama predeterminado a través de todas las organizaciones o permitir a algunas configurar un nombre diferente. @@ -152,8 +153,6 @@ Puedes configurar el nombre de rama predeterminada para cualquier repositorio mi 4. Opcionalmente, para requerir el nombre de rama predeterminado para todas las organizaciones en la empresa, selecciona **Requerir en toda la empresa**. ![Casilla de requerir](/assets/images/help/business-accounts/default-branch-name-enforce.png) 5. Da clic en **Actualizar**. ![Botón de actualizar](/assets/images/help/business-accounts/default-branch-name-update.png) -{% endif %} - ## Requerir una política para los cambios a la visibilidad del repositorio En todas las organizaciones que pertenezcan a tu empresa, puedes permitir que los miembros con acceso administrativo cambien la visibilidad de un repositorio, restrinjan los cambios de visibilidad del mismo a los propietarios de la organización o que permitan que los propietarios administren el ajuste a nivel organizacional. Cuando no permites que los miembros cambien la visibilidad del repositroio, únicamente los propietarios de la empresa podrán hacerlo. @@ -163,9 +162,8 @@ Si un propietario de empresa restringió la creación de repositorios en la mism {% data reusables.enterprise-accounts.access-enterprise %} {% data reusables.enterprise-accounts.policies-tab %} {% data reusables.enterprise-accounts.repositories-tab %} -5. En "Modificar visibilidad del repositorio", revisa la información sobre cómo modificar los parámetros. {% data reusables.enterprise-accounts.view-current-policy-config-orgs %} - -{% data reusables.enterprise-accounts.repository-visibility-policy %} +1. En "Modificar visibilidad del repositorio", revisa la información sobre cómo modificar los parámetros. {% data reusables.enterprise-accounts.view-current-policy-config-orgs %} +1. Debajo de "Repository visibility change" (Cambio de visibilidad de repositorios), usa el menú desplegable y elige una política. ![Menú desplegable con opciones de políticas de visibilidad de repositorios](/assets/images/help/business-accounts/repository-visibility-policy-drop-down.png) ## Requerir una política para el borrado y transferencia de repositorios diff --git a/translations/es-ES/content/authentication/connecting-to-github-with-ssh/about-ssh.md b/translations/es-ES/content/authentication/connecting-to-github-with-ssh/about-ssh.md index 55caa8e709..e43c7b420f 100644 --- a/translations/es-ES/content/authentication/connecting-to-github-with-ssh/about-ssh.md +++ b/translations/es-ES/content/authentication/connecting-to-github-with-ssh/about-ssh.md @@ -1,6 +1,6 @@ --- title: Acerca de SSH -intro: 'Usando el protocolo SSH, te puedes conectar y autenticar con servicios y servidores remotos. Con las llaves SSH puedes conectarte a {% data variables.product.product_name %} sin proporcionar tu nombre de usuario y token de acceso personal en cada visita.' +intro: 'Usando el protocolo SSH, te puedes conectar y autenticar con servicios y servidores remotos. With SSH keys, you can connect to {% data variables.product.product_name %} without supplying your username and personal access token at each visit.{% ifversion ssh-commit-verification %} You can also use an SSH key to sign commits.{% endif %}' redirect_from: - /articles/about-ssh - /github/authenticating-to-github/about-ssh @@ -16,7 +16,7 @@ topics: {% data reusables.ssh.about-ssh %} Para obtener más información sobre SSH, consulta la página de [Secure Shell](https://en.wikipedia.org/wiki/Secure_Shell) en Wikipedia. -Cuando configuras SSH, necesitarás generar una llave SSH privada nueva y agregarla al agente SSH. También debes agregar la llave SSH pública a tu cuenta en {% data variables.product.product_name %} antes de que utilices la llave para autenticarte. Para obtener más información, consulta las secciones "[Generar una llave SSH nueva y agregarla al ssh-agent](/github/authenticating-to-github/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent)" y "[Agregar una llave SSH nueva a tu cuenta de {% data variables.product.prodname_dotcom %}](/github/authenticating-to-github/adding-a-new-ssh-key-to-your-github-account)". +Cuando configuras SSH, necesitarás generar una llave SSH privada nueva y agregarla al agente SSH. You must also add the public SSH key to your account on {% data variables.product.product_name %} before you use the key to authenticate{% ifversion ssh-commit-verification %} or sign commits{% endif %}. For more information, see "[Generating a new SSH key and adding it to the ssh-agent](/github/authenticating-to-github/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent)"{% ifversion ssh-commit-verification %}, {% else %} and{% endif %} "[Adding a new SSH key to your {% data variables.product.prodname_dotcom %} account](/github/authenticating-to-github/adding-a-new-ssh-key-to-your-github-account){% ifversion ssh-commit-verification %}" and "[About commit signature verification](/articles/about-commit-signature-verification){% endif %}." Puedes asegurar tu llave SSH aún más si utilizas una llave de seguridad de hardware, la cual requiere que esta última se conecte físicamente a tu computadora cuando se utilice el par de llaves para autenticarte con SSH. También puedes asegurar tu llave SSH si la agregas al ssh-agent y utiliza una contraseña. Para obtener más información, consulta la sección "[Trabajar con frases de acceso con llave SSH](/github/authenticating-to-github/working-with-ssh-key-passphrases)". @@ -33,7 +33,6 @@ Las organizaciones que utilizan {% data variables.product.prodname_ghe_cloud %} {% else ghec or ghes or ghae %} Si eres miembro de una organización que provee certificados SSH, puedes usar tu certificado para acceder a los repositorios de esa organización sin agregar el certificado a tu cuenta de {% data variables.product.product_name %}. No puedes utilizar tu certificado para acceder a las bifurcaciones de los repositorios de la organización si estas bifurcaciones le pertenecen a tu cuenta personal. Para obtener más información, consulta la sección [Acerca de las autoridades de certificados SSH](/organizations/managing-git-access-to-your-organizations-repositories/about-ssh-certificate-authorities)". {% endif %} - ## Leer más - "[Solucionar problemas de SSH](/articles/troubleshooting-ssh)" diff --git a/translations/es-ES/content/authentication/connecting-to-github-with-ssh/adding-a-new-ssh-key-to-your-github-account.md b/translations/es-ES/content/authentication/connecting-to-github-with-ssh/adding-a-new-ssh-key-to-your-github-account.md index 0d0d83bc2c..a4569d589d 100644 --- a/translations/es-ES/content/authentication/connecting-to-github-with-ssh/adding-a-new-ssh-key-to-your-github-account.md +++ b/translations/es-ES/content/authentication/connecting-to-github-with-ssh/adding-a-new-ssh-key-to-your-github-account.md @@ -19,6 +19,8 @@ shortTitle: Add a new SSH key {% data reusables.ssh.about-ssh %} For more information, see "[About SSH](/authentication/connecting-to-github-with-ssh/about-ssh)." +{% ifversion ssh-commit-verification %}You can also use SSH to sign commits and tags. For more information about commit signing, see "[About commit signature verification](/articles/about-commit-signature-verification)."{% endif %} + After you generate an SSH key pair, you must add the public key to {% ifversion fpt or ghec or ghes %}{% data variables.product.product_location %}{% elsif ghae %}{% data variables.product.product_name %}{% endif %} to enable SSH access for your account. ## Prerequisites @@ -30,120 +32,46 @@ Before adding a new SSH key to your account on {% ifversion ghae %}{% data varia ## Adding a new SSH key to your account -After adding a new SSH key to your account on {% ifversion ghae %}{% data variables.product.product_name %}{% else %}{% data variables.product.product_location %}{% endif %}, you can reconfigure any local repositories to use SSH. For more information, see "[Switching remote URLs from HTTPS to SSH](/github/getting-started-with-github/managing-remote-repositories/#switching-remote-urls-from-https-to-ssh)." +After adding a new SSH authentication key to your account on {% ifversion ghae %}{% data variables.product.product_name %}{% else %}{% data variables.product.product_location %}{% endif %}, you can reconfigure any local repositories to use SSH. For more information, see "[Switching remote URLs from HTTPS to SSH](/github/getting-started-with-github/managing-remote-repositories/#switching-remote-urls-from-https-to-ssh)." {% data reusables.ssh.key-type-support %} -{% mac %} - {% webui %} -1. Copy the SSH public key to your clipboard. - - If your SSH public key file has a different name than the example code, modify the filename to match your current setup. When copying your key, don't add any newlines or whitespace. - - ```shell - $ pbcopy < ~/.ssh/id_{% ifversion ghae %}rsa{% else %}ed25519{% endif %}.pub - # Copies the contents of the id_{% ifversion ghae %}rsa{% else %}ed25519{% endif %}.pub file to your clipboard - ``` - - {% tip %} - - **Tip:** If `pbcopy` isn't working, you can locate the hidden `.ssh` folder, open the file in your favorite text editor, and copy it to your clipboard. - - {% endtip %} - +{% data reusables.gpg.copy-ssh-public-key %} {% data reusables.user-settings.access_settings %} {% data reusables.user-settings.ssh %} 4. Click **New SSH key** or **Add SSH key**. +{% ifversion ssh-commit-verification %} + ![SSH Key button](/assets/images/help/settings/ssh-add-ssh-key-with-auth.png) +{% else %} ![SSH Key button](/assets/images/help/settings/ssh-add-ssh-key.png) -5. In the "Title" field, add a descriptive label for the new key. For example, if you're using a personal Mac, you might call this key "Personal MacBook Air". -6. Paste your key into the "Key" field. +{% endif %} +5. In the "Title" field, add a descriptive label for the new key. For example, if you're using a personal laptop, you might call this key "Personal laptop". +{% ifversion ssh-commit-verification %} +6. Select the type of key, either authentication or signing. For more information about commit signing, see "[About commit signature verification](/articles/about-commit-signature-verification)." +{% endif %} +7. Paste your key into the "Key" field. +{% ifversion ssh-commit-verification %} + ![The key field](/assets/images/help/settings/ssh-key-paste-with-type.png) +{% else %} ![The key field](/assets/images/help/settings/ssh-key-paste.png) -7. Click **Add SSH key**. +{% endif %} +8. Click **Add SSH key**. ![The Add key button](/assets/images/help/settings/ssh-add-key.png) {% data reusables.user-settings.sudo-mode-popup %} {% endwebui %} -{% endmac %} - -{% windows %} - -{% webui %} - -1. Copy the SSH public key to your clipboard. - - If your SSH public key file has a different name than the example code, modify the filename to match your current setup. When copying your key, don't add any newlines or whitespace. - - ```shell - $ clip < ~/.ssh/id_{% ifversion ghae %}rsa{% else %}ed25519{% endif %}.pub - # Copies the contents of the id_{% ifversion ghae %}rsa{% else %}ed25519{% endif %}.pub file to your clipboard - ``` - - {% tip %} - - **Tip:** If `clip` isn't working, you can locate the hidden `.ssh` folder, open the file in your favorite text editor, and copy it to your clipboard. - - {% endtip %} - -{% data reusables.user-settings.access_settings %} -{% data reusables.user-settings.ssh %} -4. Click **New SSH key** or **Add SSH key**. - ![SSH Key button](/assets/images/help/settings/ssh-add-ssh-key.png) -5. In the "Title" field, add a descriptive label for the new key. For example, if you're using a personal Mac, you might call this key "Personal MacBook Air". -6. Paste your key into the "Key" field. - ![The key field](/assets/images/help/settings/ssh-key-paste.png) -7. Click **Add SSH key**. - ![The Add key button](/assets/images/help/settings/ssh-add-key.png) -{% data reusables.user-settings.sudo-mode-popup %} - -{% endwebui %} - -{% endwindows %} - -{% linux %} - -{% webui %} - -1. Copy the SSH public key to your clipboard. - - If your SSH public key file has a different name than the example code, modify the filename to match your current setup. When copying your key, don't add any newlines or whitespace. - - ```shell - $ cat ~/.ssh/id_{% ifversion ghae %}rsa{% else %}ed25519{% endif %}.pub - # Then select and copy the contents of the id_{% ifversion ghae %}rsa{% else %}ed25519{% endif %}.pub file - # displayed in the terminal to your clipboard - ``` - - {% tip %} - - **Tip:** Alternatively, you can locate the hidden `.ssh` folder, open the file in your favorite text editor, and copy it to your clipboard. - - {% endtip %} - -{% data reusables.user-settings.access_settings %} -{% data reusables.user-settings.ssh %} -4. Click **New SSH key** or **Add SSH key**. - ![SSH Key button](/assets/images/help/settings/ssh-add-ssh-key.png) -5. In the "Title" field, add a descriptive label for the new key. For example, if you're using a personal Mac, you might call this key "Personal MacBook Air". -6. Paste your key into the "Key" field. - ![The key field](/assets/images/help/settings/ssh-key-paste.png) -7. Click **Add SSH key**. - ![The Add key button](/assets/images/help/settings/ssh-add-key.png) -{% data reusables.user-settings.sudo-mode-popup %} - -{% endwebui %} - -{% endlinux %} - {% cli %} {% data reusables.cli.cli-learn-more %} Before you can use the {% data variables.product.prodname_cli %} to add an SSH key to your account, you must authenticate to the {% data variables.product.prodname_cli %}. For more information, see [`gh auth login`](https://cli.github.com/manual/gh_auth_login) in the {% data variables.product.prodname_cli %} documentation. -To add an SSH key to your GitHub account, use the `ssh-key add` subcommand, specifying your public key. +{% ifversion ssh-commit-verification %}At present, you can only use {% data variables.product.prodname_cli %} to add SSH authentication keys, you cannot add SSH signing keys.{% endif %} + +To add an SSH authentication key to your GitHub account, use the `ssh-key add` subcommand, specifying your public key. ```shell gh ssh-key add key-file diff --git a/translations/es-ES/content/authentication/managing-commit-signature-verification/about-commit-signature-verification.md b/translations/es-ES/content/authentication/managing-commit-signature-verification/about-commit-signature-verification.md index adb05a61f9..b2287d3a5e 100644 --- a/translations/es-ES/content/authentication/managing-commit-signature-verification/about-commit-signature-verification.md +++ b/translations/es-ES/content/authentication/managing-commit-signature-verification/about-commit-signature-verification.md @@ -1,6 +1,6 @@ --- title: About commit signature verification -intro: 'Using GPG or S/MIME, you can sign tags and commits locally. These tags or commits are marked as verified on {% data variables.product.product_name %} so other people can be confident that the changes come from a trusted source.' +intro: 'Using GPG{% ifversion ssh-commit-verification %}, SSH,{% endif %} or S/MIME, you can sign tags and commits locally. These tags or commits are marked as verified on {% data variables.product.product_name %} so other people can be confident that the changes come from a trusted source.' redirect_from: - /articles/about-gpg-commit-and-tag-signatures - /articles/about-gpg @@ -19,10 +19,18 @@ shortTitle: Commit signature verification --- ## About commit signature verification -You can sign commits and tags locally, to give other people confidence about the origin of a change you have made. If a commit or tag has a GPG or S/MIME signature that is cryptographically verifiable, GitHub marks the commit or tag {% ifversion fpt or ghec %}"Verified" or "Partially verified."{% else %}"Verified."{% endif %} +You can sign commits and tags locally, to give other people confidence about the origin of a change you have made. If a commit or tag has a GPG{% ifversion ssh-commit-verification %}, SSH,{% endif %} or S/MIME signature that is cryptographically verifiable, {% data variables.product.product_name %} marks the commit or tag {% ifversion fpt or ghec %}"Verified" or "Partially verified."{% else %}"Verified."{% endif %} ![Verified commit](/assets/images/help/commits/verified-commit.png) +{% ifversion ghes or ghae %} +If a commit or tag has a signature that can't be verified, {% data variables.product.product_name %} marks the commit or tag "Unverified." +{% endif %} + +{% ifversion ssh-commit-verification %} +For most individual users, GPG or SSH will be the best choice for signing commits. S/MIME signatures are usually required in the context of a larger organization. SSH signatures are the simplest to generate. You can even upload your existing authentication key to {% data variables.product.product_name %} to also use as a signing key. Generating a GPG signing key is more involved than generating an SSH key, but GPG has features that SSH does not. A GPG key can expire or be revoked when no longer used. {% data variables.product.product_name %} shows commits that were signed with such a key as "Verified" unless the key was marked as compromised. SSH keys don't have this capability. +{% endif %} + {% ifversion fpt or ghec %} Commits and tags have the following verification statuses, depending on whether you have enabled vigilant mode. By default vigilant mode is not enabled. For information on how to enable vigilant mode, see "[Displaying verification statuses for all of your commits](/github/authenticating-to-github/displaying-verification-statuses-for-all-of-your-commits)." @@ -47,10 +55,9 @@ For more information, see "[Rebasing and merging your commits](/repositories/con {% data reusables.identity-and-permissions.vigilant-mode-verification-statuses %} -{% else %} -If a commit or tag has a signature that can't be verified, {% data variables.product.product_name %} marks the commit or tag "Unverified." {% endif %} + Repository administrators can enforce required commit signing on a branch to block all commits that are not signed and verified. For more information, see "[About protected branches](/github/administering-a-repository/about-protected-branches#require-signed-commits)." {% data reusables.identity-and-permissions.verification-status-check %} @@ -59,7 +66,7 @@ Repository administrators can enforce required commit signing on a branch to blo {% ifversion ghes %}If a site administrator has enabled web commit signing, {% data variables.product.product_name %} will automatically use GPG to sign commits you make using the web interface. Commits signed by {% data variables.product.product_name %} will have a verified status. You can verify the signature locally using the public key available at `https://HOSTNAME/web-flow.gpg`. For more information, see "[Configuring web commit signing](/admin/configuration/configuring-your-enterprise/configuring-web-commit-signing)." {% else %}{% data variables.product.prodname_dotcom %} will automatically use GPG to sign commits you make using the web interface. Commits signed by {% data variables.product.prodname_dotcom %} will have a verified status. You can verify the signature locally using the public key available at https://github.com/web-flow.gpg. The full fingerprint of the key is `5DE3 E050 9C47 EA3C F04A 42D3 4AEE 18F8 3AFD EB23`. -You can optionally choose to have {% data variables.product.prodname_dotcom %} sign commits you make in {% data variables.product.prodname_github_codespaces %}. For more information about enabling GPG verification for your codespaces, see "[Managing GPG verification for {% data variables.product.prodname_github_codespaces %}](/codespaces/managing-your-codespaces/managing-gpg-verification-for-github-codespaces)."{% endif %} +You can optionally choose to have {% data variables.product.prodname_dotcom %} GPG sign commits you make in {% data variables.product.prodname_github_codespaces %}. For more information about enabling GPG verification for your codespaces, see "[Managing GPG verification for {% data variables.product.prodname_github_codespaces %}](/codespaces/managing-your-codespaces/managing-gpg-verification-for-github-codespaces)."{% endif %} {% endif %} ## GPG commit signature verification @@ -77,6 +84,26 @@ To sign commits using GPG and have those commits verified on {% data variables.p 5. [Sign commits](/articles/signing-commits) 6. [Sign tags](/articles/signing-tags) +{% ifversion ssh-commit-verification %} +## SSH commit signature verification + +You can use SSH to sign commits with an SSH public key that you generate yourself. If you already use an SSH key to authenticate with {% data variables.product.product_name %}, +you can also upload that same key again for use as a signing key. There's no limit on the number of signing keys you can add to your account. + +{% data variables.product.product_name %} uses [ssh_data](https://github.com/github/ssh_data), an open source Ruby library, to confirm that your locally signed commits and tags are cryptographically verifiable against a public key you have added to your account on {% ifversion ghae %}{% data variables.product.product_name %}{% else %}{% data variables.product.product_location %}{% endif %}. + +{% data reusables.gpg.ssh-git-version %} + +To sign commits using SSH and have those commits verified on {% data variables.product.product_name %}, follow these steps: + +1. [Check for existing SSH keys](/articles/checking-for-existing-ssh-keys) +2. [Generate a new SSH key](/articles/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent) +3. [Add a SSH signing key to your GitHub account](/articles/adding-a-new-ssh-key-to-your-github-account) +4. [Tell Git about your signing key](/articles/telling-git-about-your-signing-key) +5. [Sign commits](/articles/signing-commits) +6. [Sign tags](/articles/signing-tags) + +{% endif %} ## S/MIME commit signature verification You can use S/MIME to sign commits with an X.509 key issued by your organization. diff --git a/translations/es-ES/content/authentication/managing-commit-signature-verification/displaying-verification-statuses-for-all-of-your-commits.md b/translations/es-ES/content/authentication/managing-commit-signature-verification/displaying-verification-statuses-for-all-of-your-commits.md index 27205863ec..3e6af65879 100644 --- a/translations/es-ES/content/authentication/managing-commit-signature-verification/displaying-verification-statuses-for-all-of-your-commits.md +++ b/translations/es-ES/content/authentication/managing-commit-signature-verification/displaying-verification-statuses-for-all-of-your-commits.md @@ -19,7 +19,7 @@ redirect_from: Cuando trabajas localmente en tu computadora, Git te permite configurar el autor de tus cambios y la identidad del confirmante. Esto, potencialmente, dificulta que otras personas tengan la confimansa de que realmente hayas creado tus etiquetas y confirmaciones. Para ayudarte a resolver este problema, puedes firmar tus confirmaciones y etiquetas. Para obtener más información, consulta la sección "[Firmar confirmaciones](/github/authenticating-to-github/signing-commits)" y "[Firmar etiquetas](/github/authenticating-to-github/signing-tags)". {% data variables.product.prodname_dotcom %} marca las etiquetas y confirmaciones firmadas con un estado de verificación. -Predeterminadamente, las confirmaciones y etiquetas se marcan como "Verificadas" si se firman con una llave GPG o S/MIME que se verificó con éxito. Si una confirmación o etiqueta tiene una firma que no puede verificar {% data variables.product.prodname_dotcom %}, la marcaremos como "No verificada". En el resto de los casos, no se muestra un estado de verificación. +By default commits and tags are marked "Verified" if they are signed with a GPG{% ifversion ssh-commit-verification %}, SSH,{% endif %} or S/MIME key that was successfully verified. Si una confirmación o etiqueta tiene una firma que no puede verificar {% data variables.product.prodname_dotcom %}, la marcaremos como "No verificada". En el resto de los casos, no se muestra un estado de verificación. Sin embargo, puedes proporcionar aún más confianza a otros usuarios sobre la identidad que se atribuye a tus confirmaciones y etiquetas si habilitas el modo vigilanten en tu configuración de {% data variables.product.prodname_dotcom %}. Cuando tienes habilitado el modo vigilante, todas tus confirmaciones y etiquetas se marcan con uno de tres estados de verificación. diff --git a/translations/es-ES/content/authentication/managing-commit-signature-verification/index.md b/translations/es-ES/content/authentication/managing-commit-signature-verification/index.md index cc874bcb11..cdf16d7b2d 100644 --- a/translations/es-ES/content/authentication/managing-commit-signature-verification/index.md +++ b/translations/es-ES/content/authentication/managing-commit-signature-verification/index.md @@ -1,6 +1,6 @@ --- title: Administrar la verificación de firma de confirmación de cambios -intro: 'Puedes firmar tu trabajo localmente utilizando GPG o S/MIME. {% data variables.product.product_name %} verificará estas firmas para que otras personas sepan que tus confirmaciones de cambios provienen de una fuente confiable.{% ifversion fpt %} {% data variables.product.product_name %} firmará de forma automática las confirmaciones de cambios que realices utilizando la interfaz web {% data variables.product.product_name %}.{% endif %}' +intro: '{% data variables.product.product_name %} will verify GPG{% ifversion ssh-commit-verification %}, SSH,{% endif %} or S/MIME signatures so other people will know that your commits come from a trusted source.{% ifversion fpt %} {% data variables.product.product_name %} will automatically sign commits you make using the {% data variables.product.product_name %} web interface.{% endif %}' redirect_from: - /articles/generating-a-gpg-key - /articles/signing-commits-with-gpg diff --git a/translations/es-ES/content/authentication/managing-commit-signature-verification/signing-commits.md b/translations/es-ES/content/authentication/managing-commit-signature-verification/signing-commits.md index 912baf0ee2..e3f02babc3 100644 --- a/translations/es-ES/content/authentication/managing-commit-signature-verification/signing-commits.md +++ b/translations/es-ES/content/authentication/managing-commit-signature-verification/signing-commits.md @@ -1,6 +1,6 @@ --- title: Firmar confirmaciones -intro: Puedes firmar las confirmaciones localmente utilizando GPG o S/MIME. +intro: 'Puedes firmar las confirmaciones localmente utilizando GPG{% ifversion ssh-commit-verification %}, SSH,{% endif %} o S/MIME.' redirect_from: - /articles/signing-commits-and-tags-using-gpg - /articles/signing-commits-using-gpg @@ -52,9 +52,5 @@ Si tienes múltiples llaves o estás intentando firmar confirmaciones o etiqueta ## Leer más -* "[Comprobar llaves GPG existentes](/articles/checking-for-existing-gpg-keys)" -* "[Generar una llave GPG nueva](/articles/generating-a-new-gpg-key)" -* "[Agregar una llave GPG a tu cuenta de GitHub](/articles/adding-a-gpg-key-to-your-github-account)" * "[Informar a Git sobre tu llave de firma](/articles/telling-git-about-your-signing-key)" -* "[Asociar un correo electrónico con tu llave GPG](/articles/associating-an-email-with-your-gpg-key)" * "[Firmar etiquetas](/articles/signing-tags)" diff --git a/translations/es-ES/content/authentication/managing-commit-signature-verification/signing-tags.md b/translations/es-ES/content/authentication/managing-commit-signature-verification/signing-tags.md index cafb07beec..576223480e 100644 --- a/translations/es-ES/content/authentication/managing-commit-signature-verification/signing-tags.md +++ b/translations/es-ES/content/authentication/managing-commit-signature-verification/signing-tags.md @@ -1,6 +1,6 @@ --- title: Firmar etiquetas -intro: Puedes firmar las etiquetas localmente utilizando GPG o S/MIME. +intro: 'You can sign tags locally using GPG{% ifversion ssh-commit-verification %}, SSH,{% endif %} or S/MIME.' redirect_from: - /articles/signing-tags-using-gpg - /articles/signing-tags @@ -32,9 +32,6 @@ topics: ## Leer más - [Ver las etiquetas de tu repositorio](/articles/viewing-your-repositorys-tags)" -- "[Comprobar llaves GPG existentes](/articles/checking-for-existing-gpg-keys)" -- "[Generar una llave GPG nueva](/articles/generating-a-new-gpg-key)" -- "[Agregar una llave GPG a tu cuenta de GitHub](/articles/adding-a-gpg-key-to-your-github-account)" - "[Informar a Git sobre tu llave de firma](/articles/telling-git-about-your-signing-key)" - "[Asociar un correo electrónico con tu llave GPG](/articles/associating-an-email-with-your-gpg-key)" - "[Firmar confirmaciones](/articles/signing-commits)" diff --git a/translations/es-ES/content/authentication/managing-commit-signature-verification/telling-git-about-your-signing-key.md b/translations/es-ES/content/authentication/managing-commit-signature-verification/telling-git-about-your-signing-key.md index 426c771f8d..6fd5e87f3b 100644 --- a/translations/es-ES/content/authentication/managing-commit-signature-verification/telling-git-about-your-signing-key.md +++ b/translations/es-ES/content/authentication/managing-commit-signature-verification/telling-git-about-your-signing-key.md @@ -1,6 +1,6 @@ --- title: Informarle a Git acerca de tu clave de firma -intro: 'Para firmar las confirmaciones localmente, necesitas informar a Git que hay una llave de GPG o X.509 que quieres utilizar.' +intro: 'To sign commits locally, you need to inform Git that there''s a GPG{% ifversion ssh-commit-verification %}, SSH,{% endif %} or X.509 key you''d like to use.' redirect_from: - /articles/telling-git-about-your-gpg-key - /articles/telling-git-about-your-signing-key @@ -52,8 +52,6 @@ Si tienes múltiples llaves GPG, le debes decir a Git cuál utilizar. $ killall gpg-agent ``` -{% data reusables.gpg.x-509-key %} - {% endmac %} {% windows %} @@ -75,8 +73,6 @@ Si tienes múltiples llaves GPG, le debes decir a Git cuál utilizar. {% data reusables.gpg.copy-gpg-key-id %} {% data reusables.gpg.paste-gpg-key-id %} -{% data reusables.gpg.x-509-key %} - {% endwindows %} {% linux %} @@ -101,15 +97,25 @@ Si tienes múltiples llaves GPG, le debes decir a Git cuál utilizar. ```bash $ [ -f ~/.bashrc ] && echo 'export GPG_TTY=$(tty)' >> ~/.bashrc ``` - {% endlinux %} +{% ifversion ssh-commit-verification %} +## Telling Git about your SSH key + +You can use an existing SSH key to sign commits and tags, or generate a new one specifically for signing. Para obtener más información, consulta "[Generar una nueva llave SSH y agregarla a ssh-agent](/github/authenticating-to-github/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent)." + +{% data reusables.gpg.ssh-git-version %} + +{% data reusables.command_line.open_the_multi_os_terminal %} +{% data reusables.gpg.configure-ssh-signing %} +{% data reusables.gpg.copy-ssh-public-key %} +{% data reusables.gpg.paste-ssh-public-key %} + +{% endif %} + +{% data reusables.gpg.x-509-key %} ## Leer más -- "[Comprobar llaves GPG existentes](/articles/checking-for-existing-gpg-keys)" -- "[Generar una llave GPG nueva](/articles/generating-a-new-gpg-key)" -- "[Utilizar una dirección de correo electrónico verificada en tu llave GPG](/articles/using-a-verified-email-address-in-your-gpg-key)" -- "[Agregar una llave GPG a tu cuenta de GitHub](/articles/adding-a-gpg-key-to-your-github-account)" -- "[Asociar un correo electrónico con tu llave GPG](/articles/associating-an-email-with-your-gpg-key)" +- "[Adding a new SSH key to your GitHub account](/github/authenticating-to-github/adding-a-new-ssh-key-to-your-github-account)." - "[Firmar confirmaciones](/articles/signing-commits)" - "[Firmar etiquetas](/articles/signing-tags)" diff --git a/translations/es-ES/content/authentication/troubleshooting-commit-signature-verification/checking-your-commit-and-tag-signature-verification-status.md b/translations/es-ES/content/authentication/troubleshooting-commit-signature-verification/checking-your-commit-and-tag-signature-verification-status.md index 93de4440ac..9902de28a0 100644 --- a/translations/es-ES/content/authentication/troubleshooting-commit-signature-verification/checking-your-commit-and-tag-signature-verification-status.md +++ b/translations/es-ES/content/authentication/troubleshooting-commit-signature-verification/checking-your-commit-and-tag-signature-verification-status.md @@ -22,7 +22,10 @@ shortTitle: Verificar el estado de verificación 1. En {% data variables.product.product_name %}, desplázate hasta la solicitud de extracción. {% data reusables.repositories.review-pr-commits %} 3. Junto al hash de confirmación abreviado de tu confirmación, hay una casilla que te muestra si tu firma de confirmación se verificó{% ifversion fpt or ghec %}, se verificó parcialmente,{% endif %} o si no se verificó. ![Confirmación firmada](/assets/images/help/commits/gpg-signed-commit-verified-without-details.png) -4. Para ver información más detallada sobre la firma de confirmación, haz clic en **Verificada**{% ifversion fpt or ghec %}, **Verificada parcialmente**,{% endif %} o **Sin verificar**. ![Confirmación firmada verificada](/assets/images/help/commits/gpg-signed-commit_verified_details.png) +4. Para ver información más detallada sobre la firma de confirmación, haz clic en **Verificada**{% ifversion fpt or ghec %}, **Verificada parcialmente**,{% endif %} o **Sin verificar**. GPG signed commits will show the ID of the key that was used. ![Verified GPG signed commit](/assets/images/help/commits/gpg-signed-commit_verified_details.png) +{% ifversion ssh-commit-verification %} + SSH signed commits will show the signature of the public key that was used. ![Verified SSH signed commit](/assets/images/help/commits/ssh-signed-commit-verified-details.png) +{% endif %} ## Comprobar el estado de verificación de firma de la etiqueta diff --git a/translations/es-ES/content/billing/managing-billing-for-github-packages/about-billing-for-github-packages.md b/translations/es-ES/content/billing/managing-billing-for-github-packages/about-billing-for-github-packages.md index 7dbda8a14b..0a0aa5a1df 100644 --- a/translations/es-ES/content/billing/managing-billing-for-github-packages/about-billing-for-github-packages.md +++ b/translations/es-ES/content/billing/managing-billing-for-github-packages/about-billing-for-github-packages.md @@ -50,9 +50,9 @@ Todos los datos de transferencia saliente, cuando se desencadenan mediante {% da El uso de almacenamiento se comparte con los artefactos de compilación que produce {% data variables.product.prodname_actions %} para los repositorios que pertenecen a tu cuenta. Para obtener más información, consulta "[Acerca de la facturación para {% data variables.product.prodname_actions %}](/billing/managing-billing-for-github-actions/about-billing-for-github-actions)". -{% data variables.product.prodname_dotcom %} cobra el uso a la cuenta a la que pertenece el repositorio en donde se publica el paquete. Si tu uso de cuenta sobrepasa estos límites y configuraste un límite de gastos mayor a $0 USD, pagarás $0.25 USD por GB de almacenamiento por día y $0.50 USD por GB de transferencia de datos. +{% data variables.product.prodname_dotcom %} cobra el uso a la cuenta a la que pertenece el repositorio en donde se publica el paquete. Si tu uso de cuenta sobrepasa estos límites y configuraste un límite de gastos mayor a $0 USD, pagarás $0.008 USD por GB de almacenamiento por día y $0.50 USD por GB de transferencia de datos. -Por ejemplo, si tu organización utiliza {% data variables.product.prodname_team %}, permite los gastos ilimitados, utiliza 150GB de almacenamiento, y tiene 50GB de transferencia de datos durante un mes, ésta tendrá un excedente de 148GB en el almacenamiento y de 40GB en transferencia de datos para ese mes. El excedente de almacenamiento costaría $0.25 USD por GB por día o $37 USD. El excedente para transferencia de datos costaría $0.50 USD por GB, o $20 USD. +Por ejemplo, si tu organización utiliza {% data variables.product.prodname_team %}, permite los gastos ilimitados, utiliza 150GB de almacenamiento, y tiene 50GB de transferencia de datos durante un mes, ésta tendrá un excedente de 148GB en el almacenamiento y de 40GB en transferencia de datos para ese mes. El almacenamiento excedente costaría $0.008 USD por GB por día o, aproximadamente, $37 USD por un mes de 31 días. El excedente para transferencia de datos costaría $0.50 USD por GB, o $20 USD. {% data reusables.dotcom_billing.pricing_calculator.pricing_cal_packages %} diff --git a/translations/es-ES/content/billing/managing-your-license-for-github-enterprise/troubleshooting-license-usage-for-github-enterprise.md b/translations/es-ES/content/billing/managing-your-license-for-github-enterprise/troubleshooting-license-usage-for-github-enterprise.md index 3d0dd9028a..d378abebb8 100644 --- a/translations/es-ES/content/billing/managing-your-license-for-github-enterprise/troubleshooting-license-usage-for-github-enterprise.md +++ b/translations/es-ES/content/billing/managing-your-license-for-github-enterprise/troubleshooting-license-usage-for-github-enterprise.md @@ -14,7 +14,7 @@ shortTitle: Troubleshoot license usage ## About unexpected license usage -If the number of consumed licenses for your enterprise is unexpected, you can review your consumed license report to audit your license usage across all your enterprise deployments and subscriptions. For more information, see "[Viewing license usage for GitHub Enterprise](/billing/managing-your-license-for-github-enterprise/viewing-license-usage-for-github-enterprise)" and "[Viewing the subscription and usage for your enterprise account](/billing/managing-billing-for-your-github-account/viewing-the-subscription-and-usage-for-your-enterprise-account)." +If the number of consumed licenses for your enterprise is unexpected, you can review your consumed license report to audit your license usage across all your enterprise deployments and subscriptions. Para obtener más información, consulta la sección "[Ver el uso de licencia para GitHub Enterprise](/billing/managing-your-license-for-github-enterprise/viewing-license-usage-for-github-enterprise)" y "[Ver la suscripción y el uso de tu cuenta empresarial](/billing/managing-billing-for-your-github-account/viewing-the-subscription-and-usage-for-your-enterprise-account)". If you find errors, you can try troubleshooting steps. diff --git a/translations/es-ES/content/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/running-codeql-code-scanning-in-a-container.md b/translations/es-ES/content/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/running-codeql-code-scanning-in-a-container.md index a9fa55f11d..7cd2cdcc90 100644 --- a/translations/es-ES/content/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/running-codeql-code-scanning-in-a-container.md +++ b/translations/es-ES/content/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/running-codeql-code-scanning-in-a-container.md @@ -32,6 +32,12 @@ Si estás configurando el {% data variables.product.prodname_code_scanning %} pa Debes ejecutar a {% data variables.product.prodname_codeql %} dentro del mismo contenedor en el que compilaste tu código. Esto aplica a cuando utilizas el {% data variables.product.prodname_codeql_cli %}{% ifversion codeql-runner-supported %}, el {% data variables.product.prodname_codeql_runner %},{% endif %} o {% data variables.product.prodname_actions %}. Para el {% data variables.product.prodname_codeql_cli %} {% ifversion codeql-runner-supported %}o el {% data variables.product.prodname_codeql_runner %}{% endif %}, consulta la sección "[Instalar el {% data variables.product.prodname_codeql_cli %} en tu sistema de IC](/code-security/secure-coding/using-codeql-code-scanning-with-your-existing-ci-system/installing-codeql-cli-in-your-ci-system)"{% ifversion codeql-runner-supported %} o "[Ejecutar el {% data variables.product.prodname_codeql_runner %} en tu sistema de IC](/code-security/secure-coding/running-codeql-runner-in-your-ci-system)"{% endif %} para obtener más información. Si estás utilizando {% data variables.product.prodname_actions %}, configura tu flujo de trabajo para ejecutar todas las acciones en el mismo contenedor. Para obtener más información, consulta la sección "[Ejemplo de flujo de trabajo](#example-workflow)". +{% note %} + +**Nota:** {% data reusables.code-scanning.non-glibc-linux-support %} + +{% endnote %} + ## Dependencias Es posible que tengas alguna dificultad para ejecutar el {% data variables.product.prodname_code_scanning %} si el contenedor que estás utilizando carece de ciertas dependencias (Por ejemplo, Git debe instalarse y agregarse a la variable PATH). Si encuentras propuestas de dependencias, revisa la lista de software que habitualmente se incluye en las imágenes de los ejecutores de {% data variables.product.prodname_dotcom %}. Para obtener más información, consulta los archivos `readme` específicos de la versión en estas ubicaciones: diff --git a/translations/es-ES/content/code-security/dependabot/dependabot-alerts/configuring-dependabot-alerts.md b/translations/es-ES/content/code-security/dependabot/dependabot-alerts/configuring-dependabot-alerts.md index a717245b25..2e3b0e9caa 100644 --- a/translations/es-ES/content/code-security/dependabot/dependabot-alerts/configuring-dependabot-alerts.md +++ b/translations/es-ES/content/code-security/dependabot/dependabot-alerts/configuring-dependabot-alerts.md @@ -1,7 +1,7 @@ --- -title: Configuring Dependabot alerts -intro: 'Enable {% data variables.product.prodname_dependabot_alerts %} to be generated when a new vulnerable dependency {% ifversion GH-advisory-db-supports-malware %}or malware {% endif %}is found in one of your repositories.' -shortTitle: Configure Dependabot alerts +title: Configurar las alertas del Dependabot +intro: 'Habilita las {% data variables.product.prodname_dependabot_alerts %} para que se generen cuando una dependencia vulnerable nueva {% ifversion GH-advisory-db-supports-malware %}o malware {% endif %}se encuentre en uno de tus repositorios.' +shortTitle: Configurar las alertas del Dependabot versions: fpt: '*' ghes: '*' @@ -17,67 +17,67 @@ topics: - Repositories --- -## About {% data variables.product.prodname_dependabot_alerts %} for vulnerable dependencies{% ifversion GH-advisory-db-supports-malware %} and malware{% endif %} +## Acerca de las {% data variables.product.prodname_dependabot_alerts %} para las dependencias vulnerables{% ifversion GH-advisory-db-supports-malware %} y el malware{% endif %} {% data reusables.repositories.a-vulnerability-is %} -{% data variables.product.prodname_dependabot %} scans code when a new advisory is added to the {% data variables.product.prodname_advisory_database %} or the dependency graph for a repository changes. When vulnerable dependencies{% ifversion GH-advisory-db-supports-malware %} or malware{% endif %} are detected, {% data variables.product.prodname_dependabot_alerts %} are generated. Para obtener más información, consulta la sección "[Acerca de las {% data variables.product.prodname_dependabot_alerts %}](/code-security/dependabot/dependabot-alerts/about-dependabot-alerts)". +{% data variables.product.prodname_dependabot %} escanea el código cuando una asesoría nueva se agrega a la {% data variables.product.prodname_advisory_database %} o a la gráfica de dependencias para los cambios a un repositorio. Cuando se detectan dependencias vulnerables{% ifversion GH-advisory-db-supports-malware %} o el malware{% endif %}, se generan {% data variables.product.prodname_dependabot_alerts %}. Para obtener más información, consulta la sección "[Acerca de las {% data variables.product.prodname_dependabot_alerts %}](/code-security/dependabot/dependabot-alerts/about-dependabot-alerts)". -You can enable or disable {% data variables.product.prodname_dependabot_alerts %} for: -* Your personal account -* Your repository -* Your organization +Puedes habilitar o inhabilitar las {% data variables.product.prodname_dependabot_alerts %} para: +* Tu cuenta personal +* Tu repositorio +* Tu organización -## Managing {% data variables.product.prodname_dependabot_alerts %} for your personal account +## Adminsitrar las {% data variables.product.prodname_dependabot_alerts %} para tu cuenta personal {% ifversion fpt or ghec %} -You can enable or disable {% data variables.product.prodname_dependabot_alerts %} for all repositories owned by your personal account. +Puedes habilitar o inhabilitar las {% data variables.product.prodname_dependabot_alerts %} para todos los repositorios que le pertenecen a tu cuenta personal. -### Enabling or disabling {% data variables.product.prodname_dependabot_alerts %} for existing repositories +### Habilitar o inhabilitar las {% data variables.product.prodname_dependabot_alerts %} para los repositorios existentes {% data reusables.user-settings.access_settings %} {% data reusables.user-settings.security-analysis %} -3. Debajo de "Análisis y seguridad del código", a la derecha de las {% data variables.product.prodname_dependabot_alerts %}, haz clic en **Inhabilitar todas** o **Habilitar todas**. ![Screenshot of "Configure security and analysis" features with "Enable all" or "Disable all" buttons emphasized](/assets/images/help/dependabot/dependabot-alerts-disable-or-enable-all.png) -4. Optionally, enable {% data variables.product.prodname_dependabot_alerts %} by default for new repositories that you create. ![Screenshot of "Enable Dependabot alerts" with "Enable by default for new private repositories" checkbox emphasized](/assets/images/help/dependabot/dependabot-alerts-enable-by-default.png) -5. Click **Disable {% data variables.product.prodname_dependabot_alerts %}** or **Enable {% data variables.product.prodname_dependabot_alerts %}** to disable or enable {% data variables.product.prodname_dependabot_alerts %} for all the repositories you own. ![Screenshot of "Enable Dependabot alerts" with "Enable Dependabot alerts" button emphasized](/assets/images/help/dependabot/dependabot-alerts-enable-dependabot-alerts.png) +3. Debajo de "Análisis y seguridad del código", a la derecha de las {% data variables.product.prodname_dependabot_alerts %}, haz clic en **Inhabilitar todas** o **Habilitar todas**. ![Captura de pantalla de las características de "Configurar el análisis y la seguridad" con énfasis en los botones "Habilitar todo" o "Inhabilitar todo"](/assets/images/help/dependabot/dependabot-alerts-disable-or-enable-all.png) +4. Opcionalmente, habilita las {% data variables.product.prodname_dependabot_alerts %} predeterminadamente para los repositorios nuevos que crees. ![Captura de pantalla de "Habilitar las alertas del Dependabot" con énfasis en la casilla de verificación "Habilitar predeterminadamente para los repositorios privados nuevos"](/assets/images/help/dependabot/dependabot-alerts-enable-by-default.png) +5. Haz clic en **Inhabilitar las {% data variables.product.prodname_dependabot_alerts %}** o **Habilitar las {% data variables.product.prodname_dependabot_alerts %}** para inhabilitar o habilitar las {% data variables.product.prodname_dependabot_alerts %} para todos los repositorios que te pertenezcan. ![Captura de pantalla de "Habilitar las alertas del Dependabot" con énfasis en el botón "Habilitar las alertas del Dependabot"](/assets/images/help/dependabot/dependabot-alerts-enable-dependabot-alerts.png) -When you enable {% data variables.product.prodname_dependabot_alerts %} for existing repositories, you will see any results displayed on GitHub within minutes. +Cuando habilitas las {% data variables.product.prodname_dependabot_alerts %} para los repositorios existentes, verás todos los resultados mostrados en GitHub en cuestión de minutos. -### Enabling or disabling {% data variables.product.prodname_dependabot_alerts %} for new repositories +### Habilitar o inhabilitar las {% data variables.product.prodname_dependabot_alerts %} para los repositorios nuevos {% data reusables.user-settings.access_settings %} {% data reusables.user-settings.security-analysis %} -3. Under "Code security and analysis", to the right of {% data variables.product.prodname_dependabot_alerts %}, enable or disable {% data variables.product.prodname_dependabot_alerts %} by default for new repositories that you create. ![Screenshot of "Configure security and analysis" with "Enable for all new private repositories" check emphasized](/assets/images/help/dependabot/dependabot-alerts-enable-for-all-new-repositories.png) +3. Debajo de "Análisis y seguridad del código", a la derecha de las {% data variables.product.prodname_dependabot_alerts %}, habilita o inhabilita las {% data variables.product.prodname_dependabot_alerts %} predeterminadas para los repositorios nuevos que crees. ![Captura de pantalla de "Configurar el análisis y la seguridad" con énfasis en la casilla de verificación "Habilitar para todos los repositorios privados nuevos"](/assets/images/help/dependabot/dependabot-alerts-enable-for-all-new-repositories.png) {% else %} -{% data variables.product.prodname_dependabot_alerts %} for your repositories can be enabled or disabled by your enterprise owner. Para obtener más información, consulta la sección "[Habilitar al Dependabot para tu empresa](/admin/configuration/configuring-github-connect/enabling-dependabot-for-your-enterprise)". +Tu propietario de empresa puede habilitar o inhabilitar las {% data variables.product.prodname_dependabot_alerts %} para tus repositorios. Para obtener más información, consulta la sección "[Habilitar al Dependabot para tu empresa](/admin/configuration/configuring-github-connect/enabling-dependabot-for-your-enterprise)". {% endif %} ## Administrar las {% data variables.product.prodname_dependabot_alerts %} para tu repositorio -{% ifversion fpt or ghec %}You can manage {% data variables.product.prodname_dependabot_alerts %} for your public, private or internal repository. +{% ifversion fpt or ghec %}Puedes adminsitrar las {% data variables.product.prodname_dependabot_alerts %} para tu repositorio público, privado o interno. -Predeterminadamente, notificamos a las personas con permisos administrativos en los repositorios afectados sobre las {% data variables.product.prodname_dependabot_alerts %} nuevas. {% data variables.product.product_name %} never publicly discloses insecure dependencies for any repository. También puedes hacer que las {% data variables.product.prodname_dependabot_alerts %} sean visibles para más personas o equipos que trabajen en los repositorios que te pertenecen o para los cuales tienes permisos administrativos. +Predeterminadamente, notificamos a las personas con permisos administrativos en los repositorios afectados sobre las {% data variables.product.prodname_dependabot_alerts %} nuevas. {% data variables.product.product_name %} jamás divulga públicamente las dependencias inseguras de ningún repositorio. También puedes hacer que las {% data variables.product.prodname_dependabot_alerts %} sean visibles para más personas o equipos que trabajen en los repositorios que te pertenecen o para los cuales tienes permisos administrativos. {% data reusables.security.security-and-analysis-features-enable-read-only %} -### Enabling or disabling {% data variables.product.prodname_dependabot_alerts %} for a repository +### Habilitar o inhabilitar las {% data variables.product.prodname_dependabot_alerts %} para un repositorio {% data reusables.repositories.navigate-to-repo %} {% data reusables.repositories.sidebar-settings %} {% data reusables.repositories.navigate-to-code-security-and-analysis %} -1. Under "Code security and analysis", to the right of {% data variables.product.prodname_dependabot_alerts %}, click **Enable** to enable alerts or **Disable** to disable alerts. ![Screenshot of "Code security and analysis" section with button to enable {% data variables.product.prodname_dependabot_security_updates %}](/assets/images/help/repository/security-and-analysis-disable-or-enable-fpt-private.png) +1. Debajo de "Análisis y seguridad del código", a la derecha de las {% data variables.product.prodname_dependabot_alerts %}, haz clic en **Habilitar** para habilitar las alertas o en **Inhabilitar** para inhabilitarlas. ![Captura de pantalla de la sección "Análisis y seguridad del código" con el botón para habilitar las {% data variables.product.prodname_dependabot_security_updates %}](/assets/images/help/repository/security-and-analysis-disable-or-enable-fpt-private.png) {% endif %}{% ifversion ghes or ghae %} -{% data variables.product.prodname_dependabot_alerts %} for your repository can be enabled or disabled by your enterprise owner. Para obtener más información, consulta la sección "[Habilitar al Dependabot para tu empresa](/admin/configuration/configuring-github-connect/enabling-dependabot-for-your-enterprise)". +Tu propietario de empresa puede habilitar o inhabilitar las {% data variables.product.prodname_dependabot_alerts %} para tu repositorio. Para obtener más información, consulta la sección "[Habilitar al Dependabot para tu empresa](/admin/configuration/configuring-github-connect/enabling-dependabot-for-your-enterprise)". {% endif %} ## Administrar las {% data variables.product.prodname_dependabot_alerts %} para tu organización -{% ifversion fpt or ghec %}You can enable or disable {% data variables.product.prodname_dependabot_alerts %} for all repositories owned by your organization. Your changes affect all repositories. +{% ifversion fpt or ghec %}Puedes habilitar o inhabilitar las {% data variables.product.prodname_dependabot_alerts %} para todos los repositorios que le pertenecen a tu organización. Tus cambios afectan a todos los repositorios. -### Enabling or disabling {% data variables.product.prodname_dependabot_alerts %} for all existing repositories +### Habilitar o inhabilitar las {% data variables.product.prodname_dependabot_alerts %} para todos los repositorios existentes {% data reusables.profile.access_org %} {% data reusables.profile.org_settings %} diff --git a/translations/es-ES/content/code-security/secret-scanning/about-secret-scanning.md b/translations/es-ES/content/code-security/secret-scanning/about-secret-scanning.md index 481ec138e4..0110c45c23 100644 --- a/translations/es-ES/content/code-security/secret-scanning/about-secret-scanning.md +++ b/translations/es-ES/content/code-security/secret-scanning/about-secret-scanning.md @@ -39,7 +39,7 @@ Service providers can partner with {% data variables.product.company_short %} to {% ifversion secret-scanning-push-protection %} -You can also enable {% data variables.product.prodname_secret_scanning %} as a push protection for a repository or an organization. When you enable this feature, {% data variables.product.prodname_secret_scanning %} prevents contributors from pushing code with a detected secret. To proceed, contributors must either remove the secret(s) from the push or, if needed, bypass the protection. For more information, see "[Protecting pushes with {% data variables.product.prodname_secret_scanning %}](/code-security/secret-scanning/protecting-pushes-with-secret-scanning)." +You can also enable {% data variables.product.prodname_secret_scanning %} as a push protection for a repository or an organization. When you enable this feature, {% data variables.product.prodname_secret_scanning %} prevents contributors from pushing code with a detected secret. To proceed, contributors must either remove the secret(s) from the push or, if needed, bypass the protection. {% ifversion push-protection-custom-link-orgs %}Admins can also specify a custom link that is displayed to the contributor when a push is blocked; the link can contain resources specific to the organization to aid contributors. {% endif %}For more information, see "[Protecting pushes with {% data variables.product.prodname_secret_scanning %}](/code-security/secret-scanning/protecting-pushes-with-secret-scanning)." {% endif %} diff --git a/translations/es-ES/content/code-security/secret-scanning/protecting-pushes-with-secret-scanning.md b/translations/es-ES/content/code-security/secret-scanning/protecting-pushes-with-secret-scanning.md index 2f2ed093ea..ce00960daf 100644 --- a/translations/es-ES/content/code-security/secret-scanning/protecting-pushes-with-secret-scanning.md +++ b/translations/es-ES/content/code-security/secret-scanning/protecting-pushes-with-secret-scanning.md @@ -60,17 +60,29 @@ Los propietarios de las organizaciones, administradores de seguridad y administr Se mostrarán hasta cinco secretos detectados a la vez en la línea de comandos. Si ya se detectó un secreto en particular en el repositorio y la alerta ya existe, {% data variables.product.prodname_dotcom %} no lo bloqueará. -![Captura de pantalla que muestra que una subida está bloqueada cuando un usuario intenta subir un secreto a un repositorio](/assets/images/help/repository/secret-scanning-push-protection-with-link.png) +{% ifversion push-protection-custom-link-orgs %} -{% data reusables.secret-scanning.push-protection-remove-secret %} Para obtener más información sobre los secretos bloqueados de remediación, consulta la sección "[Subir una rama que se bloqueó por una protección contra subida](/code-security/secret-scanning/pushing-a-branch-blocked-by-push-protection#resolving-a-blocked-push-on-the-command-line)". +Organization admins can provide a custom link that will be displayed when a push is blocked. This custom link can contain organization-specific resources and advice, such as directions on using a recommended secrets vault or who to contact for questions relating to the blocked secret. -Si confirmas que un secreto es real y que pretendes corregirlo después, debes intentar remediarlo tan pronto como sea posible. Por ejemplo, podrías revocar el secreto y eliminarlo del historial de confirmaciones del repositorio. Los secretos reales que se expusieron deben revocarse para evitar un acceso no autorizado. Podrías considerar rotar el secreto primero antes de revocarlo. Para obtener más información, consulta la sección "[Eliminar datos confidenciales de un repositorio](/authentication/keeping-your-account-and-data-secure/removing-sensitive-data-from-a-repository)". +{% ifversion push-protection-custom-link-orgs-beta %}{% data reusables.advanced-security.custom-link-beta %}{% endif %} + +![Screenshot showing that a push is blocked when a user attempts to push a secret to a repository](/assets/images/help/repository/secret-scanning-push-protection-with-custom-link.png) + +{% else %} + +![Screenshot showing that a push is blocked when a user attempts to push a secret to a repository](/assets/images/help/repository/secret-scanning-push-protection-with-link.png) + +{% endif %} + +{% data reusables.secret-scanning.push-protection-remove-secret %} For more information about remediating blocked secrets, see "[Pushing a branch blocked by push protection](/code-security/secret-scanning/pushing-a-branch-blocked-by-push-protection#resolving-a-blocked-push-on-the-command-line)." + +If you confirm a secret is real and that you intend to fix it later, you should aim to remediate the secret as soon as possible. For example, you might revoke the secret and remove the secret from the repository's commit history. Real secrets that have been exposed must be revoked to avoid unauthorized access. You might consider first rotating the secret before revoking it. For more information, see "[Removing sensitive data from a repository](/authentication/keeping-your-account-and-data-secure/removing-sensitive-data-from-a-repository)." {% data reusables.secret-scanning.push-protection-multiple-branch-note %} ### Permitir que se suba un secreto bloqueado -Si {% data variables.product.prodname_dotcom %} bloquea un secreto que piensas se puede subir con seguridad, puedes permitirlo y especificar la razón por la cual se debería de permitir. +If {% data variables.product.prodname_dotcom %} blocks a secret that you believe is safe to push, you can allow the secret and specify the reason why it should be allowed. {% data reusables.secret-scanning.push-protection-allow-secrets-alerts %} @@ -86,25 +98,33 @@ Si {% data variables.product.prodname_dotcom %} bloquea un secreto que piensas s {% data reusables.secret-scanning.push-protection-web-ui-choice %} -{% data variables.product.prodname_dotcom %} solo mostrará un secreto detectado a la vez en la IU web. Si ya se detectó un secreto en particular en el repositorio y la alerta ya existe, {% data variables.product.prodname_dotcom %} no lo bloqueará. +{% data variables.product.prodname_dotcom %} will only display one detected secret at a time in the web UI. Si ya se detectó un secreto en particular en el repositorio y la alerta ya existe, {% data variables.product.prodname_dotcom %} no lo bloqueará. -Puedes eliminar el secreto del archivo utilizando la IU web. Una vez que elimines el secreto, el letrero en la parte superior de la página cambiará y te dirá que ahora puedes confirmar tus cambios. +{% ifversion push-protection-custom-link-orgs %} - ![Captura de pantalla que muestra la confirmación en la Iu web después de que se corrigió un secreto](/assets/images/help/repository/secret-scanning-push-protection-web-ui-commit-allowed.png) +Organization admins can provide a custom link that will be displayed when a push is blocked. This custom link can contain resources and advice specific to your organization. For example, the custom link can point to a README file with information about the organization's secret vault, which teams and individuals to escalate questions to, or the organization's approved policy for working with secrets and rewriting commit history. + +{% ifversion push-protection-custom-link-orgs-beta %}{% data reusables.advanced-security.custom-link-beta %}{% endif %} + +{% endif %} + +You can remove the secret from the file using the web UI. Una vez que elimines el secreto, el letrero en la parte superior de la página cambiará y te dirá que ahora puedes confirmar tus cambios. + + ![Screenshot showing commit in web ui allowed after secret fixed](/assets/images/help/repository/secret-scanning-push-protection-web-ui-commit-allowed.png) ### Saltar la protección contra subidas para un secreto -{% data reusables.secret-scanning.push-protection-remove-secret %} Para obtener más información sobre los secretos de remediación bloqueados, consulta la sección "[Subir una rama que se bloqueó por una protección contra subida](/code-security/secret-scanning/pushing-a-branch-blocked-by-push-protection#resolving-a-blocked-push-in-the-web-ui)". +{% data reusables.secret-scanning.push-protection-remove-secret %} For more information about remediating blocked secrets, see "[Pushing a branch blocked by push protection](/code-security/secret-scanning/pushing-a-branch-blocked-by-push-protection#resolving-a-blocked-push-in-the-web-ui)." -Si confirmas que un secreto es real y que pretendes corregirlo después, debes intentar remediarlo tan pronto como sea posible. Para obtener más información, consulta la sección "[Eliminar datos confidenciales de un repositorio](/authentication/keeping-your-account-and-data-secure/removing-sensitive-data-from-a-repository)". +If you confirm a secret is real and that you intend to fix it later, you should aim to remediate the secret as soon as possible. For more information, see "[Removing sensitive data from a repository](/authentication/keeping-your-account-and-data-secure/removing-sensitive-data-from-a-repository)." -Si {% data variables.product.prodname_dotcom %} bloquea un secreto que piensas se puede subir con seguridad, puedes permitirlo y especificar la razón por la cual se debería de permitir. +If {% data variables.product.prodname_dotcom %} blocks a secret that you believe is safe to push, you can allow the secret and specify the reason why it should be allowed. {% data reusables.secret-scanning.push-protection-allow-secrets-alerts %} {% data reusables.secret-scanning.push-protection-allow-email %} -Si confirmas que un secreto es real y que pretendes corregirlo después, debes intentar remediarlo tan pronto como sea posible. +If you confirm a secret is real and that you intend to fix it later, you should aim to remediate the secret as soon as possible. 1. En el letrero que aparece en la parte superior de la página cuando {% data variables.product.prodname_dotcom %} bloqueó tu confirmación, haz clic en **Saltar protección**. {% data reusables.secret-scanning.push-protection-choose-allow-secret-options %} diff --git a/translations/es-ES/content/code-security/secret-scanning/pushing-a-branch-blocked-by-push-protection.md b/translations/es-ES/content/code-security/secret-scanning/pushing-a-branch-blocked-by-push-protection.md index 14981705dd..b21a74387a 100644 --- a/translations/es-ES/content/code-security/secret-scanning/pushing-a-branch-blocked-by-push-protection.md +++ b/translations/es-ES/content/code-security/secret-scanning/pushing-a-branch-blocked-by-push-protection.md @@ -26,6 +26,14 @@ The push protection feature of {% data variables.product.prodname_secret_scannin {% endtip %} +{% ifversion push-protection-custom-link-orgs %} + +Organization admins can provide a custom link that will be included in the message from {% data variables.product.product_name %} when your push is blocked. This custom link can contain resources and advice specific to your organization and its policies. + +{% ifversion push-protection-custom-link-orgs-beta %}{% data reusables.advanced-security.custom-link-beta %}{% endif %} + +{% endif %} + ## Resolving a blocked push on the command line {% data reusables.secret-scanning.push-protection-command-line-choice %} diff --git a/translations/es-ES/content/codespaces/customizing-your-codespace/personalizing-github-codespaces-for-your-account.md b/translations/es-ES/content/codespaces/customizing-your-codespace/personalizing-github-codespaces-for-your-account.md index 16f341be45..ffe2c1964a 100644 --- a/translations/es-ES/content/codespaces/customizing-your-codespace/personalizing-github-codespaces-for-your-account.md +++ b/translations/es-ES/content/codespaces/customizing-your-codespace/personalizing-github-codespaces-for-your-account.md @@ -88,8 +88,6 @@ Puedes agregar más scripts, preferencias o archivos de configuración a tu repo Si tu codespace no puede recoger los ajustes de configuración de los dotfiles, consulta la sección "[Solucionar problemas de dotfiles para {% data variables.product.prodname_codespaces %}](/codespaces/troubleshooting/troubleshooting-dotfiles-for-codespaces)". -## Otros ajustes disponibles - También puedes personalizar los {% data variables.product.prodname_codespaces %} utilizando [ajustes de {% data variables.product.prodname_codespaces %}](https://github.com/settings/codespaces) adicionales: - Para habilitar la verificación de GPG, consulta la sección "[Administrar la verificación de GPG para los {% data variables.product.prodname_github_codespaces %}](/codespaces/managing-your-codespaces/managing-gpg-verification-for-github-codespaces)". diff --git a/translations/es-ES/content/codespaces/developing-in-codespaces/creating-a-codespace.md b/translations/es-ES/content/codespaces/developing-in-codespaces/creating-a-codespace.md index 5e5378d571..f626933523 100644 --- a/translations/es-ES/content/codespaces/developing-in-codespaces/creating-a-codespace.md +++ b/translations/es-ES/content/codespaces/developing-in-codespaces/creating-a-codespace.md @@ -46,23 +46,20 @@ If you want to use Git hooks for your codespace, then you should set up hooks us When you have access to {% data variables.product.prodname_github_codespaces %}, you'll see a "Codespaces" tab within the **{% octicon "code" aria-label="The code icon" %} Code** drop-down menu when you view a repository. -You'll have access to codespaces under the following conditions: +You'll have access to {% data variables.product.prodname_github_codespaces %} under the following conditions: -* You are a member of an organization that has enabled {% data variables.product.prodname_codespaces %} and set a spending limit. -* An organization owner has granted you access to {% data variables.product.prodname_codespaces %}. -* The repository is owned by the organization that has enabled {% data variables.product.prodname_codespaces %}. +Either all of these are true: +* You are a member, or outside collaborator, of an organization that has enabled {% data variables.product.prodname_codespaces %} and set a spending limit. +* The organization owner has allowed you to create codespaces at the organization's expense. +* The repository for which you want to create a codespace is owned by this organization. -{% note %} - -**Note:** Individuals who have already joined the beta with their personal {% data variables.product.prodname_dotcom %} account will not lose access to {% data variables.product.prodname_codespaces %}, however {% data variables.product.prodname_codespaces %} for individuals will continue to remain in beta. - -{% endnote %} - -Organization owners can allow all members of the organization to create codespaces, limit codespace creation to selected organization members, or disable codespace creation. For more information about managing access to codespaces within your organization, see "[Enable Codespaces for users in your organization](/codespaces/managing-codespaces-for-your-organization/enabling-codespaces-for-your-organization#enable-codespaces-for-users-in-your-organization)." +Or both of these are true: +* You are participating in the beta of {% data variables.product.prodname_codespaces %} for individual users. +* Either you own the repository for which you want to create a codespace, or it is owned by an organization of which you are either a member or an outside collaborator. Before {% data variables.product.prodname_codespaces %} can be used in an organization, an owner or billing manager must have set a spending limit. For more information, see "[About spending limits for Codespaces](/billing/managing-billing-for-github-codespaces/managing-spending-limits-for-codespaces#about-spending-limits-for-codespaces)." -If you would like to create a codespace for a repository owned by your personal account or another user, and you have permission to create repositories in an organization that has enabled {% data variables.product.prodname_github_codespaces %}, you can fork user-owned repositories to that organization and then create a codespace for the fork. +Organization owners can specify who can create and use codespaces at the organization's expense. Organization owners can also prevent any codespace usage being charged to the organization. For more information, see "[Enabling {% data variables.product.prodname_github_codespaces %} for your organization](/codespaces/managing-codespaces-for-your-organization/enabling-github-codespaces-for-your-organization#choose-who-can-create-codespaces-that-are-billed-to-your-organization)." ## Creating a codespace diff --git a/translations/es-ES/content/codespaces/developing-in-codespaces/renaming-a-codespace.md b/translations/es-ES/content/codespaces/developing-in-codespaces/renaming-a-codespace.md index 519f365f11..0f3f410883 100644 --- a/translations/es-ES/content/codespaces/developing-in-codespaces/renaming-a-codespace.md +++ b/translations/es-ES/content/codespaces/developing-in-codespaces/renaming-a-codespace.md @@ -27,7 +27,9 @@ To find the display name of a codespace: ![Screenshot of the Remote Explorer in VS Code](/assets/images/help/codespaces/codespaces-remote-explorer.png) +{% indented_data_reference reusables.codespaces.remote-explorer spaces=2 %} - In a terminal window on your local machine, use this {% data variables.product.prodname_cli %} command: `gh codespace list`. + ### Permanent codespace names In addition to the display name, when you create a codespace, a permanent name is also assigned to the codespace. The name is a combination of your {% data variables.product.company_short %} handle, the repository name, and some random characters. Por ejemplo: `octocat-myrepo-gmc7`. You can't change this name. diff --git a/translations/es-ES/content/codespaces/managing-codespaces-for-your-organization/enabling-github-codespaces-for-your-organization.md b/translations/es-ES/content/codespaces/managing-codespaces-for-your-organization/enabling-github-codespaces-for-your-organization.md index cf0f73c0a3..73c439fe33 100644 --- a/translations/es-ES/content/codespaces/managing-codespaces-for-your-organization/enabling-github-codespaces-for-your-organization.md +++ b/translations/es-ES/content/codespaces/managing-codespaces-for-your-organization/enabling-github-codespaces-for-your-organization.md @@ -1,9 +1,9 @@ --- title: Enabling GitHub Codespaces for your organization -shortTitle: Habilitar Codespaces -intro: 'Puedes controlar qué usuarios de tu organización pueden utilizar {% data variables.product.prodname_github_codespaces %}.' +shortTitle: 'Habilitar el {% data variables.product.prodname_codespaces %}' +intro: 'You can control which users in your organization can use {% data variables.product.prodname_github_codespaces %} at the organization''s expense.' product: '{% data reusables.gated-features.codespaces %}' -permissions: 'To manage user permissions for {% data variables.product.prodname_github_codespaces %} for an organization, you must be an organization owner.' +permissions: 'To alter an organization''s billing settings, you must be an organization owner.' redirect_from: - /codespaces/managing-codespaces-for-your-organization/managing-user-permissions-for-your-organization - /codespaces/managing-codespaces-for-your-organization/enabling-codespaces-for-your-organization @@ -13,25 +13,23 @@ versions: type: how_to topics: - Codespaces - - Permissions + - Billing - Administrator --- - ## Acerca de cómo habilitar los {% data variables.product.prodname_github_codespaces %} para tu organización -Los propietarios de organización pueden controlar qué usuarios de tu organización pueden crear y utilizar codespaces. +Organization owners can control which users in your organization can create and use codespaces at the organization's expense. -Para utilizar codespaces en tu organización, debes hacer lo siguiente: +Only people who can clone a repository can create a codespace for that repository. To allow people to create codespaces for repositories owned by your organization, you must: + +- Ensure that users have at least write access to the repositories where they want to use a codespace. Para obtener más información, consulta la sección "[Administrar los equipos y personas con acceso a tu repositorio](/repositories/managing-your-repositorys-settings-and-features/managing-repository-settings/managing-teams-and-people-with-access-to-your-repository)". +- Asegúrate de que tu organización no tenga habilitada una lista de direcciones IP permitidas. Para obtener más información, consulta la sección "[Administrar las direcciones IP permitidas para tu organización](/{% ifversion fpt %}enterprise-cloud@latest/{% endif %}organizations/keeping-your-organization-secure/managing-allowed-ip-addresses-for-your-organization){% ifversion fpt %}" en la documentación de {% data variables.product.prodname_ghe_cloud %}.{% else %}".{% endif %} + +To allow people to create codespaces for which your organization will be billed, you must: -- Asegurarte de que los usuarios tengan [por lo menos acceso de escritura](/organizations/managing-access-to-your-organizations-repositories/repository-permission-levels-for-an-organization) en los repositorios en donde quieren utilizar un codespace. -- [Habilitar los {% data variables.product.prodname_github_codespaces %} para los usuarios en tu organización](#enable-codespaces-for-users-in-your-organization). Puedes elegir permitir los {% data variables.product.prodname_codespaces %} para los usuarios seleccionados o solo para algunos específicos. - [Configurar un límite de gastos](/billing/managing-billing-for-github-codespaces/managing-spending-limits-for-codespaces) -- Asegúrate de que tu organización no tenga habilitada una lista de direcciones IP permitidas. Para obtener más información, consulta la sección "[Administrar las direcciones IP permitidas para tu organización](/{% ifversion fpt %}enterprise-cloud@latest/{% endif %}organizations/keeping-your-organization-secure/managing-allowed-ip-addresses-for-your-organization#using-github-actions-with-an-ip-allow-list){% ifversion fpt %}" en la documentación de {% data variables.product.prodname_ghe_cloud %}.{% else %}".{% endif %} - -Predeterminadamente, un codespace solo puede acceder al repositorio desde el cual se creó. Si quieres que los codespaces de tu organización puedan acceder a otros repositorios de organización a los que puede acceder el creador de dichos codespaces, consulta la sección "[Administrar el acceso y la seguridad de los {% data variables.product.prodname_codespaces %}](/codespaces/managing-codespaces-for-your-organization/managing-access-and-security-for-your-organizations-codespaces)". - -## Habilitar los {% data variables.product.prodname_codespaces %} para los usuarios en tu organización +- [Choose who can create codespaces that are billed to your organization](#choose-who-can-create-codespaces-that-are-billed-to-your-organization) {% ifversion fpt %} {% note %} @@ -40,31 +38,44 @@ Predeterminadamente, un codespace solo puede acceder al repositorio desde el cua {% endnote %} {% endif %} + +Predeterminadamente, un codespace solo puede acceder al repositorio desde el cual se creó. If you want codespaces in your organization to be able to access other organization repositories that the codespace creator can access, see "[Managing repository access for your organization's codespaces](/codespaces/managing-codespaces-for-your-organization/managing-repository-access-for-your-organizations-codespaces)." + +## Choose who can create codespaces that are billed to your organization + {% data reusables.profile.access_org %} {% data reusables.profile.org_settings %} {% data reusables.organizations.click-codespaces %} -1. Debajo de "Permisos de usuario", selecciona una de las siguientes opciones: +1. Under "Billing," select one of the following options: - * **Usuarios selectos** para seleccionar miembros específicos de la organización que puedan utilizar {% data variables.product.prodname_codespaces %}. - * **Permitir para todos los miembros** para permitir que todos los miembros de tu organización utilicen {% data variables.product.prodname_codespaces %}. - * **Permitir para todos los miembros y colaboradores externos** para permitir que todos los miembros de tu organización, así como los colaboradores externos, utilicen {% data variables.product.prodname_codespaces %}. + * **Disabled** - Your organization will not be charged for codespace usage. {% data variables.product.prodname_codespaces %} created for your organization's repositories will be billed to the individual users who create them. + * **Selected members** - {% data variables.product.prodname_codespaces %} created for your organization's repositories by selected members will be billed to the organization. + * **All members** - {% data variables.product.prodname_codespaces %} created for your organization's repositories by members of your organization will be billed to the organization. + * **All members and outside collaborators** - {% data variables.product.prodname_codespaces %} created for your organization's repositories by organization members and outside collaborators will be billed to the organization. - ![Botones radiales de "Permisos de usuario"](/assets/images/help/codespaces/org-user-permission-settings-outside-collaborators.png) + ![Radio buttons for "Billing"](/assets/images/help/codespaces/codespaces-org-billing-settings.png) {% note %} - **Nota:** Cuando seleccionas **Permitir para todos los miembros y colaboradores externos**, todos los colaboradores externos que hayan agregado información a repositorios específicos podrán crear y utilizar {% data variables.product.prodname_codespaces %}. Se le facturará a tu organización por todo el uso en el que incurrieron los colaboradores externos. Para obtener más información sobre cómo administrar colaboradores externos, consulta la sección "[Acerca de los colaboradores externos](/organizations/managing-access-to-your-organizations-repositories/adding-outside-collaborators-to-repositories-in-your-organization#about-outside-collaborators)". + **Note:** When you select **All members and outside collaborators**, all outside collaborators who have been added to specific repositories can create and use {% data variables.product.prodname_codespaces %} for those repositories, and your organization will be billed for this usage. Para obtener más información sobre cómo administrar colaboradores externos, consulta la sección "[Acerca de los colaboradores externos](/organizations/managing-access-to-your-organizations-repositories/adding-outside-collaborators-to-repositories-in-your-organization#about-outside-collaborators)". {% endnote %} 1. Haz clic en **Save ** (guardar). +1. If you chose **Selected members**, an input box is displayed for you to enter the names of users you want to select. + + ![Input box for selecting users](/assets/images/help/codespaces/codespaces-org-billing-add-users.png) ## Inhabilitar los {% data variables.product.prodname_codespaces %} para tu organización +You can prevent the creation and use of codespaces billable to your organization. + +{% data reusables.codespaces.codespaces-disabling-org-billing %} + {% data reusables.profile.access_org %} {% data reusables.profile.org_settings %} {% data reusables.organizations.click-codespaces %} -1. Debajo de "Permisos de usuario", selecciona **Inhabilitado**. +1. Under "Billing," select **Disabled**. ## Configurar un límite de gastos diff --git a/translations/es-ES/content/codespaces/managing-codespaces-for-your-organization/managing-billing-for-github-codespaces-in-your-organization.md b/translations/es-ES/content/codespaces/managing-codespaces-for-your-organization/managing-billing-for-github-codespaces-in-your-organization.md index 25a9ee47ce..e1870c7457 100644 --- a/translations/es-ES/content/codespaces/managing-codespaces-for-your-organization/managing-billing-for-github-codespaces-in-your-organization.md +++ b/translations/es-ES/content/codespaces/managing-codespaces-for-your-organization/managing-billing-for-github-codespaces-in-your-organization.md @@ -35,11 +35,15 @@ Puedes configurar el límite de uso de los codespaces en tu organización o repo ## Inhabilitar o limitar los {% data variables.product.prodname_codespaces %} -Puedes inhabilitar el uso de los {% data variables.product.prodname_codespaces %} en tu organización o repositorio. Para obtener más información, consulta la sección "[Administrar el acceso de un repositorio a los codespces de tu organización](/codespaces/managing-codespaces-for-your-organization/managing-access-and-security-for-your-organizations-codespaces)". +You can disable all use of {% data variables.product.prodname_github_codespaces %} that would be billed to your organization. Alternatively, you can specify which organization members or collaborators can use {% data variables.product.prodname_codespaces %} at your organization's expense. Para obtener más información, consulta la sección "[Habilitar los {% data variables.product.prodname_github_codespaces %} para tu organización](/codespaces/managing-codespaces-for-your-organization/enabling-github-codespaces-for-your-organization)". -También puedes limitar a los usuarios individuales que pueden utilizar {% data variables.product.prodname_codespaces %}. Para obtener más información, consulta la sección "[Administrar los permisos de los usuarios para tu organización](/codespaces/managing-codespaces-for-your-organization/managing-user-permissions-for-your-organization)". +{% data reusables.codespaces.codespaces-disabling-org-billing %} -Puedes limitar la elección de tipos de máquina que se encuentra disponible para los repositorios que pertenecen a tu organización. Esto te permite prevenir que las personas utilicen máquinas con recursos excedidos para sus codespaces. Para obtener más información, consulta la sección "[Restringir el acceso a los tipos de máquina](/codespaces/managing-codespaces-for-your-organization/restricting-access-to-machine-types)". +You can configure which repositories can be accessed from codespaces created for a particular repository. Si necesitas más información, consulta la sección "[Administrar el acceso a otros repositorios dentro de tu codespace](/codespaces/managing-your-codespaces/managing-repository-access-for-your-codespaces)". + +You can limit the choice of types of machine that are available for codespaces created from repositories owned by your organization. This allows you to prevent people using overly resourced machines for their codespaces, and incurring unnecessary charges. Para obtener más información, consulta la sección "[Restringir el acceso a los tipos de máquina](/codespaces/managing-codespaces-for-your-organization/restricting-access-to-machine-types)". + +You can also restrict how long a codespace can remain unused before it is automatically deleted. This can help to reduce storage costs for {% data variables.product.prodname_codespaces %}. Para obtener más información, consulta la sección "[Restringir el periodo de retención para codespaces](/codespaces/managing-codespaces-for-your-organization/restricting-the-retention-period-for-codespaces)". ## Borrar los codespaces sin utilizar @@ -47,6 +51,6 @@ Tus usuarios pueden borrar sus codespaces en https://github.com/codespaces y des {% note %} -**Nota:** Solo la persona que creó un codespace podrá borrarlo. Actualmente no hay forma de que los propietarios de las organizaciones borren los codespaces que se crearon dentro de su organización. +**Note:** Codespaces are automatically deleted after they have been stopped and have remained inactive for a defined number of days. Para obtener más información, consulta la sección "[Restringir el periodo de retención para codespaces](/codespaces/managing-codespaces-for-your-organization/restricting-the-retention-period-for-codespaces)". A codespace can only be manually deleted by the person who created the codespace. {% endnote %} diff --git a/translations/es-ES/content/codespaces/managing-codespaces-for-your-organization/managing-repository-access-for-your-organizations-codespaces.md b/translations/es-ES/content/codespaces/managing-codespaces-for-your-organization/managing-repository-access-for-your-organizations-codespaces.md index 25cc68e82c..e64a1eeb9b 100644 --- a/translations/es-ES/content/codespaces/managing-codespaces-for-your-organization/managing-repository-access-for-your-organizations-codespaces.md +++ b/translations/es-ES/content/codespaces/managing-codespaces-for-your-organization/managing-repository-access-for-your-organizations-codespaces.md @@ -20,7 +20,7 @@ redirect_from: {% warning %} -**Aviso de obsolesencia**: El acceso y ajuste de seguridad que se describen anteriormente ahora son obsoletos y solo se documentan aquí como referencia. Para habilitar un acceso expandido a otros repositorios, agrega los permisos solicitados a tu definición de contenedor dev. Si necesitas más información, consulta la sección "[Administrar el acceso a otros repositorios dentro de tu codespace](/codespaces/managing-your-codespaces/managing-repository-access-for-your-codespaces)". +**Aviso de obsolesencia**: El acceso y ajuste de seguridad que se describen anteriormente ahora son obsoletos y solo se documentan aquí como referencia. Para habilitar el acceso expandido a otros repositorios, agrega los permisos solicitados a tu archivo de configuración de `devcontainer.json`. Si necesitas más información, consulta la sección "[Administrar el acceso a otros repositorios dentro de tu codespace](/codespaces/managing-your-codespaces/managing-repository-access-for-your-codespaces)". {% endwarning %} diff --git a/translations/es-ES/content/codespaces/managing-codespaces-for-your-organization/restricting-access-to-machine-types.md b/translations/es-ES/content/codespaces/managing-codespaces-for-your-organization/restricting-access-to-machine-types.md index 44dfc3af19..2995884dcf 100644 --- a/translations/es-ES/content/codespaces/managing-codespaces-for-your-organization/restricting-access-to-machine-types.md +++ b/translations/es-ES/content/codespaces/managing-codespaces-for-your-organization/restricting-access-to-machine-types.md @@ -43,6 +43,8 @@ Por ejemplo, podrías crear una política en toda la organización, la cual rest Si agregas una política a nivel organizacional, deberías configurarla en la elección de tipos de máquina más grande que deberá estar disponible para cualquier repositorio de tu organización. Entonces podrás agregar las políticas específicas para los repositorios y así restringir aún más la elección. +{% data reusables.codespaces.codespaces-org-policies-note %} + ## Agregar una política para limitar los tipos de máquina disponibles {% data reusables.profile.access_org %} diff --git a/translations/es-ES/content/codespaces/managing-codespaces-for-your-organization/restricting-the-idle-timeout-period.md b/translations/es-ES/content/codespaces/managing-codespaces-for-your-organization/restricting-the-idle-timeout-period.md index 0423976756..bef735a58a 100644 --- a/translations/es-ES/content/codespaces/managing-codespaces-for-your-organization/restricting-the-idle-timeout-period.md +++ b/translations/es-ES/content/codespaces/managing-codespaces-for-your-organization/restricting-the-idle-timeout-period.md @@ -36,10 +36,12 @@ If someone sets the default idle timeout to 90 minutes in their personal setting ### Configurar políticas específicas para los repositorios y a lo largo de la organización -When you create a policy, you choose whether it applies to all repositories in your organization, or only to specified repositories. If you create an organization-wide policy with a timeout constraint, then the timeout constraints in any policies that are targeted at specific repositories must fall within the restriction configured for the entire organization. The shortest timeout period - in an organization-wide policy, a policy targeted at specified repositories, or in someone's personal settings - is applied. +Cuando creas una política, eliges si esta aplica a todos los repositorios de tu organización o solo a algunos específicos. If you create an organization-wide policy with a timeout constraint, then the timeout constraints in any policies that are targeted at specific repositories must fall within the restriction configured for the entire organization. The shortest timeout period - in an organization-wide policy, a policy targeted at specified repositories, or in someone's personal settings - is applied. If you add an organization-wide policy with a timeout constraint, you should set the timeout to the longest acceptable period. You can then add separate policies that set the maximum timeout to a shorter period for specific repositories in your organization. +{% data reusables.codespaces.codespaces-org-policies-note %} + ## Adding a policy to set a maximum idle timeout period {% data reusables.profile.access_org %} @@ -51,7 +53,7 @@ If you add an organization-wide policy with a timeout constraint, you should set 1. Haz clic en {% octicon "pencil" aria-label="The edit icon" %} para editar la restricción. - ![Edit the timeout constraint](/assets/images/help/codespaces/edit-timeout-constraint.png) + ![Editar la restricción de tiempo de espera](/assets/images/help/codespaces/edit-timeout-constraint.png) 1. Enter the maximum number of minutes codespaces can remain inactive before they time out, then click **Save**. @@ -65,9 +67,9 @@ The policy will be applied to all new codespaces that are created, and to existi ## Editar una política -You can edit an existing policy. Por ejemplo, puede que quieras agregar o eliminar restricciones hacia o desde una política. +Puedes editar una política existente. Por ejemplo, puede que quieras agregar o eliminar restricciones hacia o desde una política. -1. Muestra la página de "Políticas del Codespace". For more information, see "[Adding a policy to set a maximum idle timeout period](#adding-a-policy-to-set-a-maximum-idle-timeout-period)." +1. Muestra la página de "Políticas del Codespace". Para obtener más información, consulta la sección "[Agregar una política para configurar un periodo de tiempo de inactividad máximo](#adding-a-policy-to-set-a-maximum-idle-timeout-period)". 1. Haz clic en el nombre de la política que quieres editar. 1. Haz los cambios requeridos y luego haz clic en **Guardar**. diff --git a/translations/es-ES/content/codespaces/managing-codespaces-for-your-organization/restricting-the-retention-period-for-codespaces.md b/translations/es-ES/content/codespaces/managing-codespaces-for-your-organization/restricting-the-retention-period-for-codespaces.md index 9cea136f11..9ba1e7cc4a 100644 --- a/translations/es-ES/content/codespaces/managing-codespaces-for-your-organization/restricting-the-retention-period-for-codespaces.md +++ b/translations/es-ES/content/codespaces/managing-codespaces-for-your-organization/restricting-the-retention-period-for-codespaces.md @@ -16,9 +16,9 @@ topics: {% data variables.product.prodname_codespaces %} are automatically deleted after they have been stopped and have remained inactive for a defined number of days. The retention period for each codespace is set when the codespace is created and does not change. -Everyone who has access to {% data variables.product.prodname_github_codespaces %} can configure a retention period for the codespaces they create. The initial setting for this default retention period is 30 days. Individual users can set this period within the range 0-30 days. For more information, see "[Configuring automatic deletion of your codespaces](/codespaces/customizing-your-codespace/configuring-automatic-deletion-of-your-codespaces)." +Everyone who has access to {% data variables.product.prodname_github_codespaces %} can configure a retention period for the codespaces they create. The initial setting for this default retention period is 30 days. Individual users can set this period within the range 0-30 days. Para obtener más información, consulta la sección "[Configurar el borrado automático de tus codespaces](/codespaces/customizing-your-codespace/configuring-automatic-deletion-of-your-codespaces)". -As an organization owner, you may want to configure constraints on the maximum retention period for codespaces created for the repositories owned by your organization. This can help you to limit the storage costs associated with codespaces that are stopped and then left unused until they are automatically deleted. For more information about storage charges, see "[About billing for {% data variables.product.prodname_github_codespaces %}](/billing/managing-billing-for-github-codespaces/about-billing-for-github-codespaces#codespaces-pricing)." You can set a maximum retention period for all, or for specific, repositories owned by your organization. +As an organization owner, you may want to configure constraints on the maximum retention period for codespaces created for the repositories owned by your organization. This can help you to limit the storage costs associated with codespaces that are stopped and then left unused until they are automatically deleted. Para obtener más información sobre los cargos de almacenamiento, consulta la sección "[Acerca de la facturación para {% data variables.product.prodname_github_codespaces %}](/billing/managing-billing-for-github-codespaces/about-billing-for-github-codespaces#codespaces-pricing)". You can set a maximum retention period for all, or for specific, repositories owned by your organization. ### Configurar políticas específicas para los repositorios y a lo largo de la organización @@ -26,6 +26,8 @@ Cuando creas una política, eliges si esta aplica a todos los repositorios de tu If you add an organization-wide policy with a retention constraint, you should set the retention period to the longest acceptable period. You can then add separate policies that set the maximum retention to a shorter period for specific repositories in your organization. +{% data reusables.codespaces.codespaces-org-policies-note %} + ## Adding a policy to set a maximum codespace retention period {% data reusables.profile.access_org %} @@ -54,7 +56,7 @@ If you add an organization-wide policy with a retention constraint, you should s {% data reusables.codespaces.codespaces-policy-targets %} 1. Si quieres agregar otra restricción a la política, haz clic en **Agregar restricción** y elige otra de ellas. Para obtener información sobre otras restricciones, consulta las secciones "[Restringir el acceso a los tipos de máquina](/codespaces/managing-codespaces-for-your-organization/restricting-access-to-machine-types)", "[Restringir la visibilidad de los puertos reenviados](/codespaces/managing-codespaces-for-your-organization/restricting-the-visibility-of-forwarded-ports)" y "[Restringir el periodo de inactividad](/codespaces/managing-codespaces-for-your-organization/restricting-the-idle-timeout-period)". -1. After you've finished adding constraints to your policy, click **Save**. +1. Después de que termines de agregar restricciones a tu política, haz clic en **Guardar**. The policy will be applied to all new codespaces that are created. @@ -64,7 +66,7 @@ Puedes editar una política existente. Por ejemplo, puede que quieras agregar o The retention period constraint is only applied to codespaces when they are created. Editing a policy has no effect on existing codespaces. -1. Muestra la página de "Políticas del Codespace". For more information, see "[Adding a policy to set a maximum codespace retention period](#adding-a-policy-to-set-a-maximum-codespace-retention-period)." +1. Muestra la página de "Políticas del Codespace". Para obtener más información, consulta la sección "[Agregar una política para configurar un periodo de retención máximo de codespaces](#adding-a-policy-to-set-a-maximum-codespace-retention-period)". 1. Haz clic en el nombre de la política que quieres editar. 1. Haz los cambios requeridos y luego haz clic en **Guardar**. diff --git a/translations/es-ES/content/codespaces/managing-codespaces-for-your-organization/restricting-the-visibility-of-forwarded-ports.md b/translations/es-ES/content/codespaces/managing-codespaces-for-your-organization/restricting-the-visibility-of-forwarded-ports.md index c3d4d390f1..c44c93e3df 100644 --- a/translations/es-ES/content/codespaces/managing-codespaces-for-your-organization/restricting-the-visibility-of-forwarded-ports.md +++ b/translations/es-ES/content/codespaces/managing-codespaces-for-your-organization/restricting-the-visibility-of-forwarded-ports.md @@ -36,6 +36,8 @@ Por ejemplo, podrías crear una política en toda la organización que restrinja Si agregas una política de toda la organización, deberías configurarla para que tenga la opción de visibilidad más indulgente disponible para cualquier repositorio en tu organización. Entonces podrás agregar las políticas específicas para los repositorios y así restringir aún más la elección. +{% data reusables.codespaces.codespaces-org-policies-note %} + ## Agregar una política para limitar las opciones de visibilidad de puerto {% data reusables.profile.access_org %} diff --git a/translations/es-ES/content/codespaces/prebuilding-your-codespaces/configuring-prebuilds.md b/translations/es-ES/content/codespaces/prebuilding-your-codespaces/configuring-prebuilds.md index 16112fefc9..dd9f21efed 100644 --- a/translations/es-ES/content/codespaces/prebuilding-your-codespaces/configuring-prebuilds.md +++ b/translations/es-ES/content/codespaces/prebuilding-your-codespaces/configuring-prebuilds.md @@ -40,18 +40,18 @@ Antes de que configures las precompilaciones para tu proyecto, se debe cumplir c {% note %} - **Note**: Any branches created from a prebuild-enabled base branch will typically also get prebuilds for the same dev container configuration. For example, if you enable prebuilds for a dev container configuration file on the default branch of the repository, branches based on the default branch will, in most cases, also get prebuilds for the same dev container configuration. + **Nota**: Cualquier rama que se cree de una rama base habilitada para precompilaciones habitualmente también obtendrá precompilaciones para la misma configuración de contenedor dev. Por ejemplo, si habilitas precompilaciones para un archivo de configuración de contenedor dev en la rama predeterminada del repositorio, las ramas basadas en la predeterminada también obtendrán precompilaciones para la misma configuración del contenedor dev en la mayoría de los casos. {% endnote %} -1. Optionally, in the **Configuration file** drop-down menu that's displayed, choose the `devcontainer.json` configuration file that you want to use for this prebuild. Para obtener más información, consulta la sección "[Introducción a los contenedores dev](/codespaces/setting-up-your-project-for-codespaces/introduction-to-dev-containers#devcontainerjson)." +1. Opcionalmente, en el menú desplegable de **Archivo de configuración** que se muestra, elige el archivo de configuración `devcontainer.json` que quieras utilizar para esta precompilación. Para obtener más información, consulta la sección "[Introducción a los contenedores dev](/codespaces/setting-up-your-project-for-codespaces/introduction-to-dev-containers#devcontainerjson)." - ![The configuration file drop-down menu](/assets/images/help/codespaces/prebuilds-choose-configfile.png) + ![El menú desplegable de archivo de configuración](/assets/images/help/codespaces/prebuilds-choose-configfile.png) -1. Choose how you want to automatically trigger updates of the prebuild. +1. Elige cómo quieres activar actualizaciones automáticamente para la precompilación. - * **Cada subida** (el ajuste predeterminado) - Con este ajuste, las configuraciones de precompilación se actualizarán en cada subida que se haga a la rama predeterminada. This will ensure that codespaces generated from a prebuild always contain the latest codespace configuration, including any recently added or updated dependencies. - * **En el cambio de configuración** - Con este ajuste, as configuraciones de precompilación se actualizarán cada que lo hagan los archivos de configuración asociados para cada repositorio y rama en cuestión. This ensures that changes to the dev container configuration files for the repository are used when a codespace is generated from a prebuild. The Actions workflow that updates the prebuild will run less often, so this option will use fewer Actions minutes. Sin embargo, esta opción no garantiza que los cdespaces siempre incluyan dependencias recientemente actualizadas o agregadas, así que estas podrían tener que agregarse o actualizarse manualmente después de que un codespace se haya creado. + * **Cada subida** (el ajuste predeterminado) - Con este ajuste, las configuraciones de precompilación se actualizarán en cada subida que se haga a la rama predeterminada. Esto garantizará que los codespaces que se generen de una precompilación siempre contengan la configuración de codespace más reciente, incluyendo cualquier dependencia que se haya actualizado o agregado recientemente. + * **En el cambio de configuración** - Con este ajuste, as configuraciones de precompilación se actualizarán cada que lo hagan los archivos de configuración asociados para cada repositorio y rama en cuestión. Esto garantiza que los cambios a los archivos de configuración del contenedor dev para el repositorio se utilicen cuando se genera un codespace desde una precompilación. El flujo de trabajo de acciones que actualiza la precompilación se ejecutará con menor frecuencia, así que esta opción utilizará menos minutos de las acciones. Sin embargo, esta opción no garantiza que los cdespaces siempre incluyan dependencias recientemente actualizadas o agregadas, así que estas podrían tener que agregarse o actualizarse manualmente después de que un codespace se haya creado. * **Programado** - Con este ajuste, puedes hacer que tus configuraciones de precompilación se actualicen en un itinerario personalizado que tú defines. Esto puede reducir el consumo de minutos de acciones, sin embargo, con esta opción, pueden crearse codespaces que no utilicen los últimos cambios de configuración de contenedores dev. ![Las opciones de activación de precompilación](/assets/images/help/codespaces/prebuilds-triggers.png) diff --git a/translations/es-ES/content/codespaces/setting-up-your-project-for-codespaces/introduction-to-dev-containers.md b/translations/es-ES/content/codespaces/setting-up-your-project-for-codespaces/introduction-to-dev-containers.md index 449d120e5d..937403d0bf 100644 --- a/translations/es-ES/content/codespaces/setting-up-your-project-for-codespaces/introduction-to-dev-containers.md +++ b/translations/es-ES/content/codespaces/setting-up-your-project-for-codespaces/introduction-to-dev-containers.md @@ -53,7 +53,7 @@ Para obtener más información sobre cómo elegir tu configuración preferida de Es útil pensar que el archivo `devcontainer.json` sirve para proporcionar "adaptación" en vez de "personalización". Solo debes incluir las cosas que necesiten todos los que trabajan en tus codespaces como elementos estándar del ambiente de desarrollo, no las que son preferencias personales. Las cosas como los limpiadores son buenas para estandarizar y para requerir que todos las tengan instaladas, así que es bueno incluirlas en tu archivo `devcontainer.json`. Las cosas como los decoradores de interfaz de usuario o los temas son elecciones personales que no deberían ponerse en el archivo `devcontainer.json`. -Puedes personalizar tus codespaces utilizando dotfiles y la sincronización de ajustes. For more information, see "[Personalizing {% data variables.product.prodname_github_codespaces %} for your account](/codespaces/customizing-your-codespace/personalizing-github-codespaces-for-your-account)." +Puedes personalizar tus codespaces utilizando dotfiles y la sincronización de ajustes. Para obtener más información, consulta la sección "[Personalizar {% data variables.product.prodname_github_codespaces %} para tu cuenta](/codespaces/customizing-your-codespace/personalizing-github-codespaces-for-your-account)". ### Dockerfile @@ -114,7 +114,7 @@ Para obtener más información sobre cómo utilizar un Dockerfile en una configu ## Utilizar la configuración de contenedor dev predeterminada -Si no defines una configuración en tu repositorio, {% data variables.product.prodname_dotcom %} creará un codespace utilizando una imagen de Linux predeterminada. This Linux image includes a number of runtime versions for popular languages like Python, Node, PHP, Java, Go, C++, Ruby, and .NET Core/C#. The latest or LTS releases of these languages are used. There are also tools to support data science and machine learning, such as JupyterLab and Conda. The image also includes other developer tools and utilities like Git, GitHub CLI, yarn, openssh, and vim. Para ver todos los lenguajes, tiempos de ejecución y herramientas que se incluyen, utiliza el comando `devcontainer-info content-url` dentro de tu terminal del codespace y sigue la URL que este produce. +Si no defines una configuración en tu repositorio, {% data variables.product.prodname_dotcom %} creará un codespace utilizando una imagen de Linux predeterminada. La imagen de Linux incluye varias versiones de tiempo de ejecución para los lenguajes populares como Python, Node, PHP, Java, Go, C++ y .NET Core/C#. Se utilizan los lanzamientos más recientes o de LTS de estos lenguajes. También existen herramientas para apoyar la ciencia de datos y el aprendizaje automático, tal como JupyterLab y Conda. La imagen también incluye otras herramientas y utilidades de desarrollador como Git, el CLI de GitHub, yarn, openssh y vim. Para ver todos los lenguajes, tiempos de ejecución y herramientas que se incluyen, utiliza el comando `devcontainer-info content-url` dentro de tu terminal del codespace y sigue la URL que este produce. Como alternativa, para obtener más información sobre todo lo que incluye la imagen predeterminada de Linux, consulta el archivo más reciente del repositorio [`microsoft/vscode-dev-containers`](https://github.com/microsoft/vscode-dev-containers/tree/main/containers/codespaces-linux). @@ -161,7 +161,7 @@ Puedes agregar algunas de las características más comunes seleccionándolas cu 1. Actualiza tus selecciones de características y luego haz clic en **OK**. - ![The select additional features menu during container configuration](/assets/images/help/codespaces/select-additional-features.png) + ![El menú para seleccionar características adicionales durante la configuración del contenedor](/assets/images/help/codespaces/select-additional-features.png) 1. Para aplicar los cambios, en la esquina inferior derecha de la pantalla, haz clic en **Reconstruir ahora**. Para obtener más información sobre cómo reconstruir tu contenedor, consulta la sección "[Aplicar los cambios a tu configuración](#applying-configuration-changes-to-a-codespace)". @@ -182,41 +182,41 @@ Si ninguna de las configuraciones predefinidas satisface tus necesidades, puedes Si se encuentran archivos `devcontainer.json` múltiples en el repositorio, estos se listarán en la página de opciones de creación de codespaces. Para obtener más información, consulta la sección "[Crear un codespace](/codespaces/developing-in-codespaces/creating-a-codespace#creating-a-codespace)". - ![A choice of configuration files](/assets/images/help/codespaces/configuration-file-choice.png) + ![Una elección de archivos de configuración](/assets/images/help/codespaces/configuration-file-choice.png) ### Selección de configuración predeterminada durante la creación de codespaces Si existe el archivo `.devcontainer/devcontainer.json` o `.devcontainer.json`, este será la selección predeterminada en la lista de archivos de configuración disponibles cuando crees un codespace. Si no existe ninguno de ellos, se seleccionará la configuración de contenedor dev predefinida. -![The default configuration choice selected](/assets/images/help/codespaces/configuration-file-choice-default.png) +![La elección de configuración predeterminada seleccionada](/assets/images/help/codespaces/configuration-file-choice-default.png) ### Editar el archivo devcontainer.json -You can add and edit the supported configuration keys in the `devcontainer.json` file to specify aspects of the codespace's environment, like which {% data variables.product.prodname_vscode_shortname %} extensions will be installed. {% data reusables.codespaces.more-info-devcontainer %} +Puedes agregar y editar las llaves de configuración compatibles en el archivo `devcontainer.json` para especificar los aspectos del ambiente del codespace, como qué extensiones de {% data variables.product.prodname_vscode_shortname %} se instalarán. {% data reusables.codespaces.more-info-devcontainer %} -El archivo de `devcontainer.json` se escribe utilizando el formato JSONC. Esto te permite incluir comentarios dentro del archivo de configuración. For more information, see "[Editing JSON with {% data variables.product.prodname_vscode_shortname %}](https://code.visualstudio.com/docs/languages/json#_json-with-comments)" in the {% data variables.product.prodname_vscode_shortname %} documentation. +El archivo de `devcontainer.json` se escribe utilizando el formato JSONC. Esto te permite incluir comentarios dentro del archivo de configuración. Para obtener más información, consulta la sección "[Editar JSON con {% data variables.product.prodname_vscode_shortname %}](https://code.visualstudio.com/docs/languages/json#_json-with-comments)" en la documentación de {% data variables.product.prodname_vscode_shortname %}. {% note %} -**Note**: If you use a linter to validate the `devcontainer.json` file, make sure it is set to JSONC and not JSON or comments will be reported as errors. +**Nota**: Si utilizas un limpiador de código para validar el archivo `devcontainer.json`, asegúrate de que esté configurado en JSONC y no en JSON, de lo contrario, los comentarios se reportarán como errores. {% endnote %} -### Editor settings for {% data variables.product.prodname_vscode_shortname %} +### Ajustes de editor para {% data variables.product.prodname_vscode_shortname %} {% data reusables.codespaces.vscode-settings-order %} -You can define default editor settings for {% data variables.product.prodname_vscode_shortname %} in two places. +Puedes definir los ajustes de editor para {% data variables.product.prodname_vscode_shortname %} en dos lugares. -* Editor settings defined in the `.vscode/settings.json` file in your repository are applied as _Workspace_-scoped settings in the codespace. -* Editor settings defined in the `settings` key in the `devcontainer.json` file are applied as _Remote [Codespaces]_-scoped settings in the codespace. +* Los ajustes de editor que se definen en el archivo `.vscode/settings.json` de tu repositorio se aplican como ajustes con alcance de _Workspace_ en el codespace. +* Los ajustes de editor que se definen en la clave `settings` en el archivo `devcontainer.json` están aplicados como ajustes con alcance de _Remote [Codespaces]_ en el codespace. -## Applying configuration changes to a codespace +## Aplicar los cambios de configuración a un codespace {% data reusables.codespaces.apply-devcontainer-changes %} {% data reusables.codespaces.rebuild-command %} -1. {% data reusables.codespaces.recovery-mode %} Fix the errors in the configuration. +1. {% data reusables.codespaces.recovery-mode %} Corrige los errores en la configuración. ![Mensaje de error sobre el modo de recuperación](/assets/images/help/codespaces/recovery-mode-error-message.png) diff --git a/translations/es-ES/content/codespaces/troubleshooting/working-with-support-for-github-codespaces.md b/translations/es-ES/content/codespaces/troubleshooting/working-with-support-for-github-codespaces.md index 032e738980..20e456106e 100644 --- a/translations/es-ES/content/codespaces/troubleshooting/working-with-support-for-github-codespaces.md +++ b/translations/es-ES/content/codespaces/troubleshooting/working-with-support-for-github-codespaces.md @@ -31,6 +31,7 @@ El nombre del codespace también se incluye en muchos otros archivos de bitácor Cada codespace también tiene un ID (identificador). Este no se muestra predeterminadamente en {% data variables.product.prodname_vscode %}, así que podrías tener que actualizar los ajustes para la extensión de {% data variables.product.prodname_github_codespaces %} antes de que puedas acceder a la ID. 1. En {% data variables.product.prodname_vscode %}, ya sea la versión de buscador o de escritorio, en la barra de actividad a la izquierda, haz clic en **Explorador remoto** para que se muestren los detalles del codespace. -2. Si la barra lateral incluye una sección de "Rendimiento del Codespace", pasa el puntero del mouse sobre "ID del Codespace" y haz clic en el icono de portapapeles para copiar la ID. -3. Si no se muestra la información, haz clic en {% octicon "gear" aria-label="The gear icon" %} en la esquina inferior izquierda de la barra de actividad para mostrar la pestaña de "Ajustes". -4. Expande las **Extensiones** y haz clic en **{% data variables.product.prodname_github_codespaces %}** para mostrar los ajustes de la extensión. Entonces, habilita el **Explorador para mostrar el rendmiento** para mostrar la sección de "Rendimiento del Codespace" en la barra lateral. ![ID y ajustes del codespace requeridos para mostrar la información de rendimiento](/assets/images/help/codespaces/find-codespace-id.png) +{% indented_data_reference reusables.codespaces.remote-explorer spaces=3 %} +1. Si la barra lateral incluye una sección de "Rendimiento del Codespace", pasa el puntero del mouse sobre "ID del Codespace" y haz clic en el icono de portapapeles para copiar la ID. +1. Si no se muestra la información, haz clic en {% octicon "gear" aria-label="The gear icon" %} en la esquina inferior izquierda de la barra de actividad para mostrar la pestaña de "Ajustes". +1. Expande las **Extensiones** y haz clic en **{% data variables.product.prodname_github_codespaces %}** para mostrar los ajustes de la extensión. Entonces, habilita el **Explorador para mostrar el rendmiento** para mostrar la sección de "Rendimiento del Codespace" en la barra lateral. ![ID y ajustes del codespace requeridos para mostrar la información de rendimiento](/assets/images/help/codespaces/find-codespace-id.png) diff --git a/translations/es-ES/content/communities/using-templates-to-encourage-useful-issues-and-pull-requests/common-validation-errors-when-creating-issue-forms.md b/translations/es-ES/content/communities/using-templates-to-encourage-useful-issues-and-pull-requests/common-validation-errors-when-creating-issue-forms.md index a4246b9192..694a347d89 100644 --- a/translations/es-ES/content/communities/using-templates-to-encourage-useful-issues-and-pull-requests/common-validation-errors-when-creating-issue-forms.md +++ b/translations/es-ES/content/communities/using-templates-to-encourage-useful-issues-and-pull-requests/common-validation-errors-when-creating-issue-forms.md @@ -633,7 +633,7 @@ body: The template body `key:value` pair can not be empty. For more information about which top-level keys are required, see "[Syntax for issue forms](/communities/using-templates-to-encourage-useful-issues-and-pull-requests/syntax-for-issue-forms#top-level-syntax)." -The error can be fixed by adding the `body:` section. +El error se puede corregir agregando la sección `body:`. ### Ejemplo @@ -647,7 +647,7 @@ body: label: "What's wrong?" ``` -In this example, the error can be fixed by deleting the `---` (document separator) between the headers and the `body` section. +En este ejemplo, el error se puede corregir borrando el `---` (separador de documentos) entre los encabezados y la sección `body`. ```yaml name: Support Request diff --git a/translations/es-ES/content/developers/overview/about-githubs-apis.md b/translations/es-ES/content/developers/overview/about-githubs-apis.md index 7bf834d9c7..7393f32fea 100644 --- a/translations/es-ES/content/developers/overview/about-githubs-apis.md +++ b/translations/es-ES/content/developers/overview/about-githubs-apis.md @@ -15,17 +15,3 @@ topics: --- Hay dos versiones estables de la API de GitHub: la [API de REST](/rest) y la [API de GraphQL](/graphql). - -## Versiones obsoletas - -### beta - -Se hizo obsoleta la API beta el 22 de abril de 2014. - -### v2 - -Eliminamos el soporte para la API v2 en el 12 de junio de 2012. - -### v1 - -Eliminamos el soporte para la API v1 en el 12 de junio de 2012. diff --git a/translations/es-ES/content/education/explore-the-benefits-of-teaching-and-learning-with-github-education/index.md b/translations/es-ES/content/education/explore-the-benefits-of-teaching-and-learning-with-github-education/index.md index 7f26718d4f..d0a7ad8682 100644 --- a/translations/es-ES/content/education/explore-the-benefits-of-teaching-and-learning-with-github-education/index.md +++ b/translations/es-ES/content/education/explore-the-benefits-of-teaching-and-learning-with-github-education/index.md @@ -9,8 +9,8 @@ redirect_from: versions: fpt: '*' children: - - /use-github-at-your-educational-institution - /github-global-campus-for-students - /github-global-campus-for-teachers + - /use-github-at-your-educational-institution --- diff --git a/translations/es-ES/content/education/manage-coursework-with-github-classroom/teach-with-github-classroom/reuse-an-assignment.md b/translations/es-ES/content/education/manage-coursework-with-github-classroom/teach-with-github-classroom/reuse-an-assignment.md index 46598b60cb..3a7153fb4d 100644 --- a/translations/es-ES/content/education/manage-coursework-with-github-classroom/teach-with-github-classroom/reuse-an-assignment.md +++ b/translations/es-ES/content/education/manage-coursework-with-github-classroom/teach-with-github-classroom/reuse-an-assignment.md @@ -9,9 +9,9 @@ shortTitle: Rechazar una tarea ## Acerca de reutilizar tareas -Puedes reutilizar una tarea grupal o individual existente en cualquier otra aula a la cual tengas acceso, incluyendo aquellas en una organización distinta. También puedes reutilizar tareas múltiples a la vez desde un aula. Si eliges reutilizar una tarea, {% data variables.product.prodname_classroom %} la copiará al aula que elijas. If the assignment uses a template repository and you choose to reuse it in a classroom from a different organization, {% data variables.product.prodname_classroom %} will create a copy of the repository and its contents in the target organization. +Puedes reutilizar una tarea grupal o individual existente en cualquier otra aula a la cual tengas acceso, incluyendo aquellas en una organización distinta. También puedes reutilizar tareas múltiples a la vez desde un aula. Si eliges reutilizar una tarea, {% data variables.product.prodname_classroom %} la copiará al aula que elijas. Si la tarea utiliza un repositorio en borrador y eliges reutilizarlo en un aula desde una organización diferente, {% data variables.product.prodname_classroom %} creará una copia del repositorio y de su contenido en la organización destino. -The copied assignment includes assignment details such as the name, source repository, autograding test, and preferred editor. You can edit the assignment after it has been copied to make changes. You cannot make changes to the preferred editor. +La tarea copiada incluye detalles de esta, tales como el nombre, el repositorio origen, pruebas de autoevaluación y el editor preferido. Puedes editar esta tarea después de que se copió para realizar cambios. No puedes hacer cambios al editor preferido. ## Reusing an assignment diff --git a/translations/es-ES/content/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/managing-allowed-ip-addresses-for-your-organization.md b/translations/es-ES/content/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/managing-allowed-ip-addresses-for-your-organization.md index dffbe6224a..7e04d40320 100644 --- a/translations/es-ES/content/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/managing-allowed-ip-addresses-for-your-organization.md +++ b/translations/es-ES/content/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/managing-allowed-ip-addresses-for-your-organization.md @@ -36,15 +36,20 @@ También puedes configurar las direcciones IP permitidas para las organizaciones ## Agregar una dirección IP permitida +{% data reusables.identity-and-permissions.about-adding-ip-allow-list-entries %} + {% data reusables.profile.access_org %} {% data reusables.profile.org_settings %} {% data reusables.organizations.security %} {% data reusables.identity-and-permissions.ip-allow-lists-add-ip %} {% data reusables.identity-and-permissions.ip-allow-lists-add-description %} {% data reusables.identity-and-permissions.ip-allow-lists-add-entry %} +{% data reusables.identity-and-permissions.check-ip-address %} ## Habilitar direcciones IP permitidas +{% data reusables.identity-and-permissions.about-enabling-allowed-ip-addresses %} + {% data reusables.profile.access_org %} {% data reusables.profile.org_settings %} {% data reusables.organizations.security %} @@ -69,6 +74,8 @@ Para obtener más información sobre cómo crear una lista de direcciones permit ## Editar una dirección IP permitida +{% data reusables.identity-and-permissions.about-editing-ip-allow-list-entries %} + {% data reusables.profile.access_org %} {% data reusables.profile.org_settings %} {% data reusables.organizations.security %} @@ -76,6 +83,18 @@ Para obtener más información sobre cómo crear una lista de direcciones permit {% data reusables.identity-and-permissions.ip-allow-lists-edit-ip %} {% data reusables.identity-and-permissions.ip-allow-lists-edit-description %} 1. Da clic en **Actualizar**. +{% data reusables.identity-and-permissions.check-ip-address %} + +{% ifversion ip-allow-list-address-check %} +## Verificar si se permite una dirección IP + +{% data reusables.identity-and-permissions.about-checking-ip-address %} + +{% data reusables.profile.access_org %} +{% data reusables.profile.org_settings %} +{% data reusables.organizations.security %} +{% data reusables.identity-and-permissions.check-ip-address-step %} +{% endif %} ## Eliminar una dirección IP permitida diff --git a/translations/es-ES/content/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/reviewing-the-audit-log-for-your-organization.md b/translations/es-ES/content/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/reviewing-the-audit-log-for-your-organization.md index cf4304bc34..7b668c8fea 100644 --- a/translations/es-ES/content/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/reviewing-the-audit-log-for-your-organization.md +++ b/translations/es-ES/content/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/reviewing-the-audit-log-for-your-organization.md @@ -741,7 +741,7 @@ Para obtener más información, consulta la sección "[Administrar la publicaci | Acción | Descripción | | -------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `create (crear)` | Se activa cuando un propietario de una organización crea un rol de repositorio personalizado nuevo. Para obtener más información, consulta la sección "[Administrar los roles personalizados de repositorio en una organización](/organizations/managing-peoples-access-to-your-organization-with-roles/managing-custom-repository-roles-for-an-organization)". | -| `destroy (destruir)` | Triggered when an organization owner deletes a custom repository role. Para obtener más información, consulta la sección "[Administrar los roles personalizados de repositorio en una organización](/organizations/managing-peoples-access-to-your-organization-with-roles/managing-custom-repository-roles-for-an-organization)". | +| `destroy (destruir)` | Se activa cuando un propietario de organización borra un rol de repositorio personalizado. Para obtener más información, consulta la sección "[Administrar los roles personalizados de repositorio en una organización](/organizations/managing-peoples-access-to-your-organization-with-roles/managing-custom-repository-roles-for-an-organization)". | | `actualización` | Se activa cuando un propietario de una organización edita un rol de repositorio personalizado existente. Para obtener más información, consulta la sección "[Administrar los roles personalizados de repositorio en una organización](/organizations/managing-peoples-access-to-your-organization-with-roles/managing-custom-repository-roles-for-an-organization)". | {% endif %} diff --git a/translations/es-ES/content/packages/working-with-a-github-packages-registry/working-with-the-npm-registry.md b/translations/es-ES/content/packages/working-with-a-github-packages-registry/working-with-the-npm-registry.md index 6714384e4d..993e933de3 100644 --- a/translations/es-ES/content/packages/working-with-a-github-packages-registry/working-with-the-npm-registry.md +++ b/translations/es-ES/content/packages/working-with-a-github-packages-registry/working-with-the-npm-registry.md @@ -94,7 +94,7 @@ $ npm login --scope=@OWNER --registry=https://HOSTNAME/_regist {% endnote %} -By default, {% data variables.product.prodname_registry %} publishes a package in the {% data variables.product.prodname_dotcom %} repository you specify in the name field of the *package.json* file. For example, you would publish a package named `@my-org/test` to the `my-org/test` {% data variables.product.prodname_dotcom %} repository. You can add a summary for the package listing page by including a *README.md* file in your package directory. For more information, see "[Working with package.json](https://docs.npmjs.com/getting-started/using-a-package.json)" and "[How to create Node.js Modules](https://docs.npmjs.com/getting-started/creating-node-modules)" in the npm documentation. +By default, {% data variables.product.prodname_registry %} publishes a package in the {% data variables.product.prodname_dotcom %} repository you specify in the name field of the *package.json* file. For example, you would publish a package named `@my-org/test` to the `my-org/test` {% data variables.product.prodname_dotcom %} repository. If you're running [npm v8.5.3](https://github.com/npm/cli/releases/tag/v8.5.3) or later, you can add a summary for the package listing page by including a *README.md* file in your package directory. For more information, see "[Working with package.json](https://docs.npmjs.com/getting-started/using-a-package.json)" and "[How to create Node.js Modules](https://docs.npmjs.com/getting-started/creating-node-modules)" in the npm documentation. You can publish multiple packages to the same {% data variables.product.prodname_dotcom %} repository by including a `URL` field in the *package.json* file. For more information, see "[Publishing multiple packages to the same repository](#publishing-multiple-packages-to-the-same-repository)." diff --git a/translations/es-ES/content/pages/getting-started-with-github-pages/creating-a-github-pages-site.md b/translations/es-ES/content/pages/getting-started-with-github-pages/creating-a-github-pages-site.md index 4f87e13fa6..48bb45c952 100644 --- a/translations/es-ES/content/pages/getting-started-with-github-pages/creating-a-github-pages-site.md +++ b/translations/es-ES/content/pages/getting-started-with-github-pages/creating-a-github-pages-site.md @@ -59,9 +59,9 @@ shortTitle: Crear un sitio de GitHub Pages Puedes agregar más páginas a tu sitio creando más archivos nuevos. Cada archivo estará disponible en tu sitio en la misma estructura de directorios que tu fuente de publicación. Por ejemplo, si la fuente de publicación para tu sitio de proyectos es la rama `gh-pages`, y creas un archivo nuevo denominado `/about/contact-us.md` en la rama `gh-pages`, el archivo estará disponible en {% ifversion fpt or ghec %}`https://.github.io//{% else %}`http(s):///pages///{% endif %}about/contact-us.html`. -También puedes agregar un tema para personalizar la apariencia de tu sitio. For more information, see "[Adding a theme to your {% data variables.product.prodname_pages %} site using Jekyll](/articles/adding-a-theme-to-your-github-pages-site-using-jekyll)". +También puedes agregar un tema para personalizar la apariencia de tu sitio. Para obtener más información, consulta la sección "[Agregar un tema a tu sitio de {% data variables.product.prodname_pages %} utilizando Jekyll](/articles/adding-a-theme-to-your-github-pages-site-using-jekyll)". -Para personalizar aún más tu sitio, puedes usar Jekyll, un generador de sitio estático con soporte integrado para {% data variables.product.prodname_pages %}. For more information, see "[About {% data variables.product.prodname_pages %} and Jekyll](/articles/about-github-pages-and-jekyll)". +Para personalizar aún más tu sitio, puedes usar Jekyll, un generador de sitio estático con soporte integrado para {% data variables.product.prodname_pages %}. Para obtener más información, consulta la sección "[Acerca de {% data variables.product.prodname_pages %} y Jekyll](/articles/about-github-pages-and-jekyll)". ## Leer más diff --git a/translations/es-ES/content/pages/quickstart.md b/translations/es-ES/content/pages/quickstart.md index bcf0d37172..8577fc1f8e 100644 --- a/translations/es-ES/content/pages/quickstart.md +++ b/translations/es-ES/content/pages/quickstart.md @@ -30,7 +30,7 @@ Esta guía te mostrará cómo crear un sitio de usuario en `username.github.io`. 1. Debajo de "Compilación y despliegue", debajo de "Rama", utiliza los menús desplegables de **Ninguna** o de **Rama** y selecciona una fuente de publicación. ![Menú desplegable para seleccionar una fuente de publicación](/assets/images/help/pages/publishing-source-drop-down.png) -1. Optionally, open the `README.md` file of your repository. El archivo `README.md` es donde escribirás el contenido de tu sitio. Puedes editar el archivo o mantener el contenido predeterminado por el momento. +1. Opcionalmente, abre el archivo `README.md` de tu repositorio. El archivo `README.md` es donde escribirás el contenido de tu sitio. Puedes editar el archivo o mantener el contenido predeterminado por el momento. 1. Visita `username.github.io` para ver tu sitio web nuevo. **Nota:** Es posible que tome hasta 10 minutos la publicación de los cambios en tu sitio luego de que subes los cambios a {% data variables.product.product_name %}. ## Cambiar el título y la descripción diff --git a/translations/es-ES/content/pages/setting-up-a-github-pages-site-with-jekyll/about-github-pages-and-jekyll.md b/translations/es-ES/content/pages/setting-up-a-github-pages-site-with-jekyll/about-github-pages-and-jekyll.md index 4918308ca3..63282ba886 100644 --- a/translations/es-ES/content/pages/setting-up-a-github-pages-site-with-jekyll/about-github-pages-and-jekyll.md +++ b/translations/es-ES/content/pages/setting-up-a-github-pages-site-with-jekyll/about-github-pages-and-jekyll.md @@ -75,9 +75,9 @@ Puedes añadir `site.github` a una publicación o página para añadir cualquier {% data reusables.pages.add-jekyll-theme %} Para obtenerr más información, consulta "[Temas](https://jekyllrb.com/docs/themes/)" en la documentación de Jekyll. {% ifversion fpt or ghec %} -Puedes agregar un tema soportado a tu sitio en {% data variables.product.prodname_dotcom %}. For more information, see "[Supported themes](https://pages.github.com/themes/)" on the {% data variables.product.prodname_pages %} site and [Adding a theme to your {% data variables.product.prodname_pages %} site using Jekyll"](/articles/adding-a-theme-to-your-github-pages-site-using-jekyll). +Puedes agregar un tema soportado a tu sitio en {% data variables.product.prodname_dotcom %}. Para obtener más información, consulta la sección "[Temas compatibles](https://pages.github.com/themes/)" en el sitio de {% data variables.product.prodname_pages %} y [Agregar un tema a tu sitio de {% data variables.product.prodname_pages %} utilizando Jekyll](/articles/adding-a-theme-to-your-github-pages-site-using-jekyll). -To use any other open source Jekyll theme hosted on {% data variables.product.prodname_dotcom %}, you can add the theme manually.{% else %} You can add a theme to your site manually.{% endif %} For more information, see{% ifversion fpt or ghec %} [themes hosted on {% data variables.product.prodname_dotcom %}](https://github.com/topics/jekyll-theme) and{% else %} "[Supported themes](https://pages.github.com/themes/)" on the {% data variables.product.prodname_pages %} site and{% endif %} "[Adding a theme to your {% data variables.product.prodname_pages %} site using Jekyll](/articles/adding-a-theme-to-your-github-pages-site-using-jekyll)". +Para utilizar cualquier otro tema de código abierto de Jekyll hospedado en {% data variables.product.prodname_dotcom %}, puedes agregarlo manualmente.{% else %} Puedes agregar un tema a tu sitio manualmente.{% endif %} Para obtener más información, consulta la sección{% ifversion fpt or ghec %} [temas hospedados en {% data variables.product.prodname_dotcom %}](https://github.com/topics/jekyll-theme) y {% else %} "[Temas compatibles](https://pages.github.com/themes/)" en el sitio de {% data variables.product.prodname_pages %} y{% endif %} "[Agergar un tema a tu sitio de {% data variables.product.prodname_pages %} utilziando Jekyll](/articles/adding-a-theme-to-your-github-pages-site-using-jekyll)". Puedes sobrescribir cualquiera de los valores por defecto de tu tema editando los archivos del tema. Para obtener más información, consulta la documentación de tu tema y "[Sobrescribir los valores predeterminados del tema](https://jekyllrb.com/docs/themes/#overriding-theme-defaults)" en la documentación de Jekyll. diff --git a/translations/es-ES/content/rest/actions/self-hosted-runners.md b/translations/es-ES/content/rest/actions/self-hosted-runners.md index c1564250a3..53b9bc0019 100644 --- a/translations/es-ES/content/rest/actions/self-hosted-runners.md +++ b/translations/es-ES/content/rest/actions/self-hosted-runners.md @@ -11,7 +11,7 @@ versions: --- -## About the Self-hosted runners API +## Acerca de la API de ejecutores auto-hospedados La API de ejecutores auto-hospedados te permite registrar, ver y borrar a los ejecutores auto-hospedados. {% data reusables.actions.about-self-hosted-runners %} Para obtener más información, consulta "[Alojar tus propios ejecutores](/actions/hosting-your-own-runners)". diff --git a/translations/es-ES/content/rest/actions/workflow-jobs.md b/translations/es-ES/content/rest/actions/workflow-jobs.md index 42ef772cb9..b7679ff11b 100644 --- a/translations/es-ES/content/rest/actions/workflow-jobs.md +++ b/translations/es-ES/content/rest/actions/workflow-jobs.md @@ -10,8 +10,8 @@ versions: ghec: '*' --- -## About the Workflow jobs API +## Acerca de la API de jobs de flujo de trabajo -The Workflow jobs API allows you to view logs and workflow jobs. {% data reusables.actions.about-workflow-jobs %} Para obtener más información, consulta la sección "[Sintaxis de flujode trabajo para GitHub Actions](/actions/automating-your-workflow-with-github-actions/workflow-syntax-for-github-actions)". +La API de jobs de flujo de trabajo te permite ver bitácoras y jobs de flujo de trabajo. {% data reusables.actions.about-workflow-jobs %} Para obtener más información, consulta la sección "[Sintaxis de flujode trabajo para GitHub Actions](/actions/automating-your-workflow-with-github-actions/workflow-syntax-for-github-actions)". {% data reusables.actions.actions-authentication %} {% data reusables.actions.actions-app-actions-permissions-api %} diff --git a/translations/es-ES/content/rest/activity/feeds.md b/translations/es-ES/content/rest/activity/feeds.md index dc6ff2a4ff..b1e7c8de91 100644 --- a/translations/es-ES/content/rest/activity/feeds.md +++ b/translations/es-ES/content/rest/activity/feeds.md @@ -11,9 +11,9 @@ topics: miniTocMaxHeadingLevel: 3 --- -## About the Feeds API +## Acerca de la API de fuentes -To see what feeds are available to you, use the [Get feeds](#get-feeds) operation. You can then get a feed by sending a request to one of the feed URLs. +Para ver qué fuentes están disponibles para ti, utiliza la operación [Obtener fuentes](#get-feeds). Entonces, podrás obtener una fuente enviando una solicitud a una de las URL de fuentes. ### Ejemplo de obtención de un canal de Atom diff --git a/translations/es-ES/content/rest/activity/watching.md b/translations/es-ES/content/rest/activity/watching.md index c3b3c5bece..63b7ee160f 100644 --- a/translations/es-ES/content/rest/activity/watching.md +++ b/translations/es-ES/content/rest/activity/watching.md @@ -11,6 +11,6 @@ topics: miniTocMaxHeadingLevel: 3 --- -## About the Watching API +## Acerca de la API de observar -La API de observados permite que los usuarios se suscriban a las notificaciones de la actividad de un repositorio. To bookmark a repository instead, see "[Starring](/rest/reference/activity#starring)." +La API de observados permite que los usuarios se suscriban a las notificaciones de la actividad de un repositorio. Para marcar un repositorio como favorito, en su lugar, utiliza "[Estrellas](/rest/reference/activity#starring)". diff --git a/translations/es-ES/content/rest/commits/commits.md b/translations/es-ES/content/rest/commits/commits.md index fc29bbf412..4406a46536 100644 --- a/translations/es-ES/content/rest/commits/commits.md +++ b/translations/es-ES/content/rest/commits/commits.md @@ -1,6 +1,6 @@ --- title: Confirmaciones -intro: 'The Commits API allows you to list, view, and compare commits in a repository. También puedes interactuar con los comentarios y estados de las confirmaciones.' +intro: 'La API de confirmaciones te permite listar, ver y comparar las confirmaciones de un repositorio. También puedes interactuar con los comentarios y estados de las confirmaciones.' versions: fpt: '*' ghes: '*' diff --git a/translations/es-ES/content/rest/commits/statuses.md b/translations/es-ES/content/rest/commits/statuses.md index ba2ecf3b71..02177927a5 100644 --- a/translations/es-ES/content/rest/commits/statuses.md +++ b/translations/es-ES/content/rest/commits/statuses.md @@ -1,6 +1,6 @@ --- title: Estados de confirmación -intro: 'The Commit status API allows external services to mark commits with a status, which is then reflected in pull requests involving those commits.' +intro: 'La API de estados de las confirmaciones permite que los servicios externos marquen las confirmaciones con estados, lo que se refleja posteriormente en las solicitudes de cambio que involucran dichas confirmaciones.' versions: fpt: '*' ghes: '*' @@ -12,13 +12,13 @@ miniTocMaxHeadingLevel: 3 allowTitleToDifferFromFilename: true --- -## About the Commit statuses API +## Acerca de la API de estados de las confirmaciones -The Commit status API allows external services to mark commits with an `error`, `failure`, `pending`, or `success` state, which is then reflected in pull requests involving those commits. Statuses can also include an optional `description` and `target_url`, and we highly recommend providing them as they make statuses much more useful in the GitHub UI. +La API de estados de confirmaciones permite que los servicios externos marquen las confirmaciones con un estado de `error`, `failure`, `pending` o `success`, lo que se refleja entonces en las solicitudes de cambios que involucran a dichas confirmaciones. Los estados también pueden incluir una `description` y `target_url` opcionales y recomendamos ampliamente proporcionarlas, ya que hacen que los estados sean mucho más útiles en la IU de GitHub. -As an example, one common use is for continuous integration services to mark commits as passing or failing builds using status. The `target_url` would be the full URL to the build output, and the `description` would be the high level summary of what happened with the build. +Como ejemplo, un uso común es que los servicios de integración continua marquen las confirmaciones como compilaciones que pasan o fallan utilizando los estados. La `target_url` será la URL completa para la salida de la compilación y la `description` será el resumen de alto nivel de lo que pasó con la compilación. -Los estados pueden incluir un `context` para indicar qué servicio está proporcionando ese estado. Por ejemplo, puedes hacer que tu servicio de integración continua cargue estados con un contexto de `ci`, y que una herramienta de auditoria de seguridad cargue estados con un contexto de `security`. You can then use the [Get the combined status for a specific reference](/rest/reference/commits#get-the-combined-status-for-a-specific-reference) to retrieve the whole status for a commit. +Los estados pueden incluir un `context` para indicar qué servicio está proporcionando ese estado. Por ejemplo, puedes hacer que tu servicio de integración continua cargue estados con un contexto de `ci`, y que una herramienta de auditoria de seguridad cargue estados con un contexto de `security`. Puedes utilizar entonces la función de [Obtener el estado combinado para una referencia específica](/rest/reference/commits#get-the-combined-status-for-a-specific-reference) para recuperar todo el estado de una confirmación. Toma en cuenta que el [alcance de OAuth](/developers/apps/scopes-for-oauth-apps) de `repo:status` otorga acceso dirigido a los estados **sin** otorgar también el acceso al código del repositorio, mientras que el alcance `repo` otorga permisos para el código y también para los estados. diff --git a/translations/es-ES/content/rest/deployments/deployments.md b/translations/es-ES/content/rest/deployments/deployments.md index 6e83072a88..531e552807 100644 --- a/translations/es-ES/content/rest/deployments/deployments.md +++ b/translations/es-ES/content/rest/deployments/deployments.md @@ -19,7 +19,7 @@ Los estados de despliegue permiten que los servicios externos marquen estos desp Los estados de despliegue también incluyen una `description` y una `log_url` opcionales, las cuales se recomiendan ampliamente, ya que hacen que los estados de despliegue sean más útiles. La `log_url` es la URL completa para la salida del despliegue, y la `description` es el resumen de alto nivel de lo que pasó con este despliegue. -GitHub envía eventos de `deployment` y `deployment_status` cuando se crean despliegues y estados de despliegue nuevos. Estos eventos permiten que las integraciones de terceros reciban respuesta de las solicitudes de despliegue y actualizan el estado de un despliegue conforme éste progrese. +GitHub envía eventos de `deployment` y `deployment_status` cuando se crean despliegues y estados de despliegue nuevos. These events allow third-party integrations to receive and respond to deployment requests, and update the status of a deployment as progress is made. Debajo encontrarás un diagrama de secuencia simple que explica cómo funcionarían estas interacciones. diff --git a/translations/es-ES/content/rest/deployments/environments.md b/translations/es-ES/content/rest/deployments/environments.md index 327e07682e..1fa057748e 100644 --- a/translations/es-ES/content/rest/deployments/environments.md +++ b/translations/es-ES/content/rest/deployments/environments.md @@ -1,5 +1,5 @@ --- -title: Deployment environments +title: Ambientes de despliegue allowTitleToDifferFromFilename: true shortTitle: Ambientes intro: 'The Deployment environments API allows you to create, configure, and delete deployment environments.' diff --git a/translations/es-ES/content/rest/enterprise-admin/org-pre-receive-hooks.md b/translations/es-ES/content/rest/enterprise-admin/org-pre-receive-hooks.md index 5630a14282..ad853ad3f9 100644 --- a/translations/es-ES/content/rest/enterprise-admin/org-pre-receive-hooks.md +++ b/translations/es-ES/content/rest/enterprise-admin/org-pre-receive-hooks.md @@ -1,6 +1,6 @@ --- -title: Organization Pre-receive Hooks -intro: The Organization Pre-receive Hooks API allows you to view and modify enforcement of the pre-receive hooks that are available to an organization. +title: Ganchos de pre-recepción de organización +intro: La API de ganchos de pre-recepción de organización te permite ver y modificar el requisito de tener ganchos de pre-recepción que están disponibles para una organización. versions: ghes: '*' topics: @@ -20,4 +20,4 @@ allowTitleToDifferFromFilename: true Los valores posibles para *enforcement* son `enabled`, `disabled` y `testing`. El valor `disabled` indica que el gancho de pre-recepción no se ejecutará. El valor `enabled` indica que se ejecutará y rechazará cualquier carga que resulte en un estado diferente a zero. El valor `testing` indica que el script va a ejecutarse pero no va a causar que se rechace ninguna carga. -`configuration_url` may be a link to this endpoint or this hook's global configuration. Solo los administradores de sistema pueden acceder a la configuración global. +`configuration_url` podría ser un enlace a esta terminal o a la configuración global de este gancho. Solo los administradores de sistema pueden acceder a la configuración global. diff --git a/translations/es-ES/content/rest/gitignore.md b/translations/es-ES/content/rest/gitignore.md index b8eeb69e0f..1932f57825 100644 --- a/translations/es-ES/content/rest/gitignore.md +++ b/translations/es-ES/content/rest/gitignore.md @@ -13,7 +13,7 @@ redirect_from: - /rest/reference/gitignore --- -## About the Gitignore API +## Acerca de la API de Gitignore Cuando creas un repositorio nuevo en {% ifversion ghae %}{% data variables.product.product_name %}{% else %}{% data variables.product.product_location %}{% endif %} a través de la API, puedes especificar una [plantilla de.gitignore](/github/getting-started-with-github/ignoring-files) para aplicarla al repositorio cuando lo crees. La API de plantillas de .gitignore lista y recupera plantillas del [repositorio de .gitignore](https://github.com/github/gitignore) de {% data variables.product.product_name %}. diff --git a/translations/es-ES/content/rest/guides/getting-started-with-the-rest-api.md b/translations/es-ES/content/rest/guides/getting-started-with-the-rest-api.md index 3453491ad2..13bfbea29f 100644 --- a/translations/es-ES/content/rest/guides/getting-started-with-the-rest-api.md +++ b/translations/es-ES/content/rest/guides/getting-started-with-the-rest-api.md @@ -1,9 +1,6 @@ --- title: Iniciar con la API de REST -intro: 'Aprende las bases para utilizar la API de REST, comenzando con la autenticación y algunos ejemplos de las terminales.' -redirect_from: - - /guides/getting-started - - /v3/guides/getting-started +intro: 'Aprende cómo utilizar la API de REST de {% data variables.product.prodname_dotcom %}.' versions: fpt: '*' ghes: '*' @@ -11,418 +8,754 @@ versions: ghec: '*' topics: - API -shortTitle: Introducción - API de REST +shortTitle: Utilizar la API +miniTocMaxHeadingLevel: 3 --- +## Acerca de la API de REST de {% data variables.product.prodname_dotcom %} -Vamos a explicar los conceptos centrales de la API mientras incluímos algunos casos de uso cotidiano. +Este artículo describe cómo utilizar la API de REST de {% data variables.product.prodname_dotcom %} usando el {% data variables.product.prodname_cli %}, JavaScript o cURL. Para encontrar una guía de inicio rápido, consulta la "[Guía de inicio rápido para la API de REST de GitHub](/rest/quickstart)". -{% data reusables.rest-api.dotcom-only-guide-note %} +Cuando haces una solicitud a la API de REST, especificarás un método HTTP y una ruta. Adicionalmente, también podrías especificar encabezados de solicitud y parámetros de ruta, consulta o cuerpo. La API devolverá el código de estado de respuesta, los encabezados de respuesta y, potencialmente, un cuerpo de respuesta. -## Resumen +La documentación de referencia de la API de REST describe el método HTTP, ruta y parámetros para cada operación. También muestra solicitudes y respuestas de ejemplo para cada operación. Para obtener más información, consulta la [documentación de referencia de REST](/rest). -La mayoría de las aplicaciones utilizan una [biblioteca de seguridad][wrappers] en el lenguaje de programación que escojas, pero es importante que te familiarices con los métodos HTTP básicos de la API primero. +## Hacer una solicitud -No hay una forma más fácil de hacerlo que a través de [cURL][curl].{% ifversion fpt or ghec %} Si estás utilizando un cliente alternativo, tioma en cuenta que necesitarás enviar un [encabezado de Agente de Usuario](/rest/overview/resources-in-the-rest-api#user-agent-required) válido en tu solicitud.{% endif %} +Para hacer una solicitud, primero encuentra el método HTTP y la ruta para la operación que quieres utilizar. Por ejemplo, la operación "Get Octocat" utiliza el método `GET` y la ruta `/octocat`. Para encontrar la documentación completa para esta operación, consulta "[Get Octocat](/rest/meta#get-octocat)". -### Hola Mundo +{% cli %} -Comencemos por probar nuestra configuración. Abre una instancia de la línea de comandos e ingresa el siguiente comando: +{% note %} + +**Nota**: Debes instalar el {% data variables.product.prodname_cli %} para poder utilizar los comandos en los ejemplos del {% data variables.product.prodname_cli %}. Para encontrar instrucciones de instalación, consulta el [repositorio de {% data variables.product.prodname_cli %}](https://github.com/cli/cli#installation). + +{% endnote %} + +Si aún no estás autenticado en el {% data variables.product.prodname_cli %}, debes utilizar el subcomando `gh auth login` para autenticarte antes de hacer hacer cualquier tipo de solicitud. For more information, see "[Authenticating](#authenticating)." + +Para hacer una solicitud utilizando el {% data variables.product.prodname_cli %}, utiliza el subcomando `api` junto con la ruta. Utiliza el marcador `--method` o `-X` para especificar el método. ```shell -$ curl https://api.github.com/zen - -> Keep it logically awesome. +gh api /octocat --method GET ``` -La respuesta será una selección aleatoria de nuestra filosofía de diseño. +{% endcli %} -Posteriormente, vamos a hacer `GET` para el [perfil de GitHub][users api] de [Chris Wanstrath][defunkt github]: +{% javascript %} + +{% note %} + +**Nota**: Debes instalar e importar `octokit` para utilizar la librería Octokit.js que se utiliza en los ejemplos de JavaScript. Para obtener más información, consulta [el README de Octokit.js](https://github.com/octokit/octokit.js/#readme). + +{% endnote %} + +Para hacer una solicitud utilizando JavaScript, puedes usar Octokit.js. Para obtener más información, consulta [el README de Octokit.js](https://github.com/octokit/octokit.js/#readme). + +Primero, crea una instancia de `Octokit`.{% ifversion ghes or ghae %} Ajusta la URL base en `{% data variables.product.api_url_code %}`. Reemplaza a `[hostname]` con el nombre de {% data variables.product.product_location %}.{% endif %} + +```javascript +const octokit = new Octokit({ {% ifversion ghes or ghae %} + baseUrl: "{% data variables.product.api_url_code %}", +{% endif %}}); +``` + +Luego, utiliza el método `request` para hacer solilcitudes. Pasa el método HTTP y la ruta como el primer argumento. + +```javascript +await octokit.request("GET /octocat", {}); +``` + +{% endjavascript %} + +{% curl %} + +Antepón la URL base para la API de REST de {% data variables.product.prodname_dotcom %}, `{% data variables.product.api_url_code %}`, a la ruta para obtener la URL completa: `{% data variables.product.api_url_code %}/octocat`.{% ifversion ghes or ghae %} Reemplaza a `[hostname]` con el nombre de {% data variables.product.product_location %}.{% endif %} + +Utiliza el comando `curl` en tu línea de comando. Utiliza el marcador `--request` o `-X` seguido del método HTTP. Utiliza el marcador `--url` seguido de la URL completa. ```shell -# GET /users/defunkt -$ curl https://api.github.com/users/defunkt - -> { -> "login": "defunkt", -> "id": 2, -> "node_id": "MDQ6VXNlcjI=", -> "avatar_url": "https://avatars.githubusercontent.com/u/2?v=4", -> "gravatar_id": "", -> "url": "https://api.github.com/users/defunkt", -> "html_url": "https://github.com/defunkt", -> ... -> } +curl --request GET \ +--url "https://api.github.com/octocat" ``` -Mmmm, sabe a [JSON][json]. Vamos a agregar el marcador `-i` para que incluya los encabezados: +{% note %} + +**Nota**: Si obtienes un mensaje similar a "command not found: curl", puede que necesites descargar e instalar cURL. Para obtener más información, consulta [la página de descarga del proyecto cURL](https://curl.se/download.html). + +{% endnote %} + +{% endcurl %} + +Sigue leyendo para aprender cómo autenticarte, enviar parámetros y utilizar la respuesta. + +## Autenticarse + +Muchas operaciones necesitan autenticación o devuelven información adicional si estás autenticado. Adicionalmente, puedes hacer más solicitudes por hora cuando estás autenticado.{% cli %} Aunque se puede acceder a algunas operaciones de la API de REST sin autenticación, debes autenticar en el {% data variables.product.prodname_cli %} para utilizar el subcomando `api`.{% endcli %} + +### Acerca de los tokens + +Puedes autenticar tu solicitud agregando un token. + +Si quieres utilizar la API de REST de {% data variables.product.company_short %} para uso personal, puedes crear un token de acceso personal (PAT). Las operaciones de la API de REST que se utilizan en este artículo requieren del alcance `repo` para los tokens de acceso personal. Otras operaciones podrían requerir alcances diferentes. Para obtener más información acerca de cómo crear un token de acceso personal, consulta la sección "[Crear un token de acceso personal](/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token)". + +Si quieres utilizar la API en nombre de una organización o de otro usuario, {% data variables.product.company_short %} recomienda que utilices una {% data variables.product.prodname_github_app %}. Si una operación está disponible para las {% data variables.product.prodname_github_apps %}, la documentación de referencia de REST para dicha operación dirá "Works with GitHub Apps". Las operaciones de la API de REST que se utilizan en este artículo requieren permisos de lectura y escritura de `issues` para las {% data variables.product.prodname_github_apps %}. Otras operaciones podrían requerir permisos diferentes. Para obtener más información, consulta las secciones "[Crear una GitHub App](/developers/apps/building-github-apps/creating-a-github-app)", "[Autenticarte con las GitHub Apps](/developers/apps/building-github-apps/authenticating-with-github-apps)" e "[Identificar y autorizar usuarios para las GitHub Apps](/developers/apps/building-github-apps/identifying-and-authorizing-users-for-github-apps)". + +Si quieres utilizar la API en un flujo de trabajo de {% data variables.product.prodname_actions %}, {% data variables.product.company_short %} recomienda que te autentiques con el `GITHUB_TOKEN` integrado en vez de crear un token. Puedes otorgar permisos al `GITHUB_TOKEN` con la clave `permissions`. Para obtener más información, consulta la sección "[Autenticación automática de tokens](/actions/security-guides/automatic-token-authentication#permissions-for-the-github_token)". + +### Ejemplo de autenticación + +{% cli %} + +Con el {% data variables.product.prodname_cli %}, no necesitas crear un token de acceso anticipadamente. Utiliza el subcomando `auth login` para autenticarte en el {% data variables.product.prodname_cli %}: ```shell -$ curl -i https://api.github.com/users/defunkt - -> HTTP/2 200 -> server: GitHub.com -> date: Thu, 08 Jul 2021 07:04:08 GMT -> content-type: application/json; charset=utf-8 -> cache-control: public, max-age=60, s-maxage=60 -> vary: Accept, Accept-Encoding, Accept, X-Requested-With -> etag: W/"61e964bf6efa3bc3f9e8549e56d4db6e0911d8fa20fcd8ab9d88f13d513f26f0" -> last-modified: Fri, 01 Nov 2019 21:56:00 GMT -> x-github-media-type: github.v3; format=json -> access-control-expose-headers: ETag, Link, Location, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Used, X-RateLimit-Resource, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval, X-GitHub-Media-Type, Deprecation, Sunset -> access-control-allow-origin: * -> strict-transport-security: max-age=31536000; includeSubdomains; preload -> x-frame-options: deny -> x-content-type-options: nosniff -> x-xss-protection: 0 -> referrer-policy: origin-when-cross-origin, strict-origin-when-cross-origin -> content-security-policy: default-src 'none' -> x-ratelimit-limit: 60 -> x-ratelimit-remaining: 53 -> x-ratelimit-reset: 1625731053 -> x-ratelimit-resource: core -> x-ratelimit-used: 7 -> accept-ranges: bytes -> content-length: 1305 -> x-github-request-id: 9F60:7019:ACC5CD5:B03C931:60E6A368 -> -> { -> "login": "defunkt", -> "id": 2, -> "node_id": "MDQ6VXNlcjI=", -> "avatar_url": "https://avatars.githubusercontent.com/u/2?v=4", -> "gravatar_id": "", -> "url": "https://api.github.com/users/defunkt", -> "html_url": "https://github.com/defunkt", -> -> ... -> } +gh auth login ``` -Hay algunas partes interesantes en los encabezados de la respuesta. Como lo esperábamos, el `Content-Type` es `application/json`. +Puedes utilizar el marcador `--scopes` para especificar los alcances que quieres. Si quieres autenticarte con un token que hayas creado, puedes utilizar el marcador `--with-token`. Para obtener más información, consulta la [documentación de `auth login` del {% data variables.product.prodname_cli %}](https://cli.github.com/manual/gh_auth_login). -Cualquier encabezado que comience como `X` se refiere a un encabezado personalizado, y no se incluirá en la especificación de HTTPS. Por ejemplo, toma en cuenta los encabezados `X-RateLimit-Limit` y `X-RateLimit-Remaining`. Este par de encabezados indican [cuántas solicitudes puede hacer un cliente][rate-limiting] en un periodo continuo (habitualmente, una hora) y cuántas de ellas ya ha gastado el cliente. +{% endcli %} -## Autenticación - -Los clientes sin autenticar pueden hacer hasta 60 solicitudes por hora. Para obtener más solicitudes por hora, necesitaremos _autenticarnos_. De hecho, para hacer cualquier cosa interesante con la API de {% ifversion fpt or ghec %}{% data variables.product.prodname_dotcom %}{% else %}{% data variables.product.product_name %}{% endif %} se necesita [autenticación][authentication]. - -### Utilizar tokens de acceso personal - -La forma más fácil y mejor de autenticarte con la API de {% ifversion fpt or ghec %}{% data variables.product.prodname_dotcom %}{% else %}{% data variables.product.product_name %}{% endif %} es utilizando la autenticación básica [mediante tokens de OAuth](/rest/overview/other-authentication-methods#via-oauth-and-personal-access-tokens). Éstos incluyen [tokens de acceso personal][personal token]. - -Utiliza el marcador `-u` para configurar tu nombre de usuario: - -```shell -$ curl -i -u your_username {% data variables.product.api_url_pre %}/users/octocat - -``` - -Cuando se te solicite, puedes ingresar tu token de OAuth, pero te recomendamos que configures una variable para éste: - -Puedes utilizar `-u "your_username:$token"` y configurar una variable para `token` y así evitar que tu token se quede en el historial del shell, lo cual debes evitar. - -```shell -$ curl -i -u your_username:$token {% data variables.product.api_url_pre %}/users/octocat - -``` - -Cuando te autentiques, debes ver como tu límite de tasa sube hasta 5,000 solicitudes por hora, como se indicó en el encabezado `X-RateLimit-Limit`. Adicionalmente a proporcionar más llamadas por hora, la autenticación te permite leer y escribir información privada utilizando la API. - -Puedes [crear un**token de acceso personal**][personal token] fácilmente utilizando tu [página de configuración para tokens de acceso personal][tokens settings]: +{% javascript %} {% warning %} -Para mantener tu información segura, te recomendamos ampliamente que configures un vencimiento para tus tokens de acceso personal. +**Advertencia**: Trata tu token de acceso como si fuera una contraseña. + +Para mantener seguro a tu token, puedes almacenarlo como un secreto y ejecutar tu script mediante {% data variables.product.prodname_actions %}. Para obtener más información, consulta la sección "[Secretos cifrados](/actions/security-guides/encrypted-secrets)". + +{% ifversion ghec or fpt %}También puedes almacenar tu token como un secreto de {% data variables.product.prodname_codespaces %} y ejecutar tu script en {% data variables.product.prodname_codespaces %}. Para obtener más información, consulta la sección "[Administrar los secretos cifrados para tus codespaces](/codespaces/managing-your-codespaces/managing-encrypted-secrets-for-your-codespaces)".{% endif %} + +Si estas opciones no son posibles, considera utilizar otro servicio tal como [el 1Password CLI](https://developer.1password.com/docs/cli/secret-references/) para almacenar tu token de forma segura. {% endwarning %} -{% ifversion fpt or ghes or ghec %} -![Selección de token personal](/assets/images/personal_token.png) +Para autenticarte con la librería Octokit.js, puedes pasar tu token cuando crees una instancia de `Octokit`. Reemplaza tu `YOUR-TOKEN` con tu token.{% ifversion ghes or ghae %} Reemplaza `[hostname]` con el nombre de {% data variables.product.product_location %}.{% endif %} + +```javascript +const octokit = new Octokit({ {% ifversion ghes or ghae %} + baseUrl: "{% data variables.product.api_url_code %}",{% endif %} + auth: 'YOUR-TOKEN', +}); +``` + +{% endjavascript %} + +{% curl %} + +{% warning %} + +**Advertencia**: Trata a tu token de acceso como si fuera una contraseña. + +Para ayudarte a mantener segura tu cuenta, puedes utilizar el {% data variables.product.prodname_cli %} en vez de cURL. El {% data variables.product.prodname_cli %} se encargará de la autenticación por ti. Para obtener más información, consulta la versión del {% data variables.product.prodname_cli %} de esta página. + +{% ifversion ghec or fpt %}También puedes almacenar tu token como un secreto de {% data variables.product.prodname_codespaces %} y utilizar la línea de comandos a través de {% data variables.product.prodname_codespaces %}. Para obtener más información, consulta la sección "[Administrar los secretos cifrados para tus codespaces](/codespaces/managing-your-codespaces/managing-encrypted-secrets-for-your-codespaces)".{% endif %} + +Si estas opciones no son posibles, considera utilizar otro servicio tal como [el 1Password CLI](https://developer.1password.com/docs/cli/secret-references/) para almacenar tu token de forma segura. + +{% endwarning %} + +Con cURL, enviarás un encabezado de `Authorization` con tu token. Reemplaza `YOUR-TOKEN` con tu token: + +```shell +curl --request GET \ +--url "https://api.github.com/octocat" \ +--header "Authorization: Bearer YOUR-TOKEN" +``` + +{% note %} + +**Nota:** En la mayoría de los casos, puedes utilizar `Authorization: Bearer` o `Authorization: token`. Los tokens web JSON (JWT) solo funcionarán con `Authorization: Bearer`. + +{% endnote %} + +{% endcurl %} + +### Ejemplo de autenticación para {% data variables.product.prodname_actions %} + +{% cli %} + +También puedes utilizar la palabra clave `run` para ejecutar los comandos del {% data variables.product.prodname_cli %} en tus flujos de trabajo de {% data variables.product.prodname_actions %}. Para obtener más información, consulta la sección "[Sintaxis de flujo de trabajo para las GitHub Actions](/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsrun)". + +En vez de utilizar el comando `gh auth login`, pasa tu token como una variable de ambiente llamada `GH_TOKEN`. {% data variables.product.prodname_dotcom %} recomienda que te autentiques con el `GITHUB_TOKEN` integrado en vez de crear un token. Si esto no es posible, almacena tu token como un secreto y reemplaza a `GITHUB_TOKEN` con el nombre de tu secreto en el siguiente ejemplo. Para obtener más información sobre `GITHUB_TOKEN`, consulta la sección "[Autenticación automática de token](/actions/security-guides/automatic-token-authentication)". Para obtener más información sobre los secretos, consulta la sección "[Secretos cifrados](/actions/security-guides/encrypted-secrets)". + +```yaml +jobs: + use_api: + runs-on: ubuntu-latest + permissions: {} + steps: + - env: + GH_TOKEN: {% raw %}${{ secrets.GITHUB_TOKEN }}{% endraw %} + run: | + gh api /octocat +``` + +{% endcli %} + +{% javascript %} + +También puedes utilizar la palabra clave `run` para ejecutar tus scripts de JavaScript en tus flujos de trabajo de {% data variables.product.prodname_actions %}. Para obtener más información, consultala sección "[Sintaxis de flujo de trabajo para GitHub Actions](/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsrun)". + +{% data variables.product.prodname_dotcom %} recomienda que te autentiques con el `GITHUB_TOKEN` integrado en vez de crear un token. Si esto es imposible, almacena tu token como un secreto y reemplaza a `GITHUB_TOKEN` por el nombre de tu secreto en el siguiente ejemplo. Para obtener más información sobre el `GITHUB_TOKEN`, consulta ""[Automatic token authentication](/actions/security-guides/automatic-token-authentication)". Para obtener más información sobre los secretos, consulta la sección "[Secretos cifrados](/actions/security-guides/encrypted-secrets)". + +El siguiente flujo de trabajo de ejemplo: + +1. Verifica el contenido del repositorio +1. Configura a Node.js +1. Instala `octokit` +1. Almacena el valor de `GITHUB_TOKEN` como una variable de ambiente llamada `TOKEN` y ejecuta `.github/actions-scripts/use-the-api.mjs`, que puede acceder a esa variable de ambiente como `process.env.TOKEN` + +Flujo de trabajo de ejemplo: + +```yaml +on: + workflow_dispatch: +jobs: + use_api_via_script: + runs-on: ubuntu-latest + permissions: {} + steps: + - name: Check out repo content + uses: {% data reusables.actions.action-checkout %} + + - name: Setup Node + uses: {% data reusables.actions.action-setup-node %} + with: + node-version: '16.15.0' + cache: npm + + - name: Install dependencies + run: npm install octokit + + - name: Run script + env: + TOKEN: {% raw %}${{ secrets.GITHUB_TOKEN }}{% endraw %} + run: | + node .github/actions-scripts/use-the-api.mjs +``` + +Script de JavaScript de ejemplo con la ruta de archivo `.github/actions-scripts/use-the-api.mjs`: + +```javascript +import { Octokit } from "octokit"; + +const octokit = new Octokit({ {% ifversion ghes or ghae %} + baseUrl: "{% data variables.product.api_url_code %}",{% endif %} + auth: process.env.TOKEN, +}); + +await octokit.request("GET /octocat", {}); +``` + +En vez de almacenar tu script en un archivo por separado y ejecutarlo desde tu flujo de trabajo, puedes utilizar la acción `actions/github-script` para ejecutar un script. Para obtener más información, consulta el [README de actions/github-script](https://github.com/actions/github-script). + +```yaml +jobs: + use_api_via_script: + runs-on: ubuntu-latest + permissions: {} + steps: + - uses: {% data reusables.actions.action-github-script %} + with: + github-token: {% raw %}${{ secrets.GITHUB_TOKEN }}{% endraw %} + script: | + await github.request('GET /octocat', {}) +``` + +{% endjavascript %} + +{% curl %} + +También puedes utilizar la palabra clave `run` para ejecutar comandos de cURL en tus flujos de trabajo de {% data variables.product.prodname_actions %}. Para obtener más información, consultala sección "[Sintaxis de flujo de trabajo para GitHub Actions](/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsrun)". + +{% data variables.product.prodname_dotcom %} recomienda que te autentiques con el `GITHUB_TOKEN` integrado en vez de crear un token. Si esto es imposible, almacena tu token como un secreto y reemplaza a `GITHUB_TOKEN` por el nombre de tu secreto en el siguiente ejemplo. Para obtener más información sobre el `GITHUB_TOKEN`, consulta ""[Automatic token authentication](/actions/security-guides/automatic-token-authentication)". Para obtener más información sobre los secretos, consulta la sección "[Secretos cifrados](/actions/security-guides/encrypted-secrets)". + +```yaml +jobs: + use_api: + runs-on: ubuntu-latest + permissions: {} + steps: + - env: + GH_TOKEN: {% raw %}${{ secrets.GITHUB_TOKEN }}{% endraw %} + run: | + curl --request GET \ + --url "https://api.github.com/octocat" \ + --header "Authorization: Bearer $GH_TOKEN" +``` + +{% endcurl %} + +## Utilizar encabezados + +La mayoría de las operaciones especifican que deberías pasar un encabezado de `Accept` con un valor de `application/vnd.github.v3+json`. Otras operaciones podrían especificar que deberías enviar un encabezado diferente de `Accept` o encabezados adicionales. + +{% cli %} + +Para enviar un encabezado con el {% data variables.product.prodname_cli %}, utiliza el marcador `--header` o `-H` seguido del encabezado en el formato `key: value`. + +```shell +gh api --header 'Accept: application/vnd.github.v3+json' --method GET /octocat +``` + +{% endcli %} + +{% javascript %} + +La librería Octokit.js pasa automáticamente el encabezado `Accept: application/vnd.github.v3+json`. Para pasar encabezados adicionales o un encabezado de `Accept` diferente, agrega la propiedad `headers` al objeto que se está pasando como un segundo argumento del método `request`. El valor de la propiedad `headers` es un objeto con los nombres de encabezado como claves y los valores de encabezado como valores. Por ejemplo, para enviar un encabezado de `content-type` con un valor de `text/plain`: + +```javascript +await octokit.request("GET /octocat", { + headers: { + "content-type": "text/plain", + }, +}); +``` + +{% endjavascript %} + +{% curl %} + +Para enviar un encabezado con cURL, utiliza el marcador `--header` o `-H` seguido del encabezado en formato `key: value`. + +```shell +curl --request GET \ +--url "https://api.github.com/octocat" \ +--header "Accept: application/vnd.github.v3+json" \ +--header "Authorization: Bearer YOUR-TOKEN" +``` + +{% endcurl %} + +## Utilizar parámetros de ruta + +Los parámetros de ruta modifican la ruta de operación. Por ejemplo, la ruta de "Listar propuestas de repositorio" es `/repos/{owner}/{repo}/issues`. Las llaves `{}` denotan parámetros de ruta que necesitas especificar. En este caso, debes especificar el nombre y propietario del repositorio. Para encontrar la documentación de referencia para esta operación, consulta la "[Lista de propuestas de repositorio](/rest/issues/issues#list-repository-issues)". + +{% cli %} + +{% ifversion ghes or ghae %} +{% note %} + +**Nota:** Para que este comando funcione para {% data variables.product.product_location %}, reemplaza `octocat/Spoon-Knife` con un repositorio que le pertenezca a {% data variables.product.product_location %}. De lo contrario, vuelve a ejecutar el comando `gh auth login` para autenticarte en {% data variables.product.prodname_dotcom_the_website %} en vez de en {% data variables.product.product_location %}. + +{% endnote %} {% endif %} -{% ifversion ghae %} -![Selección de token personal](/assets/images/help/personal_token_ghae.png) +Para obtener propuestas del repositorio `octocat/Spoon-Knife`, reemplaza `{owner}` con `octocat` y `{repo}` with `Spoon-Knife`. + +```shell +gh api --header 'Accept: application/vnd.github.v3+json' --method GET /repos/octocat/Spoon-Knife/issues +``` + +{% endcli %} + +{% javascript %} + +{% ifversion ghes or ghae %} +{% note %} + +**Nota:** Para que este ejemplo funcione para {% data variables.product.product_location %}, reemplaza a `octocat/Spoon-Knife` con un repositorio que le pertenezca a {% data variables.product.product_location %}. De lo contrario, crea una nueva instancia de `Octokit` y no especifiques la `baseURL`. + +{% endnote %} {% endif %} -Las solicitudes de la API que utilicen un token de acceso personal con vencimiento devolverán la fecha de vencimiento de dicho token a través del encabezado de `GitHub-Authentication-Token-Expiration`. Puedes utilizar el encabezado en tus scripts para proporcionar un mensaje de advertencia cuando el token esté próximo a vencer. +Cuando hagas una solicitud con Octokit.js, todos los parámetros (incluyendo los de ruta) se pasan en un objeto como el segundo argumento para el método `request`. Para obtener propuestas del repositorio `octocat/Spoon-Knife`, especifica el `owner` como `octocat` y el `repo` como `Spoon-Knife`. -### Obtén tu propio perfil de usuario - -Cuando te autenticas adecuadamente, puedes beneficiarte de los permisos asociados con tu cuenta en {% ifversion ghae %}{% data variables.product.product_name %}{% else %}{% data variables.product.product_location %}{% endif %}. Por ejemplo, intenta obtener - -```shell -$ curl -i -u your_username:your_token {% data variables.product.api_url_pre %}/user - -> { -> ... -> "plan": { -> "space": 2516582, -> "collaborators": 10, -> "private_repos": 20, -> "name": "medium" -> } -> ... -> } +```javascript +await octokit.request("GET /repos/{owner}/{repo}/issues", { + owner: "octocat", + repo: "Spoon-Knife" +}); ``` -Esta vez, adicionalmente al mismo conjunto de información pública que recuperamos para [@defunkt][defunkt github] anteriormente, también deberías ver la información diferente a la pública para tu perfil de usuario. Por ejemplo, verás un objeto de `plan` en la respuesta, el cual otorga detalles sobre el plan de {% data variables.product.product_name %} que tiene la cuenta. +{% endjavascript %} -### Utiilzar tokens de OAuth para las apps +{% curl %} -Las apps que necesitan leer o escribir información privada utilizando la API en nombre de otro usuario deben utilizar [OAuth][oauth]. +Para obtener propuestas del repositorio `octocat/Spoon-Knife`, reemplaza `{owner}` con `octocat` y `{repo}` with `Spoon-Knife`. Para crear la ruta completa, antepón la URL base para la API de REST de {% data variables.product.prodname_dotcom %}, `https://api.github.com`: `https://api.github.com/repos/octocat/Spoon-Knife/issues`. -OAuth utiliza _tokens_. Los Tokens proporcionan dos características grandes: +{% ifversion ghes or ghae %} +{% note %} -* **Acceso revocable**: los usuarios pueden revocar la autorización a las apps de terceros en cualquier momento -* **Acceso limitado**: los usuarios pueden revisar el acceso específico que proporcionará un token antes de autorizar una app de terceros +**Nota:** Si quieres utilizar {% data variables.product.product_location %} en vez de {% data variables.product.prodname_dotcom_the_website %}, utiliza `{% data variables.product.api_url_code %}` en vez de `https://api.github.com` y reemplaza a `[hostname]` con el nombre de {% data variables.product.product_location %}. Reemplaza a `octocat/Spoon-Knife` con un repositorio que le pertenezca a {% data variables.product.product_location %}. -Los tokens deben crearse mediante un [flujo web][webflow]. Una aplicación envía a los usuarios a {% data variables.product.product_name %} para que inicien sesión. Entonces, {% data variables.product.product_name %} presenta un diálogo que indica el nombre de la app así como el nivel de acceso que ésta tiene una vez que el usuario la autorice. Después de que un usuario autoriza el acceso, {% data variables.product.product_name %} lo redirecciona de vuelta a la aplicación: - -![Diálogo de OAuth de GitHub](/assets/images/oauth_prompt.png) - -**¡Trata a los tokens de OAuth como si fueran contraseñas!** No los compartas con otros usuarios ni los almacenes en lugares inseguros. Los tokens en estos ejemplos son falsos y los nombres se cambiaron para proteger a los inocentes. - -Ahora que ya entendimos cómo hacer llamadas autenticadas, vamos a pasar a la [API de repositorios][repos-api]. - -## Repositorios - -Casi cualquier uso significativo de la API de {% ifversion fpt or ghec %}{% data variables.product.prodname_dotcom %}{% else %}{% data variables.product.product_name %}{% endif %} involucrará algún nivel de información de repositorio. Podemos hacer [`GET` para los detalles de un repositorio][get repo] de la misma forma que recuperamos los detalles del usuario anteriormente: +{% endnote %} +{% endif %} ```shell -$ curl -i {% data variables.product.api_url_pre %}/repos/twbs/bootstrap +curl --request GET \ +--url "https://api.github.com/repos/octocat/Spoon-Knife/issues" \ +--header "Accept: application/vnd.github.v3+json" \ +--header "Authorization: Bearer YOUR-TOKEN" ``` -De la misma forma, podemos [ver los repositorios del usuario autenticado][user repos api]: +{% endcurl %} + +La operación devuelve una lista de propuestas y datos sobre cada una de ellas. Para obtener más información sobre cómo utilizar la respuesta, consulta la sección "[Utiliza la respuesta](#using-the-response)". + +## Utilizar parámetros de consultas + +Los parámetros de consultas te permiten controlar los datos que se devuelven para una solicitud. Por ejemplo, un parámetro de consulta te permite especificar cuántos elementos se devuelven cuando la respuesta se pagina. + +Predeterminadamente, la operación "List repository issues" devuelve treinta propuestas, ordenadas descendientemente por la fecha en la que se crearon. Puedes utilizar el parámetro `per_page` para devolver dos propuestas en vez de 30. Puedes utilizar el parámetro `sort` para ordenar las propuestas de acuerdo con la fecha en las que se actualizaron por última vez en vez de por la fecha en la que se crearon. Puedes utilizar el parámetro `direction` para ordenar los resultados ascendientemente en vez de descendientemente. + +{% cli %} + +Para el {% data variables.product.prodname_cli %}, utiliza el marcador `-F` para pasar un parámetro que sea un número, booleano o nulo. Utiliza `-f` para pasar los parámetros de secuencias. + +{% note %} + +**Nota**: El {% data variables.product.prodname_cli %} no acepta actualmente parámetros que sean arreglos. Para obtener más información, consulta [esta propuesta](https://github.com/cli/cli/issues/1484). + +{% endnote %} ```shell -$ curl -i -H "Authorization: token ghp_16C7e42F292c6912E7710c838347Ae178B4a" \ - {% data variables.product.api_url_pre %}/user/repos +gh api --header 'Accept: application/vnd.github.v3+json' --method GET /repos/octocat/Spoon-Knife/issues -F per_page=2 -f sort=updated -f direction=asc ``` -O podemos [listar los repositorios de otro usuario][other user repos api]: +{% endcli %} + +{% javascript %} + +Cuando hagas una solicitud con Octokit.js, todos los parámetros, incluyendo los de las consultas, se pasan en un objeto como el segundo argumento para el método `request`. + +```javascript +await octokit.request("GET /repos/{owner}/{repo}/issues", { + owner: "octocat", + repo: "Spoon-Knife", + per_page: 2, + sort: "updated", + direction: "asc", +}); +``` + +{% endjavascript %} + +{% curl %} + +Para cURL, agrega un `?` al final de la ruta y luego antepón tu nombre de parámetro de consulta y su valor en la forma `parameter_name=value`. Separa los parámetros de consulta múltiples con `&`. ```shell -$ curl -i {% data variables.product.api_url_pre %}/users/octocat/repos +curl --request GET \ +--url "https://api.github.com/repos/octocat/Spoon-Knife/issues?per_page=2&sort=updated&direction=asc" \ +--header "Accept: application/vnd.github.v3+json" \ +--header "Authorization: Bearer YOUR-TOKEN" ``` -O podemos [listar los repositorios de una organización][org repos api]: +{% endcurl %} + +La operación devuelve una lista de propuestas y datos sobre cada una de ellas. Para obtener más información sobre cómo utilizar la respuesta, consulta la sección "[Utiliza la respuesta](#using-the-response)". + +## Utilizar parámetros de cuerpo + +Los parámetros de cuerpo te permiten pasar datos adicionales a la API. Por ejemplo, la operación "Crear una propuesta" requiere que especifiques un título para la propuesta nueva. También te permite especificar otro tipo de información, tal como el texto a poner en el cuerpo de la propuesta. Para ver toda la documentación de referencia para esta operación, consulta la sección "[Crear una propuesta](/rest/issues/issues#create-an-issue)". + +La operación "Create an issue" utiliza la misma ruta que la operación "List repository issues" en el ejemplo anterior, pero utiliza el método `POST` en vez de un método `GET`. + +{% cli %} + +Para el {% data variables.product.prodname_cli %}, utiliza el marcador `-F` para pasar un parámetro que sea un número, booleano o nulo. Utiliza `-f` para pasar los parámetros de secuencias. + +{% note %} + +**Nota**: El {% data variables.product.prodname_cli %} no acepta actualmente parámetros que sean arreglos. Para obtener más información, consulta [esta propuesta](https://github.com/cli/cli/issues/1484). + +{% endnote %} ```shell -$ curl -i {% data variables.product.api_url_pre %}/orgs/octo-org/repos +gh api --header 'Accept: application/vnd.github.v3+json' --method POST /repos/octocat/Spoon-Knife/issues -f title="Created with the REST API" -f body="This is a test issue created by the REST API" ``` -La información que se devuelve de estas llamadas dependerá de los alcances que tenga nuestrotoken cuando nos autenticamos: +{% endcli %} -{%- ifversion fpt or ghec or ghes %} -* Un token con [alcance][scopes] de `public_repo` devolverá una respuesta que incluye todos los repositorios públicos que podemos ver en {% data variables.product.product_location %}. -{%- endif %} -* Un token con [alcance][scopes] de `repo` devolverá una respuesta que incluirá a todos los repositorios {% ifversion fpt %}públicos o privados{% elsif ghec or ghes %} públicos, privados o internos{% elsif ghae %} privados o internos{% endif %} a los que se tiene acceso para ver en {% data variables.product.product_location %}. +{% javascript %} -Como indican los [docs][repos-api], estos métodos toman un parámetro de `type` que puede filtrar los repositorios que se regresan con base en el tipo de acceso que el usuario tiene en ellos. De esta forma, podemos obtener los solo los repositorios que nos pertenezcan directamente, repositorios de organizacion o repositorios en los que el usuario colabore a través del equipo. +Cuando haces una solicitud con Octokit.js, todos los parámetros, incluyendo los del cuerpo, se pasan en un objeto como el segundo argumento al método `request`. + +```javascript +await octokit.request("POST /repos/{owner}/{repo}/issues", { + owner: "octocat", + repo: "Spoon-Knife", + title: "Created with the REST API", + body: "This is a test issue created by the REST API", +}); +``` + +{% endjavascript %} + +{% curl %} + +Para cURL, utiliza el marcador `--data` para pasar los parámetros del cuerpo en un objeto JSON. ```shell -$ curl -i "{% data variables.product.api_url_pre %}/users/octocat/repos?type=owner" +curl --request POST \ +--url "https://api.github.com/repos/octocat/Spoon-Knife/issues" \ +--header "Accept: application/vnd.github.v3+json" \ +--header "Authorization: Bearer YOUR-TOKEN" \ +--data '{ + "title": "Created with the REST API", + "body": "This is a test issue created by the REST API" +}' ``` -En este ejemplo, tomamos únicamente los repositorios que pertenecen a octocat, no aquellos en los que ella colabora. Nota la URL que se cita arriba. Dependiendo de tu configuración de shell, cURL a veces requiere una URL citada, o de lo contrario ignora la secuencia de consulta. +{% endcurl %} -### Crear un repositorio +La operación crea una propuesta y devuelve datos sobre la propuesta nueva. En la respuesta, encuentra la `html_url` de tu propuesta y navega a esta en el buscador. Para obtener más información sobre cómo utilizar la respuesta, consulta la sección "[Utiliza la respuesta](#using-the-response)". -Un caso de común de uso es retribuir información para repositorios existentes, pero la -La API de {% ifversion fpt or ghec %}{% data variables.product.prodname_dotcom %}{% else %}{% data variables.product.product_name %}{% endif %} también es compatible con crear repositorios nuevos. Para [crear un repositorio][create repo], -necesitamos hacer `POST` en algunos JSON que contengan los detalles y las opciones de configuración. +## Utilizar la respuesta + +### Acerca de los encabezados y el código de respuesta + +Cada solicitud devolverá un código de estado HTTP que indica el éxito del a respuesta. Para obtener más información sobre los códigos de respuesta, consulta [la documentación del código de estado de respuesta MDN HTTP](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status). + +Adicionalmente, la respuesta incluirá encabezados que dan más detalles sobre ella. Los encabezados que comienzan con `X-` o `x-` son personalizados para {% data variables.product.company_short %}. Por ejemplo, los encabezados `x-ratelimit-remaining` y `x-ratelimit-reset` te dicen cuántas solicitudes puedes hacer en un tiempo definido. + +{% cli %} + +Para ver los encabezados y el código de estado, utiliza el marcador `--include` o `--i` cuando envías tu solicitud. + +Por ejemplo, esta solicitud: ```shell -$ curl -i -H "Authorization: token ghp_16C7e42F292c6912E7710c838347Ae178B4a" \ - -d '{ - "name": "blog", - "auto_init": true, - "private": true, - "gitignore_template": "nanoc" - }' \ - {% data variables.product.api_url_pre %}/user/repos +gh api --header 'Accept: application/vnd.github.v3+json' --method GET /repos/octocat/Spoon-Knife/issues -F per_page=2 --include ``` -En este ejemplo mínimo, creamos un repositorio privado nuevo para nuestro blog (que se servirá en [GitHub Pages][pages], probablemente). Aunque el blog {% ifversion not ghae %}será público{% else %}está disponible para todos los miembros de la empresa{% endif %}, hemos hecho el repositorio privado. En este paso, también lo inicializaremos con un README y con una [plantilla de.gitignored][gitignore templates] enriquecida con [nanoc][nanoc]. - -El repositorio que se obtiene como resultado se puede encontrar en `https://github.com//blog`. Para crear un repositorio bajo una organización para la cual eres propietario, solo cambia el método de la API de `/user/repos` a `/orgs//repos`. - -Posteriormente vamos a obtener nuestro repositorio recién creado: +devuelve el código de respuesta y los encabezados como: ```shell -$ curl -i {% data variables.product.api_url_pre %}/repos/pengwynn/blog - -> HTTP/2 404 - -> { -> "message": "Not Found" -> } +HTTP/2.0 200 OK +Access-Control-Allow-Origin: * +Access-Control-Expose-Headers: ETag, Link, Location, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Used, X-RateLimit-Resource, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval, X-GitHub-Media-Type, X-GitHub-SSO, X-GitHub-Request-Id, Deprecation, Sunset +Cache-Control: private, max-age=60, s-maxage=60 +Content-Security-Policy: default-src 'none' +Content-Type: application/json; charset=utf-8 +Date: Thu, 04 Aug 2022 19:56:41 GMT +Etag: W/"a63dfbcfdb73621e9d2e89551edcf9856731ced534bd7f1e114a5da1f5f73418" +Link: ; rel="next", ; rel="last" +Referrer-Policy: origin-when-cross-origin, strict-origin-when-cross-origin +Server: GitHub.com +Strict-Transport-Security: max-age=31536000; includeSubdomains; preload +Vary: Accept, Authorization, Cookie, X-GitHub-OTP, Accept-Encoding, Accept, X-Requested-With +X-Accepted-Oauth-Scopes: repo +X-Content-Type-Options: nosniff +X-Frame-Options: deny +X-Github-Api-Version-Selected: 2022-08-09 +X-Github-Media-Type: github.v3; format=json +X-Github-Request-Id: 1C73:26D4:E2E500:1EF78F4:62EC2479 +X-Oauth-Client-Id: 178c6fc778ccc68e1d6a +X-Oauth-Scopes: gist, read:org, repo, workflow +X-Ratelimit-Limit: 15000 +X-Ratelimit-Remaining: 14996 +X-Ratelimit-Reset: 1659645499 +X-Ratelimit-Resource: core +X-Ratelimit-Used: 4 +X-Xss-Protection: 0 ``` -¡Oh no! ¿A dónde se fue? Ya que creamos el repositorio como _privado_, necesitamos autenticarnos para poder verlo. Si eres un usuario experimentado en HTTP, tal vez esperes recibir un código `403` en vez de ésto. Ya que no queremos filtrar información sobre los repositorios privados, la API de {% ifversion fpt or ghec %}{% data variables.product.prodname_dotcom %}{% else %}{% data variables.product.product_name %}{% endif %} devolverá un `404` en este caso para decir "no podemos confirmar ni negar la existencia de este repositorio". +En este ejemplo, el código de respuesta es `200`, lo que indica una solicitud exitosa. -## Problemas +{% endcli %} -La IU de informe de problemas en {% data variables.product.product_name %} pretende proporcionar suficiente flujo de trabajo mientras evita estorbarte. Con la [API de propuestas][issues-api] de {% data variables.product.product_name %}, puedes extraer datos para crear propuestas desde otras herramientas para crear flujos de trabajo que funcionen para tu equipo. +{% javascript %} -Tal como en github.com, la API proporciona algunos cuantos métodos para ver los informes de problemas para el usuario autenticado. Para [ver todas tus propuestas][get issues api], llama a `GET /issues`: +Cuando haces una solicitud con Octokit.js, el método `request` devuelve una promesa. Si la solicitud tuvo éxito, la promesa se resuelve en un objeto que incluye el código de estado HTTP de la respuesta (`estado`) y los encabezados de ella (`headers`). Si ocurre un error, la promesa se resuelve en un objeto que incluye el código de estado HTTP de esta (`status`) y los encabezados de la misma (`response.headers`). + +Puedes utilizar un bloque `try/catch` para detectar un error si es que ocurre. Por ejemplo, si la solicitud en el siguiente script tiene éxito, este registrará el código de estaod y el valor del encabezado `x-ratelimit-remaining`. Si la solicitud no tuvo éxito, el script registrará el código de estado, el valor del encabezado `x-ratelimit-remaining` y el mensaje de error. + +```javascript +try { + const result = await octokit.request("GET /repos/{owner}/{repo}/issues", { + owner: "octocat", + repo: "Spoon-Knife", + per_page: 2, + }); + + console.log(`Success! Status: ${result.status}. Rate limit remaining: ${result.headers["x-ratelimit-remaining"]}`) + +} catch (error) { + console.log(`Error! Status: ${error.status}. Rate limit remaining: ${error.headers["x-ratelimit-remaining"]}. Message: ${error.response.data.message}`) +} +``` + +{% endjavascript %} + +{% curl %} + +Para ver los encabezados y el código de estado, utiliza el marcador `--include` o `--i` cuando envías tu solicitud. + +Por ejemplo, esta solicitud: ```shell -$ curl -i -H "Authorization: token ghp_16C7e42F292c6912E7710c838347Ae178B4a" \ - {% data variables.product.api_url_pre %}/issues +curl --request GET \ +--url "https://api.github.com/repos/octocat/Spoon-Knife/issues?per_page=2" \ +--header "Accept: application/vnd.github.v3+json" \ +--header "Authorization: Bearer YOUR-TOKEN" \ +--include ``` -Para obtener únicamente las [propuestas bajo alguna de tus organizaciones de {% data variables.product.product_name %}][get issues api], llama a `GET -/orgs//issues`: +devuelve el código de respuesta y los encabezados como: ```shell -$ curl -i -H "Authorization: token ghp_16C7e42F292c6912E7710c838347Ae178B4a" \ - {% data variables.product.api_url_pre %}/orgs/rails/issues +HTTP/2 200 +server: GitHub.com +date: Thu, 04 Aug 2022 20:07:51 GMT +content-type: application/json; charset=utf-8 +cache-control: public, max-age=60, s-maxage=60 +vary: Accept, Accept-Encoding, Accept, X-Requested-With +etag: W/"7fceb7e8c958d3ec4d02524b042578dcc7b282192e6c939070f4a70390962e18" +x-github-media-type: github.v3; format=json +link: ; rel="next", ; rel="last" +access-control-expose-headers: ETag, Link, Location, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Used, X-RateLimit-Resource, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval, X-GitHub-Media-Type, X-GitHub-SSO, X-GitHub-Request-Id, Deprecation, Sunset +access-control-allow-origin: * +strict-transport-security: max-age=31536000; includeSubdomains; preload +x-frame-options: deny +x-content-type-options: nosniff +x-xss-protection: 0 +referrer-policy: origin-when-cross-origin, strict-origin-when-cross-origin +content-security-policy: default-src 'none' +x-ratelimit-limit: 15000 +x-ratelimit-remaining: 14996 +x-ratelimit-reset: 1659645535 +x-ratelimit-resource: core +x-ratelimit-used: 4 +accept-ranges: bytes +content-length: 4936 +x-github-request-id: 14E0:4BC6:F1B8BA:208E317:62EC2715 ``` -También podemos obtener [todas las propuestas que estén bajo un solo repositorio][repo issues api]: +En este ejemplo, el código de respuesta es `200`, lo que indica una solicitud exitosa. + +{% endcurl %} + +### Acerca del cuerpo de la respuesta + +Muchas operaciones devolverán un cuerpo de la respuesta. A menos de que se especifique lo contrario, el cuerpo de la respuesta estará en formato JSON. Por ejemplo, esta solicitud devuelve una lista de propuestas con datos sobre cada una de ellas: + +{% cli %} ```shell -$ curl -i {% data variables.product.api_url_pre %}/repos/rails/rails/issues +gh api --header 'Accept: application/vnd.github.v3+json' --method GET /repos/octocat/Spoon-Knife/issues -F per_page=2 ``` -### Paginación +{% endcli %} -Un proyecto con el tamaño de Rails tiene miles de informes de problemas. Necesitaremos [paginar][pagination], haciendo varias llamadas a la API para obtener los datos. Vamos a repetir la última llamada, esta vez tomando nota de los encabezados de respuesta: +{% javascript %} + +```javascript +await octokit.request("GET /repos/{owner}/{repo}/issues", { + owner: "octocat", + repo: "Spoon-Knife", + per_page: 2, +}); +``` + +{% endjavascript %} + +{% curl %} ```shell -$ curl -i {% data variables.product.api_url_pre %}/repos/rails/rails/issues - -> HTTP/2 200 - -> ... -> Link: <{% data variables.product.api_url_pre %}/repositories/8514/issues?page=2>; rel="next", <{% data variables.product.api_url_pre %}/repositories/8514/issues?page=30>; rel="last" -> ... +curl --request GET \ +--url "https://api.github.com/repos/octocat/Spoon-Knife/issues?per_page=2" \ +--header "Accept: application/vnd.github.v3+json" \ +--header "Authorization: Bearer YOUR-TOKEN" ``` -El [encabezado de `Link`][link-header] proporciona una respuesta para enlazar a los recursos externos, en este caso, a las páginas de datos adicionales. Ya que nuestra llamada encontró más de treinta informes de problemas (el tamaño predeterminado de página), la API no s dice dónde podemos encontrar la siguiente página y la última página de los resultados. +{% endcurl %} -### Crear una propuesta +A diferencia de la API de GraphQL, en donde especificas la información que quieres, la API de REST habitualmente devuelve más información de la que necesitas. Si lo deseas, puedes analizar la respuesta para extraer pedazos de información específica. -Ahora que hemos visto cómo paginar las listas de propuestas, vamos a [crear una propuesta][create issue] desde la API. +{% cli %} -Para crear un informe de problemas, necesitamos estar autenticados, así que pasaremos un token de OAuth en el encabezado. También, pasaremos el título, cuerpo, y etiquetas en el cuerpo de JSON a la ruta `/issues` debajo del repositorio en el cual queremos crear el informe de problemas: +Por ejemplo, puedes utilizar `>` para redirigir la respuesta a un archivo: ```shell -$ curl -i -H 'Authorization: token ghp_16C7e42F292c6912E7710c838347Ae178B4a' \ -$ -d '{ \ -$ "title": "New logo", \ -$ "body": "We should have one", \ -$ "labels": ["design"] \ -$ }' \ -$ {% data variables.product.api_url_pre %}/repos/pengwynn/api-sandbox/issues - -> HTTP/2 201 -> Location: {% data variables.product.api_url_pre %}/repos/pengwynn/api-sandbox/issues/17 -> X-RateLimit-Limit: 5000 - -> { -> "pull_request": { -> "patch_url": null, -> "html_url": null, -> "diff_url": null -> }, -> "created_at": "2012-11-14T15:25:33Z", -> "comments": 0, -> "milestone": null, -> "title": "New logo", -> "body": "We should have one", -> "user": { -> "login": "pengwynn", -> "gravatar_id": "7e19cd5486b5d6dc1ef90e671ba52ae0", -> "avatar_url": "https://secure.gravatar.com/avatar/7e19cd5486b5d6dc1ef90e671ba52ae0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png", -> "id": 865, -> "url": "{% data variables.product.api_url_pre %}/users/pengwynn" -> }, -> "closed_at": null, -> "updated_at": "2012-11-14T15:25:33Z", -> "number": 17, -> "closed_by": null, -> "html_url": "https://github.com/pengwynn/api-sandbox/issues/17", -> "labels": [ -> { -> "color": "ededed", -> "name": "design", -> "url": "{% data variables.product.api_url_pre %}/repos/pengwynn/api-sandbox/labels/design" -> } -> ], -> "id": 8356941, -> "assignee": null, -> "state": "open", -> "url": "{% data variables.product.api_url_pre %}/repos/pengwynn/api-sandbox/issues/17" -> } +gh api --header 'Accept: application/vnd.github.v3+json' --method GET /repos/octocat/Spoon-Knife/issues -F per_page=2 > data.json ``` -La respuesta nos entrega un par de sugerencias para el informe de problemas recién creado, tanto en el encabezado de respuesta de `Location` como en el campo de `url` de la respuesta de JSON. - -## Solicitudes condicionales - -Una gran parte de ser un buen ciudadano de la API es respetar los límites de tasa al almacenar información en el caché, la cual no haya cambiado. La API es compatible con las [solicitudes condicionales][conditional-requests] y te ayuda a hacer lo correcto. Considera el primer llamado que hicimos para obtener el perfil de defunkt: +Posteriormente, puedes utilizar jq para obtener el título e ID de autor de cada propuesta: ```shell -$ curl -i {% data variables.product.api_url_pre %}/users/defunkt - -> HTTP/2 200 -> etag: W/"61e964bf6efa3bc3f9e8549e56d4db6e0911d8fa20fcd8ab9d88f13d513f26f0" +jq '.[] | {title: .title, authorID: .user.id}' data.json ``` -Además del cuerpo de JSON, toma nota del código de estado HTTP de `200` y del encabezado `ETag`. La [ETag][etag] es una huella digital de la respuesta. Si la pasamos en llamadas subsecuentes, podemos decirle a la API que nos entregue el recurso nuevamente, únicamente si cambió: +Los dos comandos anteriores devolverán algo similar a: + +``` +{ + "title": "Update index.html", + "authorID": 10701255 +} +{ + "title": "Edit index file", + "authorID": 53709285 +} +``` + +Para obtener más información sobre jq, consulta [the jq documentation](https://stedolan.github.io/jq/) y [jq play](https://jqplay.org/). + +{% endcli %} + +{% javascript %} + +Por ejemplo, puedes obtener el título e ID de autor de cada propuesta: + +```javascript +try { + const result = await octokit.request("GET /repos/{owner}/{repo}/issues", { + owner: "octocat", + repo: "Spoon-Knife", + per_page: 2, + }); + + const titleAndAuthor = result.data.map(issue => {title: issue.title, authorID: issue.user.id}) + + console.log(titleAndAuthor) + +} catch (error) { + console.log(`Error! Status: ${error.status}. Message: ${error.response.data.message}`) +} +``` + +{% endjavascript %} + +{% curl %} + +Por ejemplo, puedes utilizar `>` para redirigir la respuesta a un archivo: ```shell -$ curl -i -H 'If-None-Match: "61e964bf6efa3bc3f9e8549e56d4db6e0911d8fa20fcd8ab9d88f13d513f26f0"' \ -$ {% data variables.product.api_url_pre %}/users/defunkt - -> HTTP/2 304 +curl --request GET \ +--url "https://api.github.com/repos/octocat/Spoon-Knife/issues?per_page=2" \ +--header "Accept: application/vnd.github.v3+json" \ +--header "Authorization: Bearer YOUR-TOKEN" > data.json ``` -El estado `304` indica que el recurso no ha cambiado desde la última vez que lo solicitamos y que la respuesta no contendrá ningún cuerpo. Como bono, las respuestas de tipo `304` no cuentan en tu [límite de tasa][rate-limiting]. +Posteriormente, puedes utilizar jq para obtener el título e ID de autor de cada propuesta: -¡Ahora conoces lo básico de la API de {% ifversion fpt or ghec %}{% data variables.product.prodname_dotcom %}{% else %}{% data variables.product.product_name %}{% endif %}! +```shell +jq '.[] | {title: .title, authorID: .user.id}' data.json +``` -* Autenticación básica & de OAuth -* Obtener y crear repositorios e informes de problemas -* Solicitudes condicionales +Los dos comandos anteriores devolverán algo similar a: -Sigue aprendiendo con la siguiente guía de la API ¡[Fundamentos de la Autenticación][auth guide]! +``` +{ + "title": "Update index.html", + "authorID": 10701255 +} +{ + "title": "Edit index file", + "authorID": 53709285 +} +``` -[wrappers]: /libraries/ -[curl]: http://curl.haxx.se/ -[oauth]: /apps/building-integrations/setting-up-and-registering-oauth-apps/ -[webflow]: /apps/building-oauth-apps/authorizing-oauth-apps/ -[scopes]: /apps/building-oauth-apps/understanding-scopes-for-oauth-apps/ -[repos-api]: /rest/reference/repos -[repos-api]: /rest/reference/repos -[pages]: http://pages.github.com -[nanoc]: http://nanoc.ws/ -[gitignore templates]: https://github.com/github/gitignore -[issues-api]: /rest/reference/issues -[link-header]: https://www.w3.org/wiki/LinkHeader -[conditional-requests]: /rest#conditional-requests -[rate-limiting]: /rest/overview/resources-in-the-rest-api#rate-limit-http-headers -[rate-limiting]: /rest/overview/resources-in-the-rest-api#rate-limit-http-headers -[users api]: /rest/reference/users#get-a-user -[defunkt github]: https://github.com/defunkt -[defunkt github]: https://github.com/defunkt -[json]: http://en.wikipedia.org/wiki/JSON -[authentication]: /rest#authentication -[personal token]: /articles/creating-an-access-token-for-command-line-use -[personal token]: /articles/creating-an-access-token-for-command-line-use -[tokens settings]: https://github.com/settings/tokens -[pagination]: /rest#pagination -[get repo]: /rest/reference/repos#get-a-repository -[create repo]: /rest/reference/repos#create-a-repository-for-the-authenticated-user -[create issue]: /rest/reference/issues#create-an-issue -[auth guide]: /guides/basics-of-authentication -[user repos api]: /rest/reference/repos#list-repositories-for-the-authenticated-user -[other user repos api]: /rest/reference/repos#list-repositories-for-a-user -[org repos api]: /rest/reference/repos#list-organization-repositories -[get issues api]: /rest/reference/issues#list-issues-assigned-to-the-authenticated-user -[get issues api]: /rest/reference/issues#list-issues-assigned-to-the-authenticated-user -[repo issues api]: /rest/reference/issues#list-repository-issues -[etag]: http://en.wikipedia.org/wiki/HTTP_ETag +Para obtener más información sobre jq, consulta [the jq documentation](https://stedolan.github.io/jq/) y [jq play](https://jqplay.org/). + +{% endcurl %} + +## Pasos siguientes + +Este artículo demostró cómo listar y crear propuestas en un repositorio. Para practicar más, intenta comentar en una propuesta, edita el título de una propuesta o cierra una propuesta. Para obtener más información sobre estas operaciones, consulta las secciones "[Crear un comentario de propuesta](/rest/issues#create-an-issue-comment)" y "[Actualizar una propuesta](/rest/issues/issues#update-an-issue)". + +Para obtener más información sobre las operaciones que puedes utilizar, consulta la [documentación de referencia de REST](/rest). diff --git a/translations/es-ES/content/rest/index.md b/translations/es-ES/content/rest/index.md index 6653a92ce3..de30dc9f91 100644 --- a/translations/es-ES/content/rest/index.md +++ b/translations/es-ES/content/rest/index.md @@ -3,7 +3,8 @@ title: API de REST de GitHub shortTitle: API de REST intro: 'Para crear integraciones, recuperar datos y automatizar tus flujos de trabajo, compila con la API de REST de {% data variables.product.prodname_dotcom %}.' introLinks: - quickstart: /rest/guides/getting-started-with-the-rest-api + quickstart: /rest/quickstart + overview: /rest/guides/getting-started-with-the-rest-api featuredLinks: guides: - /rest/guides/getting-started-with-the-rest-api @@ -31,6 +32,7 @@ versions: ghae: '*' ghec: '*' children: + - /quickstart - /overview - /guides - /actions diff --git a/translations/es-ES/content/rest/issues/comments.md b/translations/es-ES/content/rest/issues/comments.md index 12e27f497e..79fd142033 100644 --- a/translations/es-ES/content/rest/issues/comments.md +++ b/translations/es-ES/content/rest/issues/comments.md @@ -13,8 +13,8 @@ topics: miniTocMaxHeadingLevel: 3 --- -## About the Issue comments API +## Acerca de la API de comentarios de propuestas -La API de comentarios en las propuestas es compatible con la administración de comentarios en las propuestas y solicitudes de cambios. {% data reusables.pull_requests.issues-pr-shared-api %} To manage pull request review comments, use the [Pull request review comments API](/rest/pulls/comments) instead. +La API de comentarios en las propuestas es compatible con la administración de comentarios en las propuestas y solicitudes de cambios. {% data reusables.pull_requests.issues-pr-shared-api %} Para administrar los comentarios de revisión de solicitudes de cambio, utiliza la [API de comentarios de revisión en solicitudes de cambio](/rest/pulls/comments) en su lugar. {% data reusables.pull_requests.issues-media-types %} diff --git a/translations/es-ES/content/rest/metrics/statistics.md b/translations/es-ES/content/rest/metrics/statistics.md index 4394313801..b4a39356b6 100644 --- a/translations/es-ES/content/rest/metrics/statistics.md +++ b/translations/es-ES/content/rest/metrics/statistics.md @@ -1,5 +1,5 @@ --- -title: Repository statistics +title: Estadísticas de repositorio shortTitle: Estadísticas allowTitleToDifferFromFilename: true intro: 'La API de estadísticas de repositorio te permite recuperar los datos que {% data variables.product.product_name %} utiliza para visualizar tipos diferentes de actividad de repositorio.' @@ -13,7 +13,7 @@ topics: miniTocMaxHeadingLevel: 3 --- -## About the Repository statistics API +## Acerca de las API de estadísticas de repositorio La API de estadísticas de repositorio te permite recuperar los datos que {% data variables.product.product_name %} utiliza para visualizar tipos diferentes de actividad de repositorio. diff --git a/translations/es-ES/content/rest/migrations/source-imports.md b/translations/es-ES/content/rest/migrations/source-imports.md index 472648b9bf..5b683c679a 100644 --- a/translations/es-ES/content/rest/migrations/source-imports.md +++ b/translations/es-ES/content/rest/migrations/source-imports.md @@ -9,9 +9,9 @@ topics: miniTocMaxHeadingLevel: 3 --- -## About the Source imports API +## Acerca de la API de importaciones de código fuente -{% data variables.migrations.source_imports_intro %} A typical source import would start the import and then (optionally) update the authors and/or update the preference for using Git LFS if large files exist in the import. También puedes crear un webhook que escuche al [`RepositoryImportEvent`](/developers/webhooks-and-events/webhook-events-and-payloads#repository_import) para encontrar el estado de la importación. +{% data variables.migrations.source_imports_intro %} Una importación de código fuente habitual iniciaría la importación y después (opcionalmente) actualizaría a los autores o a la preferencia para utilizar LFS de Git si existen archivos grandes en la importación. También puedes crear un webhook que escuche al [`RepositoryImportEvent`](/developers/webhooks-and-events/webhook-events-and-payloads#repository_import) para encontrar el estado de la importación. Se puede ver un ejemplo más detallado en este diagrama: diff --git a/translations/es-ES/content/rest/quickstart.md b/translations/es-ES/content/rest/quickstart.md new file mode 100644 index 0000000000..7649232acc --- /dev/null +++ b/translations/es-ES/content/rest/quickstart.md @@ -0,0 +1,351 @@ +--- +title: Guía de inicio rápido para la API de REST de GitHub +intro: 'Aprende cómo iniciar con la API de REST de {% data variables.product.prodname_dotcom %}.' +allowTitleToDifferFromFilename: true +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +shortTitle: Inicio Rápido +topics: + - API +redirect_from: + - /guides/getting-started + - /v3/guides/getting-started +miniTocMaxHeadingLevel: 3 +--- + +Este artículo describe cómo iniciar rápidamente con la API de REST de {% data variables.product.prodname_dotcom %} utilizando el {% data variables.product.prodname_cli %}, JavaScript o cURL. Para obtener una guía más detallada, consulta la sección "[Iniciar con la API de REST](/rest/guides/getting-started-with-the-rest-api)". + +{% cli %} + +## Iniciar utilizando el {% data variables.product.prodname_cli %} + +### Utilizar el {% data variables.product.prodname_cli %} en la línea de comando + +El {% data variables.product.prodname_cli %} es la forma más fácil de utilizar la API de REST de {% data variables.product.prodname_dotcom %} desde la línea de comandos. + +1. Instala el {% data variables.product.prodname_cli %} si aún no lo has hecho. Para obtener las instrucciones de instalación, consulta el [repositorio del {% data variables.product.prodname_cli %}](https://github.com/cli/cli#installation). +1. Utiliza el subcomando `auth login` para autenticarte en el {% data variables.product.prodname_cli %}. Para obtener más información, consulta la [documentación de `auth login` del {% data variables.product.prodname_cli %}](https://cli.github.com/manual/gh_auth_login). + + ```shell + gh auth login + ``` + +1. Utiliza el subcomando `api` para hacer tu solicitud de la API. Para obtener más información, consulta la [documentación de `api` del {% data variables.product.prodname_cli %}](https://cli.github.com/manual/gh_api). + + ```shell + gh api repos/octocat/Spoon-Knife/issues + ``` + +### Utilizar el {% data variables.product.prodname_cli %} en {% data variables.product.prodname_actions %} + +También puedes utilizar el {% data variables.product.prodname_cli %} en tus flujos de trabajo de {% data variables.product.prodname_actions %}. Para obtener más información, consulta la sección "[Utilizar el CLI de GitHub en los flujos de trabajo](/actions/using-workflows/using-github-cli-in-workflows)". + +En vez de utilizar el comando `gh auth login`, pasa un token de acceso como una variable de ambiente llamada `GH_TOKEN`. {% data variables.product.prodname_dotcom %} recomienda que utilices el `GITHUB_TOKEN` integrado en vez de crear un token. Si esto es imposible, almacena tu token como un secreto y reemplaza a `GITHUB_TOKEN` por el nombre de tu secreto en el siguiente ejemplo. Para obtener más información sobre el `GITHUB_TOKEN`, consulta ""[Automatic token authentication](/actions/security-guides/automatic-token-authentication)". Para obtener más información sobre los secretos, consulta la sección "[Secretos cifrados](/actions/security-guides/encrypted-secrets)". + +```yaml +on: + workflow_dispatch: +jobs: + use_api: + runs-on: ubuntu-latest + permissions: + issues: read + steps: + - env: + GH_TOKEN: {% raw %}${{ secrets.GITHUB_TOKEN }}{% endraw %} + run: | + gh api repos/octocat/Spoon-Knife/issues +``` + +Si te estás autenticando con una {% data variables.product.prodname_github_app %}, puedes crear un token de acceso a la instalación dentro de tu flujo de trabajo: + +1. Almacena la ID de tu {% data variables.product.prodname_github_app %} como un secreto. En el siguiente ejemplo, reemplaza `APP_ID` con el nombre del secreto. Puedes encontrar tu ID de app en la página de ajustes de tu app o mediante la API de la misma. Para obtener más información, consulta la sección "[Apps](/rest/apps/apps#get-an-app)". Para obtener más información sobre los secretos, consulta la sección "[Secretos cifrados](/actions/security-guides/encrypted-secrets)". +1. Generar una llave privada para tu app. Almacena el contenido del archivo resultante como un secreto. (Almacena todo el contenido del archivo, incluyendo `-----BEGIN RSA PRIVATE KEY-----` y `-----END RSA PRIVATE KEY-----`.) En el siguiente ejemplo, reemplaza a `APP_PEM` con el nombre del secreto. Para obtener más información, consulta la sección "[Autenticarse con {% data variables.product.prodname_github_apps %}](/developers/apps/building-github-apps/authenticating-with-github-apps#generating-a-private-key)". +1. Agrega un paso para generar un token y utilizarlo en vez de `GITHUB_TOKEN`. Nota que este token expirará después de 60 minutos. Por ejemplo: + +```yaml +{% data reusables.actions.actions-not-certified-by-github-comment %} + +on: + workflow_dispatch: +jobs: + track_pr: + runs-on: ubuntu-latest + steps: + - name: Generate token + id: generate_token + uses: tibdex/github-app-token@36464acb844fc53b9b8b2401da68844f6b05ebb0 + with: + app_id: {% raw %}${{ secrets.APP_ID }}{% endraw %} + private_key: {% raw %}${{ secrets.APP_PEM }}{% endraw %} + + - name: Use API + env: + GH_TOKEN: {% raw %}${{ steps.generate_token.outputs.token }}{% endraw %} + run: | + gh api repos/octocat/Spoon-Knife/issues +``` + +{% endcli %} + +{% javascript %} + +## Comenzar a utilizar JavaScript + +Puedes utilizar Octokit.js para interactuar con la API de REST de {% data variables.product.prodname_dotcom %} en tus scripts de JavaScript. Para obtener más información, consulta [el README de Octokit.js](https://github.com/octokit/octokit.js/#readme). + +### Utilizar Octokit.js + +1. Crear un token de acceso. Por ejemplo, crea un token de acceso personal (PAT) o un token de acceso de usuario a servidor de {% data variables.product.prodname_github_app %}. For more information, see "[Creating a personal access token](/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token)" or "[Identifying and authorizing users for GitHub Apps](/developers/apps/building-github-apps/identifying-and-authorizing-users-for-github-apps)." + + {% warning %} + + **Warning**: Treat your access token like a password. + + To keep your token secure, you can store your token as a secret and run your script through {% data variables.product.prodname_actions %}. For more information, see the "[Using Octokit.js in {% data variables.product.prodname_actions %}](#using-octokitjs-in-github-actions)" section. + + {%- ifversion fpt or ghec %} + + You can also store your token as a {% data variables.product.prodname_codespaces %} secret and run your script in {% data variables.product.prodname_codespaces %}. For more information, see "[Managing encrypted secrets for your codespaces](/codespaces/managing-your-codespaces/managing-encrypted-secrets-for-your-codespaces)."{% endif %} + + If these options are not possible, consider using another service such as [the 1Password CLI](https://developer.1password.com/docs/cli/secret-references/) to store your token securely. + + {% endwarning %} + +1. Install `octokit`. For example, `npm install octokit`. For other ways to install or load `octokit`, see [the Octokit.js README](https://github.com/octokit/octokit.js/#readme). +1. Import `octokit` in your script. For example, `import { Octokit } from "octokit";`. For other ways to import `octokit`, see [the Octokit.js README](https://github.com/octokit/octokit.js/#readme). +1. Create an instance of `Octokit` with your token. Replace `YOUR-TOKEN` with your token. + + ```javascript + const octokit = new Octokit({ + auth: 'YOUR-TOKEN' + }); + ``` + +1. Use `octokit.request` to execute your request. Send the HTTP method and path as the first argument. Specify any path, query, and body parameters in an object as the second argument. For example, in the following request the HTTP method is `GET`, the path is `/repos/{owner}/{repo}/issues`, and the parameters are `owner: "octocat"` and `repo: "Spoon-Knife"`. + + ```javascript + await octokit.request("GET /repos/{owner}/{repo}/issues", { + owner: "octocat", + repo: "Spoon-Knife", + }); + ``` + +### Using Octokit.js in {% data variables.product.prodname_actions %} + +You can also execute your JavaScript scripts in your {% data variables.product.prodname_actions %} workflows. For more information, see "[Workflow syntax for GitHub Actions](/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsrun)." + +{% data variables.product.prodname_dotcom %} recomienda que utilices el `GITHUB_TOKEN` integrado en vez de crear un token. Si esto es imposible, almacena tu token como un secreto y reemplaza a `GITHUB_TOKEN` por el nombre de tu secreto en el siguiente ejemplo. Para obtener más información sobre el `GITHUB_TOKEN`, consulta ""[Automatic token authentication](/actions/security-guides/automatic-token-authentication)". Para obtener más información sobre los secretos, consulta la sección "[Secretos cifrados](/actions/security-guides/encrypted-secrets)". + +The following example workflow: + +1. Checks out the repository content +1. Sets up Node.js +1. Installs `octokit` +1. Stores the value of `GITHUB_TOKEN` as an environment variable called `TOKEN` and runs `.github/actions-scripts/use-the-api.mjs`, which can access that environment variable as `process.env.TOKEN` + +Example workflow: + +```yaml +on: + workflow_dispatch: +jobs: + use_api_via_script: + runs-on: ubuntu-latest + permissions: + issues: read + steps: + - name: Check out repo content + uses: {% data reusables.actions.action-checkout %} + + - name: Setup Node + uses: {% data reusables.actions.action-setup-node %} + with: + node-version: '16.15.0' + cache: npm + + - name: Install dependencies + run: npm install octokit + + - name: Run script + run: | + node .github/actions-scripts/use-the-api.mjs + env: + TOKEN: {% raw %}${{ secrets.GITHUB_TOKEN }}{% endraw %} +``` + +Example JavaScript script, with the file path `.github/actions-scripts/use-the-api.mjs`: + +```javascript +import { Octokit } from "octokit" + +const octokit = new Octokit({ + auth: process.env.TOKEN +}); + +try { + const result = await octokit.request("GET /repos/{owner}/{repo}/issues", { + owner: "octocat", + repo: "Spoon-Knife", + }); + + const titleAndAuthor = result.data.map(issue => {title: issue.title, authorID: issue.user.id}) + + console.log(titleAndAuthor) + +} catch (error) { + console.log(`Error! Status: ${error.status}. Message: ${error.response.data.message}`) +} +``` + +Si te estás autenticando con una {% data variables.product.prodname_github_app %}, puedes crear un token de acceso a la instalación dentro de tu flujo de trabajo: + +1. Almacena la ID de tu {% data variables.product.prodname_github_app %} como un secreto. En el siguiente ejemplo, reemplaza `APP_ID` con el nombre del secreto. Puedes encontrar tu ID de app en la página de ajustes de tu app o mediante la API de la misma. Para obtener más información, consulta la sección "[Apps](/rest/apps/apps#get-an-app)". Para obtener más información sobre los secretos, consulta la sección "[Secretos cifrados](/actions/security-guides/encrypted-secrets)". +1. Generar una llave privada para tu app. Almacena el contenido del archivo resultante como un secreto. (Almacena todo el contenido del archivo, incluyendo `-----BEGIN RSA PRIVATE KEY-----` y `-----END RSA PRIVATE KEY-----`.) En el siguiente ejemplo, reemplaza a `APP_PEM` con el nombre del secreto. Para obtener más información, consulta la sección "[Autenticarse con {% data variables.product.prodname_github_apps %}](/developers/apps/building-github-apps/authenticating-with-github-apps#generating-a-private-key)". +1. Agrega un paso para generar un token y utilizarlo en vez de `GITHUB_TOKEN`. Nota que este token expirará después de 60 minutos. Por ejemplo: + +```yaml +{% data reusables.actions.actions-not-certified-by-github-comment %} + +on: + workflow_dispatch: +jobs: + use_api_via_script: + runs-on: ubuntu-latest + steps: + - name: Check out repo content + uses: {% data reusables.actions.action-checkout %} + + - name: Setup Node + uses: {% data reusables.actions.action-setup-node %} + with: + node-version: '16.15.0' + cache: npm + + - name: Install dependencies + run: npm install octokit + + - name: Generate token + id: generate_token + uses: tibdex/github-app-token@36464acb844fc53b9b8b2401da68844f6b05ebb0 + with: + app_id: {% raw %}${{ secrets.APP_ID }}{% endraw %} + private_key: {% raw %}${{ secrets.APP_PEM }}{% endraw %} + + - name: Run script + run: | + node .github/actions-scripts/use-the-api.mjs + env: + TOKEN: {% raw %}${{ steps.generate_token.outputs.token }}{% endraw %} +``` + +{% endjavascript %} + +{% curl %} + +## Getting started using cURL + +### Using cURL in the command line + +{% note %} + +**Note:** If you want to make API requests from the command line, {% data variables.product.prodname_dotcom %} recommends that you use {% data variables.product.prodname_cli %}, which simplifies authentication and requests. For more information about getting started with the REST API using {% data variables.product.prodname_cli %}, see the {% data variables.product.prodname_cli %} version of this article. + +{% endnote %} + +1. Install cURL if cURL isn't already installed on your machine. To check if cURL is installed, execute `curl --version` in the command line. If the output is information about the cURL version, cURL is installed. If you get a message similar to `command not found: curl`, you need to download and install cURL. For more information, see [the cURL project download page](https://curl.se/download.html). +1. Crear un token de acceso. Por ejemplo, crea un token de acceso personal (PAT) o un token de acceso de usuario a servidor de {% data variables.product.prodname_github_app %}. For more information, see "[Creating a personal access token](/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token)" or "[Identifying and authorizing users for GitHub Apps](/developers/apps/building-github-apps/identifying-and-authorizing-users-for-github-apps)." + + {% warning %} + + **Warning**: Treat your access token like a password. + + {%- ifversion fpt or ghec %} + + To keep your token secure, you can store your token as a {% data variables.product.prodname_codespaces %} secret and use the command line through {% data variables.product.prodname_codespaces %}. For more information, see "[Managing encrypted secrets for your codespaces](/codespaces/managing-your-codespaces/managing-encrypted-secrets-for-your-codespaces)."{% endif %} + + You can also use {% data variables.product.prodname_cli %} instead of cURL. {% data variables.product.prodname_cli %} will take care of authentication for you. For more information, see the {% data variables.product.prodname_cli %} version of this page. + + If these options are not possible, consider using another service such as [the 1Password CLI](https://developer.1password.com/docs/cli/secret-references/) to store your token securely. + + {% endwarning %} + +1. Use the `cURL` command to make your request. Pass your token in an `Authorization` header. Replace `YOUR-TOKEN` with your token. + + ```shell + curl --request GET \ + --url "https://api.github.com/repos/octocat/Spoon-Knife/issues" \ + --header "Accept: application/vnd.github.v3+json" \ + --header "Authorization: Bearer YOUR-TOKEN" + ``` + + {% note %} + + **Note:** In most cases, you can use `Authorization: Bearer` or `Authorization: token`. JSON web tokens (JWTs) only work with `Authorization: Bearer`. + + {% endnote %} + +### Using cURL in {% data variables.product.prodname_actions %} + +You can also use cURL in your {% data variables.product.prodname_actions %} workflows. + +{% data variables.product.prodname_dotcom %} recomienda que utilices el `GITHUB_TOKEN` integrado en vez de crear un token. Si esto es imposible, almacena tu token como un secreto y reemplaza a `GITHUB_TOKEN` por el nombre de tu secreto en el siguiente ejemplo. Para obtener más información sobre el `GITHUB_TOKEN`, consulta ""[Automatic token authentication](/actions/security-guides/automatic-token-authentication)". Para obtener más información sobre los secretos, consulta la sección "[Secretos cifrados](/actions/security-guides/encrypted-secrets)". + +```yaml +on: + workflow_dispatch: +jobs: + use_api: + runs-on: ubuntu-latest + permissions: + issues: read + steps: + - env: + GH_TOKEN: {% raw %}${{ secrets.GITHUB_TOKEN }}{% endraw %} + run: | + curl --request GET \ + --url "https://api.github.com/repos/octocat/Spoon-Knife/issues" \ + --header "Accept: application/vnd.github.v3+json" \ + --header "Authorization: Bearer $GH_TOKEN" +``` + +Si te estás autenticando con una {% data variables.product.prodname_github_app %}, puedes crear un token de acceso a la instalación dentro de tu flujo de trabajo: + +1. Almacena la ID de tu {% data variables.product.prodname_github_app %} como un secreto. En el siguiente ejemplo, reemplaza `APP_ID` con el nombre del secreto. Puedes encontrar tu ID de app en la página de ajustes de tu app o mediante la API de la misma. Para obtener más información, consulta la sección "[Apps](/rest/apps/apps#get-an-app)". Para obtener más información sobre los secretos, consulta la sección "[Secretos cifrados](/actions/security-guides/encrypted-secrets)". +1. Generar una llave privada para tu app. Almacena el contenido del archivo resultante como un secreto. (Almacena todo el contenido del archivo, incluyendo `-----BEGIN RSA PRIVATE KEY-----` y `-----END RSA PRIVATE KEY-----`.) En el siguiente ejemplo, reemplaza a `APP_PEM` con el nombre del secreto. Para obtener más información, consulta la sección "[Autenticarse con {% data variables.product.prodname_github_apps %}](/developers/apps/building-github-apps/authenticating-with-github-apps#generating-a-private-key)". +1. Agrega un paso para generar un token y utilizarlo en vez de `GITHUB_TOKEN`. Nota que este token expirará después de 60 minutos. Por ejemplo: + +```yaml +{% data reusables.actions.actions-not-certified-by-github-comment %} + +on: + workflow_dispatch: +jobs: + use_api: + runs-on: ubuntu-latest + steps: + - name: Generate token + id: generate_token + uses: tibdex/github-app-token@36464acb844fc53b9b8b2401da68844f6b05ebb0 + with: + app_id: {% raw %}${{ secrets.APP_ID }}{% endraw %} + private_key: {% raw %}${{ secrets.APP_PEM }}{% endraw %} + + - name: Use API + env: + GH_TOKEN: {% raw %}${{ steps.generate_token.outputs.token }}{% endraw %} + run: | + curl --request GET \ + --url "https://api.github.com/repos/octocat/Spoon-Knife/issues" \ + --header "Accept: application/vnd.github.v3+json" \ + --header "Authorization: Bearer $GH_TOKEN" +``` + +{% endcurl %} + +## Pasos siguientes + +Para obtener una guía más detallada, consulta la sección "[Iniciar con la API de REST](/rest/guides/getting-started-with-the-rest-api)". diff --git a/translations/es-ES/content/rest/repos/autolinks.md b/translations/es-ES/content/rest/repos/autolinks.md index 41c8776af2..651b16c462 100644 --- a/translations/es-ES/content/rest/repos/autolinks.md +++ b/translations/es-ES/content/rest/repos/autolinks.md @@ -1,5 +1,5 @@ --- -title: Repository autolinks +title: Autoenlaces de repositorio allowTitleToDifferFromFilename: true shortTitle: Autoenlaces intro: 'Para ayudar a optimizar tu flujo de trabajo, puedes utilizar la API para agregar autoenlaces a los recursos externos como propuestas de JIRA y tickets de Zendesk.' @@ -13,7 +13,7 @@ topics: miniTocMaxHeadingLevel: 3 --- -## About the Repository autolinks API +## Acerca de la API de autoenlaces de repositorio Para obtener más información, consulta la sección "[Configurar los autoenlaces para referenciar recursos externos](/github/administering-a-repository/configuring-autolinks-to-reference-external-resources)". diff --git a/translations/es-ES/content/rest/secret-scanning.md b/translations/es-ES/content/rest/secret-scanning.md index 9d8864449a..2fd9624093 100644 --- a/translations/es-ES/content/rest/secret-scanning.md +++ b/translations/es-ES/content/rest/secret-scanning.md @@ -1,5 +1,5 @@ --- -title: Escaneo de secretos +title: Secret scanning intro: Use the Secret scanning API to retrieve and update secret alerts from a repository. versions: ghes: '*' @@ -16,9 +16,9 @@ redirect_from: ## About the Secret scanning API -La API del {% data variables.product.prodname_secret_scanning %} te permite : +The {% data variables.product.prodname_secret_scanning %} API lets you: -- Enable or disable {% data variables.product.prodname_secret_scanning %}{% ifversion secret-scanning-push-protection %} and push protection{% endif %} for a repository. Para obtener más información, consulta la sección "[Repositorios](/rest/repos/repos#update-a-repository)" y expande la sección de "Propiedades del objeto `security_and_analysis`" en la documentación de la API de REST. +- Enable or disable {% data variables.product.prodname_secret_scanning %}{% ifversion secret-scanning-push-protection %} and push protection{% endif %} for a repository. For more information, see "[Repositories](/rest/repos/repos#update-a-repository)" and expand the "Properties of the `security_and_analysis` object" section in the REST API documentation. - Retrieve and update {% data variables.product.prodname_secret_scanning_GHAS %} alerts from a repository. For further details, see the sections below. -Para obtener más información acerca de las {% data variables.product.prodname_secret_scanning %}, consulta la sección "[Acerca del {% data variables.product.prodname_secret_scanning %}](/code-security/secret-security/about-secret-scanning)". +For more information about {% data variables.product.prodname_secret_scanning %}, see "[About {% data variables.product.prodname_secret_scanning %}](/code-security/secret-security/about-secret-scanning)." diff --git a/translations/es-ES/content/rest/users/gpg-keys.md b/translations/es-ES/content/rest/users/gpg-keys.md index b768a456ae..1c71c096f3 100644 --- a/translations/es-ES/content/rest/users/gpg-keys.md +++ b/translations/es-ES/content/rest/users/gpg-keys.md @@ -1,5 +1,5 @@ --- -title: GPG Keys +title: Llaves GPG intro: '' versions: fpt: '*' @@ -11,7 +11,7 @@ topics: miniTocMaxHeadingLevel: 3 --- -## About the User GPG keys API +## Acerca de la API de llaves GPG de usuario Los datos que se devuelven en el campo de respuesta de `public_key` no son una llave con formato de GPG. Cuando un usuario carga una llave GPG, se interpreta y la llave pública criptográfica se extrae y se almacena. Esta llave criptográfica es lo que devuelven las API en esta página. Esta llave no es apta para utilizarse directamente con programas como GPG. diff --git a/translations/es-ES/content/rest/webhooks/index.md b/translations/es-ES/content/rest/webhooks/index.md index 939090a9ea..9ce89decaa 100644 --- a/translations/es-ES/content/rest/webhooks/index.md +++ b/translations/es-ES/content/rest/webhooks/index.md @@ -70,9 +70,9 @@ Las solicitudes de PubSubHubbub pueden enviarse varias veces. Si el gancho ya ex #### Parámetros -| Nombre | Tipo | Descripción | -| -------------- | ----------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `hub.mode` | `secuencia` | **Requerido**. Ya sea `subscribe` o `unsubscribe`. | -| `hub.topic` | `secuencia` | **Requerido**. La URI del repositorio de GitHub al cual suscribirse. La ruta debe estar en el formato `/{owner}/{repo}/events/{event}`. | -| `hub.callback` | `secuencia` | La URI para recibir las actualizaciones del tema. | -| `hub.secret` | `secuencia` | Una llave de secreto compartido que genera una firma de hash del contenido saliente del cuerpo. You can verify a push came from GitHub by comparing the raw request body with the contents of the {% ifversion fpt or ghes or ghec %}`X-Hub-Signature` or `X-Hub-Signature-256` headers{% elsif ghae %}`X-Hub-Signature-256` header{% endif %}. Puedes ver [la documentación de PubSubHubbub](https://pubsubhubbub.github.io/PubSubHubbub/pubsubhubbub-core-0.4.html#authednotify) para obtener más detalles. | +| Nombre | Tipo | Descripción | +| -------------- | ----------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| `hub.mode` | `secuencia` | **Requerido**. Ya sea `subscribe` o `unsubscribe`. | +| `hub.topic` | `secuencia` | **Requerido**. La URI del repositorio de GitHub al cual suscribirse. La ruta debe estar en el formato `/{owner}/{repo}/events/{event}`. | +| `hub.callback` | `secuencia` | La URI para recibir las actualizaciones del tema. | +| `hub.secret` | `secuencia` | Una llave de secreto compartido que genera una firma de hash del contenido saliente del cuerpo. Puedes verificar si una subida de información vino de GitHub cuando comparas el cuerpo de la solicitud sin procesar con el contenido de {% ifversion fpt or ghes or ghec %} los encabezados `X-Hub-Signature` o `X-Hub-Signature-256`{% elsif ghae %}`X-Hub-Signature-256` header{% endif %}. Puedes ver [la documentación de PubSubHubbub](https://pubsubhubbub.github.io/PubSubHubbub/pubsubhubbub-core-0.4.html#authednotify) para obtener más detalles. | diff --git a/translations/es-ES/content/rest/webhooks/repo-config.md b/translations/es-ES/content/rest/webhooks/repo-config.md index 889e95cdb8..00cd82c410 100644 --- a/translations/es-ES/content/rest/webhooks/repo-config.md +++ b/translations/es-ES/content/rest/webhooks/repo-config.md @@ -1,5 +1,5 @@ --- -title: Repository Webhook Configuration +title: Configuración de webhook de repositorio intro: '' versions: fpt: '*' diff --git a/translations/es-ES/data/features/actions-oidc-hardening-config.yml b/translations/es-ES/data/features/actions-oidc-hardening-config.yml new file mode 100644 index 0000000000..f3048bac8b --- /dev/null +++ b/translations/es-ES/data/features/actions-oidc-hardening-config.yml @@ -0,0 +1,6 @@ +#Reference: #7336 +#General versioning for oidc hardening options +versions: + fpt: '*' + ghec: '*' + ghes: '>=3.7' diff --git a/translations/es-ES/data/features/dependabot-alerts-vulnerable-calls.yml b/translations/es-ES/data/features/dependabot-alerts-vulnerable-calls.yml index 84825c368b..a7f772a7c5 100644 --- a/translations/es-ES/data/features/dependabot-alerts-vulnerable-calls.yml +++ b/translations/es-ES/data/features/dependabot-alerts-vulnerable-calls.yml @@ -3,5 +3,4 @@ versions: fpt: '*' ghec: '*' - ghes: '>3.5' ghae: 'issue-6076' diff --git a/translations/es-ES/data/features/enterprise-namespace-repo-setting.yml b/translations/es-ES/data/features/enterprise-namespace-repo-setting.yml new file mode 100644 index 0000000000..e20549f3ea --- /dev/null +++ b/translations/es-ES/data/features/enterprise-namespace-repo-setting.yml @@ -0,0 +1,6 @@ +#Reference: #7757 +#Setting to disable personal namespace repo creation for EMUs, GHES 3.7+ and GHAE 3.7+ users +versions: + ghec: '*' + ghes: '>=3.7' + ghae: 'issue-7757' diff --git a/translations/es-ES/data/features/ip-allow-list-address-check.yml b/translations/es-ES/data/features/ip-allow-list-address-check.yml new file mode 100644 index 0000000000..c4dda87a70 --- /dev/null +++ b/translations/es-ES/data/features/ip-allow-list-address-check.yml @@ -0,0 +1,3 @@ +versions: + ghec: '*' + ghae: 'issue-7818' diff --git a/translations/es-ES/data/features/multiple-accounts-one-workstation.yml b/translations/es-ES/data/features/multiple-accounts-one-workstation.yml new file mode 100644 index 0000000000..9fce93b34e --- /dev/null +++ b/translations/es-ES/data/features/multiple-accounts-one-workstation.yml @@ -0,0 +1,5 @@ +#Issue #7330 +#Documentation for managing multiple GitHub accounts on one workstation +versions: + fpt: '*' + ghec: '*' diff --git a/translations/es-ES/data/features/push-protection-custom-link-orgs-beta.yml b/translations/es-ES/data/features/push-protection-custom-link-orgs-beta.yml new file mode 100644 index 0000000000..509caa9fb4 --- /dev/null +++ b/translations/es-ES/data/features/push-protection-custom-link-orgs-beta.yml @@ -0,0 +1,8 @@ +#Issue 7299 +#Push protection custom links beta flags +#See "push-protection-custom-link-orgs" for the feature +versions: + fpt: '*' + ghec: '*' + ghes: '>=3.7' + ghae: 'issue-7299' diff --git a/translations/es-ES/data/features/push-protection-custom-link-orgs.yml b/translations/es-ES/data/features/push-protection-custom-link-orgs.yml new file mode 100644 index 0000000000..fce23efa96 --- /dev/null +++ b/translations/es-ES/data/features/push-protection-custom-link-orgs.yml @@ -0,0 +1,8 @@ +#Issue 7299 +#Push protection custom links +#See "push-protection-custom-link-orgs-beta" for the beta flags +versions: + fpt: '*' + ghec: '*' + ghes: '>=3.7' + ghae: 'issue-7299' diff --git a/translations/es-ES/data/features/ssh-commit-verification.yml b/translations/es-ES/data/features/ssh-commit-verification.yml new file mode 100644 index 0000000000..7851b1c8b7 --- /dev/null +++ b/translations/es-ES/data/features/ssh-commit-verification.yml @@ -0,0 +1,8 @@ +#Reference: github/docs-content#6709 +#Initial docs for showing SSH signed commits as verified and +#uploading SSH signing keys +versions: + fpt: '*' + ghec: '*' + ghes: '>= 3.7' + ghae: '*' diff --git a/translations/es-ES/data/release-notes/enterprise-server/3-2/17.yml b/translations/es-ES/data/release-notes/enterprise-server/3-2/17.yml index 4b357844ba..6a8d6c8af9 100644 --- a/translations/es-ES/data/release-notes/enterprise-server/3-2/17.yml +++ b/translations/es-ES/data/release-notes/enterprise-server/3-2/17.yml @@ -2,9 +2,9 @@ date: '2022-08-11' sections: security_fixes: - | - **CRITICAL**: GitHub Enterprise Server's Elasticsearch container used a version of OpenJDK 8 that was vulnerable to an integer truncation issue when processing malicious XSLT stylesheets. The vulnerability is tracked as [CVE-2022-34169](https://github.com/advisories/GHSA-9339-86wc-4qgf). + **CRÍTICA**: El contenedor de Elasticsearch de GitHub Enterprise Server utilizó una versión de OpenJDK 8 que estuvo vulnerable a un problema de truncamiento de número al procesar hojas de estilo de XSLT malintencionadas. La vulnerabilidad se rastreó como [CVE-2022-34169](https://github.com/advisories/GHSA-9339-86wc-4qgf). - | - **HIGH**: Previously installed apps on user accounts were automatically granted permission to access an organization on scoped access tokens after the user account was transformed into an organization account. This vulnerability was reported via the [GitHub Bug Bounty program](https://bounty.github.com). + **ALTA**: Las aplicaciones instaladas anteriormente en las cuentas de usuario obtuvieron permiso automáticamente para acceder a una organización en los tokens de acceso en el alcance después de que la cuenta de usuario se transformó en una cuenta de organización. Esta vulnerabilidad se reportó a través del [Programa de Recompensas por Errores de GitHub](https://bounty.github.com). bugs: - When a custom dormancy threshold was set for the instance, suspending all dormant users did not reliably respect the threshold. For more information about dormancy, see "[Managing dormant users](/admin/user-management/managing-users-in-your-enterprise/managing-dormant-users)." known_issues: diff --git a/translations/es-ES/data/release-notes/enterprise-server/3-3/12.yml b/translations/es-ES/data/release-notes/enterprise-server/3-3/12.yml index 362eff8fbc..06cfe61830 100644 --- a/translations/es-ES/data/release-notes/enterprise-server/3-3/12.yml +++ b/translations/es-ES/data/release-notes/enterprise-server/3-3/12.yml @@ -2,9 +2,9 @@ date: '2022-08-11' sections: security_fixes: - | - **CRITICAL**: GitHub Enterprise Server's Elasticsearch container used a version of OpenJDK 8 that was vulnerable to an integer truncation issue when processing malicious XSLT stylesheets. The vulnerability is tracked as [CVE-2022-34169](https://github.com/advisories/GHSA-9339-86wc-4qgf). + **CRÍTICA**: El contenedor de Elasticsearch de GitHub Enterprise Server utilizó una versión de OpenJDK 8 que estuvo vulnerable a un problema de truncamiento de número al procesar hojas de estilo de XSLT malintencionadas. La vulnerabilidad se rastreó como [CVE-2022-34169](https://github.com/advisories/GHSA-9339-86wc-4qgf). - | - **HIGH**: Previously installed apps on user accounts were automatically granted permission to access an organization on scoped access tokens after the user account was transformed into an organization account. This vulnerability was reported via the [GitHub Bug Bounty program](https://bounty.github.com). + **ALTA**: Las aplicaciones instaladas anteriormente en las cuentas de usuario obtuvieron permiso automáticamente para acceder a una organización en los tokens de acceso en el alcance después de que la cuenta de usuario se transformó en una cuenta de organización. Esta vulnerabilidad se reportó a través del [Programa de Recompensas por Errores de GitHub](https://bounty.github.com). bugs: - When a custom dormancy threshold was set for the instance, suspending all dormant users did not reliably respect the threshold. For more information about dormancy, see "[Managing dormant users](/admin/user-management/managing-users-in-your-enterprise/managing-dormant-users)." changes: diff --git a/translations/es-ES/data/release-notes/enterprise-server/3-4/7.yml b/translations/es-ES/data/release-notes/enterprise-server/3-4/7.yml index 87225268ee..e5aee4aba3 100644 --- a/translations/es-ES/data/release-notes/enterprise-server/3-4/7.yml +++ b/translations/es-ES/data/release-notes/enterprise-server/3-4/7.yml @@ -2,9 +2,9 @@ date: '2022-08-11' sections: security_fixes: - | - **CRITICAL**: GitHub Enterprise Server's Elasticsearch container used a version of OpenJDK 8 that was vulnerable to an integer truncation issue when processing malicious XSLT stylesheets. The vulnerability is tracked as [CVE-2022-34169](https://github.com/advisories/GHSA-9339-86wc-4qgf). + **CRÍTICA**: El contenedor de Elasticsearch de GitHub Enterprise Server utilizó una versión de OpenJDK 8 que estuvo vulnerable a un problema de truncamiento de número al procesar hojas de estilo de XSLT malintencionadas. La vulnerabilidad se rastreó como [CVE-2022-34169](https://github.com/advisories/GHSA-9339-86wc-4qgf). - | - **HIGH**: Previously installed apps on user accounts were automatically granted permission to access an organization on scoped access tokens after the user account was transformed into an organization account. This vulnerability was reported via the [GitHub Bug Bounty program](https://bounty.github.com). + **ALTA**: Las aplicaciones instaladas anteriormente en las cuentas de usuario obtuvieron permiso automáticamente para acceder a una organización en los tokens de acceso en el alcance después de que la cuenta de usuario se transformó en una cuenta de organización. Esta vulnerabilidad se reportó a través del [Programa de Recompensas por Errores de GitHub](https://bounty.github.com). bugs: - In some cases, GitHub Enterprise Server instances on AWS that used the `r4.4xlarge` instance type would fail to boot. - 'When calculating committers for GitHub Advanced Security, it was not possible to specify individual repositories. For more information, see "[Site admin dashboard](/admin/configuration/configuring-your-enterprise/site-admin-dashboard#advanced-security-committers)."' diff --git a/translations/es-ES/data/release-notes/enterprise-server/3-5/0.yml b/translations/es-ES/data/release-notes/enterprise-server/3-5/0.yml index a0c56a536c..d5d30923ba 100644 --- a/translations/es-ES/data/release-notes/enterprise-server/3-5/0.yml +++ b/translations/es-ES/data/release-notes/enterprise-server/3-5/0.yml @@ -116,8 +116,7 @@ sections: heading: La gráfica de dependencias es compatible con GitHub Actions notes: - | - The dependency graph now detects YAML files for GitHub Actions workflows. GitHub Enterprise Server will display the workflow files within the **Insights** tab's dependency graph section. Repositories that publish actions will also be able to see the number of repositories that depend on that action from the "Used By" control on the repository homepage. For more information, see "[About the dependency graph](/code-security/supply-chain-security/understanding-your-software-supply-chain/about-the-dependency-graph)." - - **Note**: This feature was unavailable in GitHub Enterprise Server 3.5.0, 3.5.1, 3.5.2, and 3.5.3. The feature is available in 3.5.4 and later. [Updated: 2022-08-16] + La gráfica de dependencias ahora detecta archivos YAML para los flujos de trabajo de GitHub Actions. GitHub Enterprise Server mostrará los archivos de flujo de trabajo dentro de la sección de gráfica de dependencias de la pestaña **Perspectivas**. Los repositorios que publiquen acciones también podrán ver la cantidad de repositorios que dependen de esa acción desde el control de "Utilizado por" en la página principal del repositorio. Para obtener más información, consulta la sección "[Acerca de la gráfica de dependencias](/code-security/supply-chain-security/understanding-your-software-supply-chain/about-the-dependency-graph)". - **Nota**: Esta característica está disponible en GitHub Enterprise Server 3.5.0, 3.5.1, 3.5.2 y 3.5.3. La característica está disponible en la versión 3.5.4 y posteriores. [Actualizado: 2022-08-16] - heading: El resumen de seguridad para empresas está en beta público notes: diff --git a/translations/es-ES/data/reusables/accounts/create-personal-access-tokens.md b/translations/es-ES/data/reusables/accounts/create-personal-access-tokens.md new file mode 100644 index 0000000000..54e9e2a2ba --- /dev/null +++ b/translations/es-ES/data/reusables/accounts/create-personal-access-tokens.md @@ -0,0 +1 @@ +1. For each of your accounts, create a dedicated PAT with `repo` scope. Para obtener más información, consulta la sección "[Crear un token de acceso personal](/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token)". \ No newline at end of file diff --git a/translations/es-ES/data/reusables/actions/upgrade-runners-before-upgrade-ghes.md b/translations/es-ES/data/reusables/actions/upgrade-runners-before-upgrade-ghes.md index 0650fa54d8..52c9c5e17c 100644 --- a/translations/es-ES/data/reusables/actions/upgrade-runners-before-upgrade-ghes.md +++ b/translations/es-ES/data/reusables/actions/upgrade-runners-before-upgrade-ghes.md @@ -1 +1 @@ -If you use ephemeral runners and have disabled automatic updates, before you upgrade {% data variables.product.product_location %}, you should first upgrade your self-hosted runners to the version of the runner application that your upgraded instance will run. Upgrading {% data variables.product.product_location %} before you upgrade ephemeral runners may result in your runners going offline. Para obtener más información, consulta "[Actualizar {% data variables.product.product_name %}](/admin/enterprise-management/updating-the-virtual-machine-and-physical-resources/upgrading-github-enterprise-server)." +Si utilizas ejecutores efímeros e inhabilitaste las actualizaciones automáticas, antes de que mejores a {% data variables.product.product_location %}, primero debes mejorar tus ejecutores auto-hospedados a la versión de la aplicación ejecutora que ejecutará tu instancias mejorada. El mejorar {% data variables.product.product_location %} antes de que mejores los ejecutores efímeros podría dar como resultado que estos se queden sin conexión. Para obtener más información, consulta "[Actualizar {% data variables.product.product_name %}](/admin/enterprise-management/updating-the-virtual-machine-and-physical-resources/upgrading-github-enterprise-server)." diff --git a/translations/es-ES/data/reusables/actions/use-request-body-api.md b/translations/es-ES/data/reusables/actions/use-request-body-api.md new file mode 100644 index 0000000000..1d37d0c4f0 --- /dev/null +++ b/translations/es-ES/data/reusables/actions/use-request-body-api.md @@ -0,0 +1 @@ +To apply this configuration, submit a request to the API endpoint and include the required configuration in the request body. For more information, see "[Set the customization template for an OIDC subject claim for an organization](/rest/actions/oidc#set-the-customization-template-for-an-oidc-subject-claim-for-an-organization)". \ No newline at end of file diff --git a/translations/es-ES/data/reusables/advanced-security/custom-link-beta.md b/translations/es-ES/data/reusables/advanced-security/custom-link-beta.md new file mode 100644 index 0000000000..a79fc22417 --- /dev/null +++ b/translations/es-ES/data/reusables/advanced-security/custom-link-beta.md @@ -0,0 +1,5 @@ +{% note %} + +**Note:** The ability to add resource links to blocked push messages is currently in public beta and subject to change. + +{% endnote %} \ No newline at end of file diff --git a/translations/es-ES/data/reusables/advanced-security/secret-scanning-push-protection-org.md b/translations/es-ES/data/reusables/advanced-security/secret-scanning-push-protection-org.md index c6e78d4033..1ea6cc5ee7 100644 --- a/translations/es-ES/data/reusables/advanced-security/secret-scanning-push-protection-org.md +++ b/translations/es-ES/data/reusables/advanced-security/secret-scanning-push-protection-org.md @@ -1,2 +1,6 @@ 1. Debajo de "{% data variables.product.prodname_secret_scanning_caps %}" y debajo de "Protección contra subida", haz clic en **Habilitar todo**. ![Captura de pantalla que muestra cómo habilitar la protección de subida para el {% data variables.product.prodname_secret_scanning %} en una organización](/assets/images/help/organizations/secret-scanning-enable-push-protection.png) -1. Opcionalmente, haz clic en "Habilitar automáticamente para los repositorios privados agregados al {% data variables.product.prodname_secret_scanning %}". +1. Optionally, click "Automatically enable for private repositories added to {% data variables.product.prodname_secret_scanning %}."{% ifversion push-protection-custom-link-orgs %} +1. Optionally, to include a custom link in the message that members will see when they attempt to push a secret, select **Add a resource link in the CLI and web UI when a commit is blocked**, then type a URL, and click **Save link**. + {% ifversion push-protection-custom-link-orgs-beta %}{% indented_data_reference reusables.advanced-security.custom-link-beta spaces=3 %}{% endif %} + + ![Screenshot showing checkbox and text field for enabling a custom link](/assets/images/help/organizations/secret-scanning-custom-link.png){% endif %} \ No newline at end of file diff --git a/translations/es-ES/data/reusables/audit_log/audit-log-action-categories.md b/translations/es-ES/data/reusables/audit_log/audit-log-action-categories.md index 95ac8b41f7..a106c4569e 100644 --- a/translations/es-ES/data/reusables/audit_log/audit-log-action-categories.md +++ b/translations/es-ES/data/reusables/audit_log/audit-log-action-categories.md @@ -93,51 +93,51 @@ {%- ifversion fpt or ghec %} | `profile_picture` | Contains activities related to an organization's profile picture. {%- endif %} -| `project` | Contains activities related to project boards. | `project_field` | Contains activities related to field creation and deletion in a project board. | `project_view` | Contains activities related to view creation and deletion in a project board. | `protected_branch` | Contains activities related to protected branches. | `public_key` | Contains activities related to SSH keys and deploy keys. | `pull_request` | Contains activities related to pull requests. | `pull_request_review` | Contains activities related to pull request reviews. | `pull_request_review_comment` | Contains activities related to pull request review comments. | `repo` | Contains activities related to the repositories owned by an organization. +| `project` | Contiene actividades relacionadas con los tableros de proyecto. | `project_field` | Contiene actividades relacionadas con la creación y borrado de campos en un tablero de proyecto. | `project_view` | Contiene actividades relacionadas con ver la creación y el borrado de un tablero de proyecto. | `protected_branch` | Contiene actividades relacionadas con ramas protegidas. | `public_key` | Contiene actividades relacionadas con llaves SSH y llaves de despliegue. | `pull_request` | Contiene actividades relacionadas con solicitudes de cambio. | `pull_request_review` | Contiene actividades relacionadas con revisiones de solicitudes de cambios. | `pull_request_review_comment` | Contiene actividades relacionadas con comentarios de revisión en solicitudes de cambio. | `repo` | Contiene actividades relacionadas con los repositorios que le pertenecen a una organización. {%- ifversion fpt or ghec %} -| `repository_advisory` | Contains repository-level activities related to security advisories in the {% data variables.product.prodname_advisory_database %}. Para obtener más información, consulta la sección "[Acerca de las asesorías de seguridad de {% data variables.product.prodname_dotcom %}](/github/managing-security-vulnerabilities/about-github-security-advisories)". | `repository_content_analysis` | Contains activities related to [enabling or disabling data use for a private repository](/articles/about-github-s-use-of-your-data). | `repository_dependency_graph` | Contains repository-level activities related to enabling or disabling the dependency graph for a {% ifversion fpt or ghec %}private {% endif %}repository. Para obtener más información, consulta la sección "[Acerca de la gráfica de dependencias](/github/visualizing-repository-data-with-graphs/about-the-dependency-graph)". +| `repository_advisory` | Contiene actividades a nivel de repositorio relacionadas con asesorías de seguridad en la {% data variables.product.prodname_advisory_database %}. Para obtener más información, consulta la sección "[Acerca de las asesorías de seguridad de {% data variables.product.prodname_dotcom %}](/github/managing-security-vulnerabilities/about-github-security-advisories)". | `repository_content_analysis` | Contiene actividades relacionadas con [habilitar o inhabilitar el uso de datos para un repositorio privado](/articles/about-github-s-use-of-your-data). | `repository_dependency_graph` | Contiene actividades a nivel de repositorio relacionadas con habilitar o inhabilitar la gráfica de dependencias para un repositorio {% ifversion fpt or ghec %}privado{% endif %}. Para obtener más información, consulta la sección "[Acerca de la gráfica de dependencias](/github/visualizing-repository-data-with-graphs/about-the-dependency-graph)". {%- endif %} -| `repository_image` | Contains activities related to images for a repository. | `repository_invitation` | Contains activities related to invitations to join a repository. | `repository_projects_change` | Contains activities related to enabling projects for a repository or for all repositories in an organization. +| `repository_image` | Contiene actividades relacionadas con imágenes para un repositorio. | `repository_invitation` | Contiene actividades relacionadas con invitaciones para unirse a un repositorio. | `repository_projects_change` | Contiene actividades relacionadas con habilitar proyectos para un repositorio o para todos los repositorios de una organización. {%- ifversion ghec or ghes or ghae %} -| `repository_secret_scanning` | Contains repository-level activities related to secret scanning. Para obtener más información, consulta la sección "[Acerca del escaneo de secretos"](/github/administering-a-repository/about-secret-scanning). +| `repository_secret_scanning` | Contiene actividades a nivel de repositorio relacionadas con el escaneo de secretos. Para obtener más información, consulta la sección "[Acerca del escaneo de secretos"](/github/administering-a-repository/about-secret-scanning). {%- endif %} {%- ifversion secret-scanning-audit-log-custom-patterns %} -| `repository_secret_scanning_custom_pattern` | Contains activities related to secret scanning custom patterns in a repository. Para obtener más información, consulta la sección "[Definir los patrones personalizados para el escaneo de secretos](/code-security/secret-scanning/defining-custom-patterns-for-secret-scanning)". |{% endif %}{% ifversion secret-scanning-audit-log-custom-patterns %}| | `repository_secret_scanning_push_protection` | Contains activities related to secret scanning custom patterns in a repository. Para obtener más información, consulta la sección "[Proteger las subidas de información con el escaneo de secretos](/code-security/secret-scanning/protecting-pushes-with-secret-scanning)". +| `repository_secret_scanning_custom_pattern` | Contiene actividades relacionadas con el escaneo de secretos en patrones personalizados de un repositorio. Para obtener más información, consulta la sección "[Definir los patrones personalizados para el escaneo de secretos](/code-security/secret-scanning/defining-custom-patterns-for-secret-scanning)". |{% endif %}{% ifversion secret-scanning-audit-log-custom-patterns %}| | `repository_secret_scanning_push_protection` | Contiene actividades relacionadas con el escaneo de secretos en patrones personalizados en un repositorio. Para obtener más información, consulta la sección "[Proteger las subidas de información con el escaneo de secretos](/code-security/secret-scanning/protecting-pushes-with-secret-scanning)". {%- endif %} {%- ifversion fpt or ghec %} -| `repository_visibility_change` | Contains activities related to allowing organization members to change repository visibilities for the organization. +| `repository_visibility_change` | Contiene actividades relacionadas con permitir que los miembros de una organización cambien las visibilidades de un repositorio para la organización. {%- endif %} -| `repository_vulnerability_alert` | Contains activities related to [{% data variables.product.prodname_dependabot_alerts %}](/code-security/dependabot/dependabot-alerts/about-dependabot-alerts). +| `repository_vulnerability_alert` | Contiene actividades relacionadas con las [{% data variables.product.prodname_dependabot_alerts %}](/code-security/dependabot/dependabot-alerts/about-dependabot-alerts). {%- ifversion fpt or ghec %} -| `repository_vulnerability_alerts` | Contains repository-level configuration activities for {% data variables.product.prodname_dependabot_alerts %}. | `required_status_check` | Contains activities related to required status checks for protected branches. +| `repository_vulnerability_alerts` | Contiene actividades de configuración a nivel de repositorio para las {% data variables.product.prodname_dependabot_alerts %}. | `required_status_check` | Contiene actividades relacionadas con verificaciones de estado requeridas para las ramas protegidas. {%- endif %} {%- ifversion ghec or ghes %} -| `restrict_notification_delivery` | Contains activities related to the restriction of email notifications to approved or verified domains for an enterprise. +| `restrict_notification_delivery` | Contiene actividades relacionadas con la restricción de notificaciones por correo electrónico para dominios verificados o aprobados para una empresa. {%- endif %} {%- ifversion custom-repository-roles %} -| `role` | Contains activities related to [custom repository roles](/organizations/managing-peoples-access-to-your-organization-with-roles/managing-custom-repository-roles-for-an-organization). +| `role` | Contiene actividades relacionadas con los [roles de repositorio personalizados](/organizations/managing-peoples-access-to-your-organization-with-roles/managing-custom-repository-roles-for-an-organization). {%- endif %} {%- ifversion ghec or ghes or ghae %} -| `secret_scanning` | Contains organization-level configuration activities for secret scanning in existing repositories. Para obtener más información, consulta la sección "[Acerca del escaneo de secretos"](/github/administering-a-repository/about-secret-scanning). | `secret_scanning_new_repos` | Contains organization-level configuration activities for secret scanning for new repositories created in the organization. +| `secret_scanning` | Contiene actividades de configuración a nivel organizacional para el escaneo de secretos en los repositorios existentes. Para obtener más información, consulta la sección "[Acerca del escaneo de secretos"](/github/administering-a-repository/about-secret-scanning). | `secret_scanning_new_repos` | Contiene actividades de configuración a nivel organizacional para el escaneo de secretos para los repositorios nuevos creados en la organización. {%- endif %} {%- ifversion ghec or ghes or ghae %} -| `security_key` | Contains activities related to security keys registration and removal. +| `security_key` | Contiene actividades relacionadas con el registro y eliminación de llaves de seguridad. {%- endif %} {%- ifversion fpt or ghec %} -| `sponsors` | Contains events related to sponsor buttons (see "[Displaying a sponsor button in your repository](/articles/displaying-a-sponsor-button-in-your-repository)"). +| `sponsors` | Contiene eventos relacionados con botones de patrocinio (consulta la sección "[Mostrar un botón de patrocinio en tu repositorio](/articles/displaying-a-sponsor-button-in-your-repository)"). {%- endif %} {%- ifversion ghec or ghes or ghae %} -| `ssh_certificate_authority` | Contains activities related to a SSH certificate authority in an organization or enterprise. | `ssh_certificate_requirement` | Contains activities related to requiring members use SSH certificates to access organization resources. +| `ssh_certificate_authority` | Contiene actividades relacionadas con la autoridad de certificados SSH en una organización o empresa. | `ssh_certificate_requirement` | Contiene actividades relacionadas con requerir que los miembros utilicen certificados SSH para acceder a los recursos de una organización. {%- endif %} -| `staff` | Contains activities related to a site admin performing an action. | `team` | Contains activities related to teams in an organization. | `team_discussions` | Contains activities related to managing team discussions for an organization. +| `staff` | Contiene actividades relacionadas con un administrador de sitio que realiza una acción. | `team` | Contiene actividades relacionadas con los equipos en una organización. | `team_discussions` | Contiene actividades relacionadas con administrar los debates de equipo para una organización. {%- ifversion ghec %} -| `team_sync_tenant` | Contains activities related to team synchronization with an IdP for an enterprise or organization. +| `team_sync_tenant` | Contiene actividades relacionadas con la sincronización de equipo con un IdP para una organización o empresa. {%- endif %} {%- ifversion fpt or ghes %} -| `two_factor_authentication` | Contains activities related to two-factor authentication. +| `two_factor_authentication` | Contiene actividades relacionadas con la autenticación bifactorial. {%- endif %} -| `user` | Contains activities related to users in an enterprise or organization. +| `user` | Contiene actividades relacionadas con los usuarios en una organización o empresa. {%- ifversion ghec or ghes %} -| `user_license` | Contains activities related to a user occupying a licensed seat in, and being a member of, an enterprise. +| `user_license` | Contiene actividades relacionadas con un usuario que ocupa una plaza de licencia en, y es miembro de, una empresa. {%- endif %} -| `workflows` | Contains activities related to {% data variables.product.prodname_actions %} workflows. +| `workflows` | Contiene actividades relacionadas con los flujos de trabajo de {% data variables.product.prodname_actions %}. diff --git a/translations/es-ES/data/reusables/audit_log/audit-log-events-workflows.md b/translations/es-ES/data/reusables/audit_log/audit-log-events-workflows.md index b056200c95..87ae3b4119 100644 --- a/translations/es-ES/data/reusables/audit_log/audit-log-events-workflows.md +++ b/translations/es-ES/data/reusables/audit_log/audit-log-events-workflows.md @@ -1,8 +1,8 @@ | Acción | Descripción | | -------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `workflows.approve_workflow_job` | A workflow job was approved. Para obtener más información, consulta la sección "[Revisar los despliegues](/actions/managing-workflow-runs/reviewing-deployments)". | -| `workflows.cancel_workflow_run` | A workflow run was cancelled. Para obtener más información, consulta "[Cancelar un flujo de trabajo](/actions/managing-workflow-runs/canceling-a-workflow)". | -| `workflows.delete_workflow_run` | A workflow run was deleted. Para obtener más información, consulta la sección "[Borrar una ejecución de flujo de trabajo](/actions/managing-workflow-runs/deleting-a-workflow-run)". | +| `workflows.approve_workflow_job` | Se aprobó un job de flujo de trabajo. Para obtener más información, consulta la sección "[Revisar los despliegues](/actions/managing-workflow-runs/reviewing-deployments)". | +| `workflows.cancel_workflow_run` | Se canceló una ejecución de flujo de trabajo. Para obtener más información, consulta "[Cancelar un flujo de trabajo](/actions/managing-workflow-runs/canceling-a-workflow)". | +| `workflows.delete_workflow_run` | Se borró una ejecución de flujo de trabajo. Para obtener más información, consulta la sección "[Borrar una ejecución de flujo de trabajo](/actions/managing-workflow-runs/deleting-a-workflow-run)". | | `workflows.disable_workflow` | Se inhabilitó un flujo de trabajo. | | `workflows.enable_workflow` | Se habilitó un flujo de trabajo después de que `disable_workflow` lo inhabilitó previamente. | | `workflows.reject_workflow_job` | Se rechazó un job de un flujo de trabajo. Para obtener más información, consulta la sección "[Revisar los despliegues](/actions/managing-workflow-runs/reviewing-deployments)". | diff --git a/translations/es-ES/data/reusables/code-scanning/licensing-note.md b/translations/es-ES/data/reusables/code-scanning/licensing-note.md index ad0ec0192d..ede099e6be 100644 --- a/translations/es-ES/data/reusables/code-scanning/licensing-note.md +++ b/translations/es-ES/data/reusables/code-scanning/licensing-note.md @@ -1,8 +1,12 @@ {% note %} -**Note:** {% ifversion fpt %} -The {% data variables.product.prodname_codeql_cli %} is free to use on public repositories. The {% data variables.product.prodname_codeql_cli %} is also available in private repositories owned by organizations that use {% data variables.product.prodname_ghe_cloud %} and have a license for {% data variables.product.prodname_GH_advanced_security %}. For information, see "[{% data variables.product.product_name %} {% data variables.product.prodname_codeql %} Terms and Conditions](https://securitylab.github.com/tools/codeql/license)" and "[{% data variables.product.prodname_codeql %} CLI](https://codeql.github.com/docs/codeql-cli/)." -{%- elsif ghec %} The {% data variables.product.prodname_codeql_cli %} is free to use on public repositories that are maintained on {% data variables.product.prodname_dotcom_the_website %}, and available to use on private repositories that are owned by customers with an {% data variables.product.prodname_advanced_security %} license. For information, see "[{% data variables.product.product_name %} {% data variables.product.prodname_codeql %} Terms and Conditions](https://securitylab.github.com/tools/codeql/license)" and "[{% data variables.product.prodname_codeql %} CLI](https://codeql.github.com/docs/codeql-cli/)." -{%- elsif ghes or ghae %}The {% data variables.product.prodname_codeql_cli %} is available to customers with an {% data variables.product.prodname_advanced_security %} license. +**Notes:** {% ifversion fpt %} +- The {% data variables.product.prodname_codeql_cli %} is free to use on public repositories. The {% data variables.product.prodname_codeql_cli %} is also available in private repositories owned by organizations that use {% data variables.product.prodname_ghe_cloud %} and have a license for {% data variables.product.prodname_GH_advanced_security %}. For information, see "[{% data variables.product.product_name %} {% data variables.product.prodname_codeql %} Terms and Conditions](https://securitylab.github.com/tools/codeql/license)" and "[{% data variables.product.prodname_codeql %} CLI](https://codeql.github.com/docs/codeql-cli/)." +{%- elsif ghec %} +- The {% data variables.product.prodname_codeql_cli %} is free to use on public repositories that are maintained on {% data variables.product.prodname_dotcom_the_website %}, and available to use on private repositories that are owned by customers with an {% data variables.product.prodname_advanced_security %} license. For information, see "[{% data variables.product.product_name %} {% data variables.product.prodname_codeql %} Terms and Conditions](https://securitylab.github.com/tools/codeql/license)" and "[{% data variables.product.prodname_codeql %} CLI](https://codeql.github.com/docs/codeql-cli/)." +{%- elsif ghes or ghae %} +- The {% data variables.product.prodname_codeql_cli %} is available to customers with an {% data variables.product.prodname_advanced_security %} license. {% endif %} +- {% data reusables.code-scanning.non-glibc-linux-support %} + {% endnote %} diff --git a/translations/es-ES/data/reusables/code-scanning/non-glibc-linux-support.md b/translations/es-ES/data/reusables/code-scanning/non-glibc-linux-support.md new file mode 100644 index 0000000000..2a1c2a8e53 --- /dev/null +++ b/translations/es-ES/data/reusables/code-scanning/non-glibc-linux-support.md @@ -0,0 +1 @@ +The {% data variables.product.prodname_codeql_cli %} is currently not compatible with non-glibc Linux distributions such as (musl-based) Alpine Linux. \ No newline at end of file diff --git a/translations/es-ES/data/reusables/codespaces/click-remote-explorer-icon-vscode.md b/translations/es-ES/data/reusables/codespaces/click-remote-explorer-icon-vscode.md index 0a1e685eb9..bc6e803d41 100644 --- a/translations/es-ES/data/reusables/codespaces/click-remote-explorer-icon-vscode.md +++ b/translations/es-ES/data/reusables/codespaces/click-remote-explorer-icon-vscode.md @@ -1 +1,5 @@ -1. En {% data variables.product.prodname_vscode_shortname %}, en la barra lateral izquierda, da clic en el icono de Explorador Remoto. ![El icono de explorador remoto en {% data variables.product.prodname_vscode %}](/assets/images/help/codespaces/click-remote-explorer-icon-vscode.png) +1. En {% data variables.product.prodname_vscode_shortname %}, en la barra lateral izquierda, da clic en el icono de Explorador Remoto. + + ![El icono de explorador remoto en {% data variables.product.prodname_vscode %}](/assets/images/help/codespaces/click-remote-explorer-icon-vscode.png) + +{% indented_data_reference reusables.codespaces.remote-explorer spaces=3 %} \ No newline at end of file diff --git a/translations/es-ES/data/reusables/codespaces/codespaces-disabling-org-billing.md b/translations/es-ES/data/reusables/codespaces/codespaces-disabling-org-billing.md new file mode 100644 index 0000000000..a3d7ca0c7a --- /dev/null +++ b/translations/es-ES/data/reusables/codespaces/codespaces-disabling-org-billing.md @@ -0,0 +1,5 @@ +{% note %} + +**Note**: If you disable billable codespaces use for your organization, anyone who can create codespaces as an individual user, and can clone a repository in your organization, will still be able to create a codespace for that repository. However, this will not incur any charge for your organization. For information about restricting access to a repository, see "[Managing teams and people with access to your repository](/repositories/managing-your-repositorys-settings-and-features/managing-repository-settings/managing-teams-and-people-with-access-to-your-repository)." + +{% endnote %} \ No newline at end of file diff --git a/translations/es-ES/data/reusables/codespaces/codespaces-org-policies-note.md b/translations/es-ES/data/reusables/codespaces/codespaces-org-policies-note.md new file mode 100644 index 0000000000..69e6530791 --- /dev/null +++ b/translations/es-ES/data/reusables/codespaces/codespaces-org-policies-note.md @@ -0,0 +1,5 @@ +{% note %} + +**Note**: Organization policies you define for {% data variables.product.prodname_codespaces %} only apply to codespaces for which your organization will be billed. If an individual user creates a codespace for a repository in your organization, and the organization is not billed, then the codespace will not be bound by these policies. For information on how to choose who can create codespaces that are billed to your organization, see "[Enabling {% data variables.product.prodname_github_codespaces %} for your organization](https://docs-internal-29134-ad7bd8.preview.ghdocs.com/en/codespaces/managing-codespaces-for-your-organization/enabling-github-codespaces-for-your-organization#choose-who-can-create-codespaces-that-are-billed-to-your-organization)." + +{% endnote %} \ No newline at end of file diff --git a/translations/es-ES/data/reusables/codespaces/codespaces-spending-limit-requirement.md b/translations/es-ES/data/reusables/codespaces/codespaces-spending-limit-requirement.md index 9ade0dcdaa..dafde78fca 100644 --- a/translations/es-ES/data/reusables/codespaces/codespaces-spending-limit-requirement.md +++ b/translations/es-ES/data/reusables/codespaces/codespaces-spending-limit-requirement.md @@ -1,9 +1,9 @@ {% note %} -**Nota:** Debes configurar un límite de gastos antes de pode utilizar {% data variables.product.prodname_codespaces %}. +**Nota:** Debes configurar un límite de gastos diferente a cero antes de poder utilizar {% data variables.product.prodname_codespaces %}. {% endnote %} -Predeterminadamente, tu organización o empresa tendrá un límite de gastos de {% data variables.product.prodname_github_codespaces %} de $0, lo cual previene que se creen codespaces nuevos o que se abran los existentes. Para permitir que tus usuarios creen codespaces en tu organización, configura el límite a un valor mayor a $0. +Predeterminadamente, tu organización o empresa tendrá un límite de gastos de {% data variables.product.prodname_github_codespaces %} igual a $0. Esto previene que se creen codespaces nuevos o que los existentes se abran en caso de que esto incurra en un costo facturable para tu organización o empresa. Para permitir que tus usuarios creen codespaces en tu organización, configura el límite a un valor mayor a $0. {% data reusables.billing.overages-billed-monthly %} diff --git a/translations/es-ES/data/reusables/codespaces/remote-explorer.md b/translations/es-ES/data/reusables/codespaces/remote-explorer.md new file mode 100644 index 0000000000..c46ed9b539 --- /dev/null +++ b/translations/es-ES/data/reusables/codespaces/remote-explorer.md @@ -0,0 +1,9 @@ +{% note %} + +**Note**: If the Remote Explorer is not displayed in the Activity Bar: + +1. Access the command palette. For example, by pressing Shift+Command+P (Mac) / Ctrl+Shift+P (Windows/Linux). +1. Type: `codespaces`. +1. Click **Codespaces: Details**. + +{% endnote %} diff --git a/translations/es-ES/data/reusables/dependency-review/dependency-review-action-beta-note.md b/translations/es-ES/data/reusables/dependency-review/dependency-review-action-beta-note.md index 01b1e2f260..7ad0e01dee 100644 --- a/translations/es-ES/data/reusables/dependency-review/dependency-review-action-beta-note.md +++ b/translations/es-ES/data/reusables/dependency-review/dependency-review-action-beta-note.md @@ -1,5 +1,5 @@ {% note %} -**Note**: The {% data variables.product.prodname_dependency_review_action %} is currently in public beta and subject to change. +**Note**: La {% data variables.product.prodname_dependency_review_action %} se encuentra actualmente en beta público y está sujeta a cambios. {% endnote %} diff --git a/translations/es-ES/data/reusables/dependency-review/dependency-review-api-beta-note.md b/translations/es-ES/data/reusables/dependency-review/dependency-review-api-beta-note.md index 73ee2bb66a..c1286ecc93 100644 --- a/translations/es-ES/data/reusables/dependency-review/dependency-review-api-beta-note.md +++ b/translations/es-ES/data/reusables/dependency-review/dependency-review-api-beta-note.md @@ -1,5 +1,5 @@ {% note %} -**Note**: The Dependency Review API is currently in public beta and subject to change. +**Note**: La API de revisión de dependencias se encuentra actualmente en beta público y está sujeta a cambios. {% endnote %} diff --git a/translations/es-ES/data/reusables/desktop/sign-in-browser.md b/translations/es-ES/data/reusables/desktop/sign-in-browser.md index 50cdbc9634..0cd9b0bebc 100644 --- a/translations/es-ES/data/reusables/desktop/sign-in-browser.md +++ b/translations/es-ES/data/reusables/desktop/sign-in-browser.md @@ -1 +1 @@ -1. In the "Sign in Using Your Browser" pane, click **Continue With Browser**. {% data variables.product.prodname_desktop %} abrirá tu buscador predeterminado. ![Inicio de sesión mediante el enlace de su navegador](/assets/images/help/desktop/sign-in-browser.png) +1. En el panel de "Inicia sesión utilizando tu buscador", haz clic en **Continuar con el buscador**. {% data variables.product.prodname_desktop %} abrirá tu buscador predeterminado. ![Inicio de sesión mediante el enlace de su navegador](/assets/images/help/desktop/sign-in-browser.png) diff --git a/translations/es-ES/data/reusables/enterprise-accounts/repo-creation-policy.md b/translations/es-ES/data/reusables/enterprise-accounts/repo-creation-policy.md index a39d234056..753cfb7784 100644 --- a/translations/es-ES/data/reusables/enterprise-accounts/repo-creation-policy.md +++ b/translations/es-ES/data/reusables/enterprise-accounts/repo-creation-policy.md @@ -1 +1,6 @@ -1. Debajo de "Repository creation" (Creación de repositorios), selecciona una política. ![Menú desplegable con opciones de políticas de creación de repositorios](/assets/images/help/business-accounts/repository-creation-policy-drop-down.png) +1. Debajo de "Repository creation" (Creación de repositorios), selecciona una política. + {% ifversion enterprise-namespace-repo-setting %} + ![Menú desplegable con opciones de políticas de creación de repositorios](/assets/images/help/business-accounts/restrict-personal-namespace-setting.png) + {% else %} + ![Menú desplegable con opciones de políticas de creación de repositorios](/assets/images/help/business-accounts/repository-creation-policy-drop-down.png) + {% endif %} diff --git a/translations/es-ES/data/reusables/enterprise-accounts/repository-visibility-policy.md b/translations/es-ES/data/reusables/enterprise-accounts/repository-visibility-policy.md deleted file mode 100644 index 16eee6509a..0000000000 --- a/translations/es-ES/data/reusables/enterprise-accounts/repository-visibility-policy.md +++ /dev/null @@ -1 +0,0 @@ -1. Debajo de "Repository visibility change" (Cambio de visibilidad de repositorios), usa el menú desplegable y elige una política. ![Menú desplegable con opciones de políticas de visibilidad de repositorios](/assets/images/help/business-accounts/repository-visibility-policy-drop-down.png) diff --git a/translations/es-ES/data/reusables/enterprise-accounts/security-tab.md b/translations/es-ES/data/reusables/enterprise-accounts/security-tab.md index 40001f464a..dd0e1e0c56 100644 --- a/translations/es-ES/data/reusables/enterprise-accounts/security-tab.md +++ b/translations/es-ES/data/reusables/enterprise-accounts/security-tab.md @@ -1,2 +1,7 @@ +{%- ifversion ghec or ghes > 3.4 or ghae-issue-7875 %} +1. En la barra lateral izquierda, haz clic en **Seguridad de autenticación**. + {% ifversion ghae %}![Security tab in the enterprise account settings sidebar](/assets/images/enterprise/github-ae/enterprise-account-settings-authentication-security-tab.png){% else %}![Security tab in the enterprise account settings sidebar](/assets/images/help/business-accounts/enterprise-account-settings-authentication-security-tab.png){% endif %} +{%- else %} 1. En la barra lateral izquierda, haz clic en **Security** (Seguridad). {% ifversion ghae %}![Security tab in the enterprise account settings sidebar](/assets/images/enterprise/github-ae/enterprise-account-settings-security-tab.png){% else %}![Security tab in the enterprise account settings sidebar](/assets/images/help/business-accounts/enterprise-account-settings-security-tab.png){% endif %} +{%- endif %} \ No newline at end of file diff --git a/translations/es-ES/data/reusables/gated-features/dependency-vulnerable-calls.md b/translations/es-ES/data/reusables/gated-features/dependency-vulnerable-calls.md index 1f6773128e..2608c16d56 100644 --- a/translations/es-ES/data/reusables/gated-features/dependency-vulnerable-calls.md +++ b/translations/es-ES/data/reusables/gated-features/dependency-vulnerable-calls.md @@ -1,11 +1,11 @@ {%- ifversion fpt %} -Detection of vulnerable calls is enabled on public repositories. This analysis is also available in private repositories owned by organizations that use {% data variables.product.prodname_ghe_cloud %} and have licensed {% data variables.product.prodname_GH_advanced_security %}. +Detection of vulnerable calls is enabled on public repositories. Este análisis también está disponible en repositorios privados que le pertenezcan a las organizaciones que utilizan {% data variables.product.prodname_ghe_cloud %} y que tienen {% data variables.product.prodname_GH_advanced_security %} con licencia. {%- elsif ghec %} -Detection of vulnerable calls is included in {% data variables.product.product_name %} for public repositories. To detect vulnerable calls in private repositories owned by organizations, your organization must have a license for {% data variables.product.prodname_GH_advanced_security %}. +La detección de llamadas vulnerables se incluye en {% data variables.product.product_name %} para repositorios públicos. Para detectar llamadas vulnerables en repositorios privados que le pertenecen a las organizaciones, tu organización debe tener una licencia para {% data variables.product.prodname_GH_advanced_security %}. {%- elsif ghes > 3.5 %} -Detection of vulnerable calls is available for organization-owned repositories in {% data variables.product.product_name %}. Esta característica requiere una licencia para la {% data variables.product.prodname_GH_advanced_security %}. +La detección de llamadas vulnerables está disponible para los repositorios que pertenecen a organizaciones de {% data variables.product.product_name %}. Esta característica requiere una licencia para la {% data variables.product.prodname_GH_advanced_security %}. {%- elsif ghae-issue-6076 %} La detección de llamadas vulnerables está disponible para los repositorios que pertenecen a organizaciones de {% data variables.product.product_name %}. Esta es una característica de la {% data variables.product.prodname_GH_advanced_security %} (gratuita durante el lanzamiento beta). diff --git a/translations/es-ES/data/reusables/git/cache-on-repository-path.md b/translations/es-ES/data/reusables/git/cache-on-repository-path.md new file mode 100644 index 0000000000..ced81ebbd9 --- /dev/null +++ b/translations/es-ES/data/reusables/git/cache-on-repository-path.md @@ -0,0 +1,5 @@ +1. To configure Git to cache credentials for each local directory where you clone a repository, enter the following command. + + ```shell{:copy} + git config --global credential.useHttpPath true + ``` diff --git a/translations/es-ES/data/reusables/git/clear-stored-gcm-credentials.md b/translations/es-ES/data/reusables/git/clear-stored-gcm-credentials.md new file mode 100644 index 0000000000..04e3de748e --- /dev/null +++ b/translations/es-ES/data/reusables/git/clear-stored-gcm-credentials.md @@ -0,0 +1,5 @@ +- If the output is `manager-core`, you're using Git Credential Manager. To clear the credentials, run the following command. + + ```shell{:copy} + git credential-manager reject https://github.com + ``` diff --git a/translations/es-ES/data/reusables/git/clear-the-stored-credentials.md b/translations/es-ES/data/reusables/git/clear-the-stored-credentials.md new file mode 100644 index 0000000000..f723d7ab97 --- /dev/null +++ b/translations/es-ES/data/reusables/git/clear-the-stored-credentials.md @@ -0,0 +1 @@ +1. If the output confirms that you're using a credential manager, clear the stored credentials for the credential manager. diff --git a/translations/es-ES/data/reusables/git/confirm-credential-manager.md b/translations/es-ES/data/reusables/git/confirm-credential-manager.md new file mode 100644 index 0000000000..68c6e99397 --- /dev/null +++ b/translations/es-ES/data/reusables/git/confirm-credential-manager.md @@ -0,0 +1,5 @@ +1. To confirm your use of a credential manager, enter the following command and note the output. + + ```shell{:copy} + git config --get credential.helper + ``` diff --git a/translations/es-ES/data/reusables/git/no-credential-manager.md b/translations/es-ES/data/reusables/git/no-credential-manager.md new file mode 100644 index 0000000000..fe79c2ff04 --- /dev/null +++ b/translations/es-ES/data/reusables/git/no-credential-manager.md @@ -0,0 +1 @@ +- If the output doesn't include the name of a credential manager, there is no credential manager configured, and you can proceed to the next step. \ No newline at end of file diff --git a/translations/es-ES/data/reusables/git/open-terminal.md b/translations/es-ES/data/reusables/git/open-terminal.md new file mode 100644 index 0000000000..f6d095397c --- /dev/null +++ b/translations/es-ES/data/reusables/git/open-terminal.md @@ -0,0 +1 @@ +1. Abre Terminal. diff --git a/translations/es-ES/data/reusables/git/provide-credentials.md b/translations/es-ES/data/reusables/git/provide-credentials.md new file mode 100644 index 0000000000..351a1e87d1 --- /dev/null +++ b/translations/es-ES/data/reusables/git/provide-credentials.md @@ -0,0 +1,3 @@ +1. The first time that you use Git to clone a repository or access data in a repository that you've already cloned, Git will request credentials. Provide the PAT for the account with access to the repository. + + Git will cache the PAT for the directory you're in, and you'll be able to access and write repository data on {% data variables.product.product_location %} using the correct account. diff --git a/translations/es-ES/data/reusables/gpg/configure-ssh-signing.md b/translations/es-ES/data/reusables/gpg/configure-ssh-signing.md new file mode 100644 index 0000000000..f0f489a73a --- /dev/null +++ b/translations/es-ES/data/reusables/gpg/configure-ssh-signing.md @@ -0,0 +1,4 @@ +1. Configure Git to use SSH to sign commits and tags: + ```bash + $ git config --global gpg.format ssh + ``` \ No newline at end of file diff --git a/translations/es-ES/data/reusables/gpg/copy-ssh-public-key.md b/translations/es-ES/data/reusables/gpg/copy-ssh-public-key.md new file mode 100644 index 0000000000..36b53fd808 --- /dev/null +++ b/translations/es-ES/data/reusables/gpg/copy-ssh-public-key.md @@ -0,0 +1,43 @@ +1. Copia la llave SSH pública a tu portapapeles. + + Si tu archivo de llave SSH pública tiene un nombre diferente que en el código de ejemplo, modifica el nombre de archivo para que coincida con tu configuración actual. Al copiar tu clave, no agregues líneas nuevas o espacios en blanco. +{% mac %} + + ```shell + $ pbcopy < ~/.ssh/id_{% ifversion ghae %}rsa{% else %}ed25519{% endif %}.pub + # Copies the contents of the id_{% ifversion ghae %}rsa{% else %}ed25519{% endif %}.pub file to your clipboard + ``` + + {% tip %} + + **Sugerencia:** Si `pbcopy` no está funcionando, puedes ubicar la carpeta `.ssh` oculta, abrir el archivo en tu editor de texto favorito, y copiarlo en tu portapapeles. + + {% endtip %} +{% endmac %} +{% windows %} + + ```shell + $ clip < ~/.ssh/id_{% ifversion ghae %}rsa{% else %}ed25519{% endif %}.pub + # Copies the contents of the id_{% ifversion ghae %}rsa{% else %}ed25519{% endif %}.pub file to your clipboard + ``` + + {% tip %} + + **Sugerencia:** Si `clip` no está funcionando, puedes ubicar la carpeta `.shh` oculta, abrir el archivo en tu editor de texto favorito, y copiarlo en tu portapapeles. + + {% endtip %} +{% endwindows %} +{% linux %} + + ```shell + $ cat ~/.ssh/id_{% ifversion ghae %}rsa{% else %}ed25519{% endif %}.pub + # Then select and copy the contents of the id_{% ifversion ghae %}rsa{% else %}ed25519{% endif %}.pub file + # displayed in the terminal to your clipboard + ``` + + {% tip %} + + **Tip:** Como alternativa, puedes ubicar la carpeta `.ssh` oculta, abrir el archivo en tu editor de texto favorito y copiarlo a tu portapapeles. + + {% endtip %} +{% endlinux %} diff --git a/translations/es-ES/data/reusables/gpg/paste-ssh-public-key.md b/translations/es-ES/data/reusables/gpg/paste-ssh-public-key.md new file mode 100644 index 0000000000..1274a0acb5 --- /dev/null +++ b/translations/es-ES/data/reusables/gpg/paste-ssh-public-key.md @@ -0,0 +1,4 @@ +1. To set your SSH signing key in Git, paste the text below, substituting the contents of your clipboard for the key you'd like to use. Since the key contains spaces, you must wrap it in quotes: + ```bash + $ git config --global user.signingkey 'ssh-ed25519 AAAAC3(...) user@example.com' + ``` \ No newline at end of file diff --git a/translations/es-ES/data/reusables/gpg/ssh-git-version.md b/translations/es-ES/data/reusables/gpg/ssh-git-version.md new file mode 100644 index 0000000000..aea08195e9 --- /dev/null +++ b/translations/es-ES/data/reusables/gpg/ssh-git-version.md @@ -0,0 +1,6 @@ + +{% note %} + +**Note:** SSH signature verification is available in Git 2.34 or later. Para actualizar tu versiíon de Git, consulta el sitio web de [Git](https://git-scm.com/downloads). + +{% endnote %} diff --git a/translations/es-ES/data/reusables/gpg/x-509-key.md b/translations/es-ES/data/reusables/gpg/x-509-key.md index 5965862c30..a87d0e6827 100644 --- a/translations/es-ES/data/reusables/gpg/x-509-key.md +++ b/translations/es-ES/data/reusables/gpg/x-509-key.md @@ -1,5 +1,5 @@ -### Informarle a Git acerca de tu llave X.509 +## Informarle a Git acerca de tu llave X.509 Puedes usar [smimesign](https://github.com/github/smimesign) para firmar confirmaciones y etiquetas utilizando S/MIME en lugar de GPG. diff --git a/translations/es-ES/data/reusables/identity-and-permissions/about-adding-ip-allow-list-entries.md b/translations/es-ES/data/reusables/identity-and-permissions/about-adding-ip-allow-list-entries.md new file mode 100644 index 0000000000..772581f87a --- /dev/null +++ b/translations/es-ES/data/reusables/identity-and-permissions/about-adding-ip-allow-list-entries.md @@ -0,0 +1,3 @@ +You can create an IP allow list by adding entries that each contain an IP address or address range.{% ifversion ip-allow-list-address-check %} After you finish adding entries, you can check whether a particular IP address would be allowed by any of the enabled entries in your list.{% endif %} + +Before the list restricts access to {% ifversion ghae %}your enterprise{% else %}private assets owned by organizations in your enterprise{% endif %}, you must also enable allowed IP addresses. \ No newline at end of file diff --git a/translations/es-ES/data/reusables/identity-and-permissions/about-checking-ip-address.md b/translations/es-ES/data/reusables/identity-and-permissions/about-checking-ip-address.md new file mode 100644 index 0000000000..dfdc758f91 --- /dev/null +++ b/translations/es-ES/data/reusables/identity-and-permissions/about-checking-ip-address.md @@ -0,0 +1 @@ +You can check whether a particular IP address would be allowed by any of the enabled entries in your IP allow list, even if the list is not currently enabled. \ No newline at end of file diff --git a/translations/es-ES/data/reusables/identity-and-permissions/about-editing-ip-allow-list-entries.md b/translations/es-ES/data/reusables/identity-and-permissions/about-editing-ip-allow-list-entries.md new file mode 100644 index 0000000000..d646e02ec5 --- /dev/null +++ b/translations/es-ES/data/reusables/identity-and-permissions/about-editing-ip-allow-list-entries.md @@ -0,0 +1,5 @@ +You can edit an entry in your IP allow list. If you edit an enabled entry, changes are enforced immediately. + +{% ifversion ip-allow-list-address-check %} +After you finish editing entries, you can check whether a particular IP address would be allowed by any of the enabled entries in your list. +{% endif %} \ No newline at end of file diff --git a/translations/es-ES/data/reusables/identity-and-permissions/about-enabling-allowed-ip-addresses.md b/translations/es-ES/data/reusables/identity-and-permissions/about-enabling-allowed-ip-addresses.md new file mode 100644 index 0000000000..f886df0690 --- /dev/null +++ b/translations/es-ES/data/reusables/identity-and-permissions/about-enabling-allowed-ip-addresses.md @@ -0,0 +1,5 @@ +After you create an IP allow list, you can enable allowed IP addresses. When you enable allowed IP addresses, {% data variables.product.company_short %} immediately enforces any enabled entries in your IP allow list. + +{% ifversion ip-allow-list-address-check %} +Before you enable allowed IP addresses, you can check whether a particular IP address would be allowed by any of the enabled entries in your list. For more information, see "[Checking if an IP address is permitted](#checking-if-an-ip-address-is-permitted)." +{% endif %} \ No newline at end of file diff --git a/translations/es-ES/data/reusables/identity-and-permissions/check-ip-address-step.md b/translations/es-ES/data/reusables/identity-and-permissions/check-ip-address-step.md new file mode 100644 index 0000000000..5e73fdddcd --- /dev/null +++ b/translations/es-ES/data/reusables/identity-and-permissions/check-ip-address-step.md @@ -0,0 +1 @@ +1. Under "Check your IP address", enter an IP address. ![Screenshot of the "Check IP address" text field](/assets/images/help/security/check-ip-address.png) \ No newline at end of file diff --git a/translations/es-ES/data/reusables/identity-and-permissions/check-ip-address.md b/translations/es-ES/data/reusables/identity-and-permissions/check-ip-address.md new file mode 100644 index 0000000000..9a187752d6 --- /dev/null +++ b/translations/es-ES/data/reusables/identity-and-permissions/check-ip-address.md @@ -0,0 +1,3 @@ +{%- ifversion ip-allow-list-address-check %} +1. Optionally, check if a particular IP address would be allowed by any of the enabled entries in your list. For more information, see "[Checking if an IP address is permitted](#checking-if-an-ip-address-is-permitted)." +{%- endif %} \ No newline at end of file diff --git a/translations/es-ES/data/reusables/identity-and-permissions/ip-allow-lists-enable.md b/translations/es-ES/data/reusables/identity-and-permissions/ip-allow-lists-enable.md index e236790aec..65f0446fcc 100644 --- a/translations/es-ES/data/reusables/identity-and-permissions/ip-allow-lists-enable.md +++ b/translations/es-ES/data/reusables/identity-and-permissions/ip-allow-lists-enable.md @@ -1 +1,3 @@ -Para aplicar la lista de IP permitidas, primero debes agregar direcciones a la lista, y después habilitarla. Debes agregar tu dirección IP actual o un rango coincidente antes de habilitar la lista de permisos de IP. +Para requerir la lista de direcciones IP permitidas, primero debes agregar direcciones IP a ella y luego habilitarla.{% ifversion ip-allow-list-address-check %} Después de que completes tu lista, puedes verificar si una dirección IP en particular estaría permitida en cualquiera de las entradas habilitadas en dicha lista.{% endif %} + +Debes agregar tu dirección IP actual o un rango coincidente antes de habilitar la lista de permisos de IP. diff --git a/translations/es-ES/data/reusables/secret-scanning/push-protection-web-ui-choice.md b/translations/es-ES/data/reusables/secret-scanning/push-protection-web-ui-choice.md index 4713a971bb..6c63eaf13f 100644 --- a/translations/es-ES/data/reusables/secret-scanning/push-protection-web-ui-choice.md +++ b/translations/es-ES/data/reusables/secret-scanning/push-protection-web-ui-choice.md @@ -2,5 +2,12 @@ Cuando utilizas la IU web para intentar confirmar un secreto compatible en un re Puedes ver un letrero en la parte superior de la página con información sobre la ubicación del secreto y este también se subrayará en el archivo para que lo puedas encontrar con facilidad. +{% ifversion push-protection-custom-link-orgs %} + + ![Captura de pantalla que muestra una confirmación bloqueada en la IU web debido a la protección contra subidas del escaneo de secretos](/assets/images/help/repository/secret-scanning-push-protection-web-ui-commit-blocked-banner-with-link.png) + +{% else %} + ![Captura de pantalla que muestra una confirmación bloqueada en la IU web debido a la protección contra subidas del escaneo de secretos](/assets/images/help/repository/secret-scanning-push-protection-web-ui-commit-blocked-banner.png) - \ No newline at end of file + +{% endif %} \ No newline at end of file diff --git a/translations/es-ES/data/reusables/webhooks/pull_request_review_thread_short_desc.md b/translations/es-ES/data/reusables/webhooks/pull_request_review_thread_short_desc.md index d0496c2448..09e843def9 100644 --- a/translations/es-ES/data/reusables/webhooks/pull_request_review_thread_short_desc.md +++ b/translations/es-ES/data/reusables/webhooks/pull_request_review_thread_short_desc.md @@ -1 +1 @@ -Activity related to a comment thread on a pull request being marked as resolved or unresolved. {% data reusables.webhooks.action_type_desc %} +Actividad relacionada con un hilo de comentarios en una solicitud de cambios que se marcó como resuelta o no resuelta. {% data reusables.webhooks.action_type_desc %} diff --git a/translations/es-ES/data/reusables/webhooks/pull_request_thread_properties.md b/translations/es-ES/data/reusables/webhooks/pull_request_thread_properties.md index c851f14289..f4acfb40fe 100644 --- a/translations/es-ES/data/reusables/webhooks/pull_request_thread_properties.md +++ b/translations/es-ES/data/reusables/webhooks/pull_request_thread_properties.md @@ -1,5 +1,5 @@ | Clave | Tipo | Descripción | | ---------------------- | ----------- | ----------------------------------------------------------------------------------- | -| `Acción` | `secuencia` | La acción que se realizó. Puede ser una de las siguientes:
  • `resolved` - A comment thread on a pull request was marked as resolved.
  • `unresolved` - A previously resolved comment thread on a pull request was marked as unresolved.
| -| `solicitud_extracción` | `objeto` | The [pull request](/rest/reference/pulls) the thread pertains to. | -| `hilo` | `objeto` | The thread that was affected. | +| `Acción` | `secuencia` | La acción que se realizó. Puede ser una de las siguientes:
  • `resolved` - Un hilo de comentarios en una solicitud de cambios se marcó como resuelto.
  • `unresolved` - Un hilo de comentarios previamente resueltos en una solicitud de cambios se marcó como no resuelta.
| +| `solicitud_extracción` | `objeto` | La [solicitud de cmabios](/rest/reference/pulls) a la cual pertenece el hilo. | +| `hilo` | `objeto` | El hilo que se afectó. | diff --git a/translations/log/es-resets.csv b/translations/log/es-resets.csv index 3de1dfc675..d561a0b00f 100644 --- a/translations/log/es-resets.csv +++ b/translations/log/es-resets.csv @@ -293,6 +293,7 @@ translations/es-ES/content/repositories/working-with-files/managing-large-files/ translations/es-ES/content/rest/activity/events.md,broken liquid tags translations/es-ES/content/rest/enterprise-admin/index.md,broken liquid tags translations/es-ES/content/rest/overview/other-authentication-methods.md,Listed in localization-support#489 +translations/es-ES/content/rest/secret-scanning.md,broken liquid tags translations/es-ES/content/search-github/searching-on-github/searching-code.md,Listed in localization-support#489 translations/es-ES/content/search-github/searching-on-github/searching-commits.md,Listed in localization-support#489 translations/es-ES/content/search-github/searching-on-github/searching-in-forks.md,Listed in localization-support#489